-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Azure Pipelines configuration #60777
Merged
Merged
Changes from 45 commits
Commits
Show all changes
59 commits
Select commit
Hold shift + click to select a range
699376a
Add Azure Pipelines
johnterickson e234a90
Disable 32-bit OSX
johnterickson c50517a
ci: reduce all azure timeouts to 3 hours
pietroalbini abd4b3a
ci: remove travis ipv6 docker hack on azure
pietroalbini 869ddd8
ci: still use aws for caches
pietroalbini 7dfd8ce
ci: remove fanout from the azure pipelines config
pietroalbini aab0bb4
ci: merge the i1686-gnu images
pietroalbini 94f7660
ci: re-enable fds-are-cloexec test on macOS
pietroalbini 06bc0da
ci: remove test configuration
pietroalbini 5db55e6
ci: disable toolstate commits on azure
pietroalbini da94978
ci: remove trailing whitespaces from azure config
pietroalbini 694ea76
ci: remove links to johnterickson repo
pietroalbini 807b7dd
ci: disable builders not useful during the evaluation
pietroalbini 4965ffd
Update src/bootstrap/util.rs
pietroalbini 92bf1e6
ci: update azure variable groups
pietroalbini 30b008f
ci: remove stray echo
pietroalbini bf639a1
ci: remove outdated comment
pietroalbini a89e8d2
ci: remove yet another outdated comment
pietroalbini f23c1ba
ci: use ##vso[task.prependpath] on azure
pietroalbini d27cb82
ci: add an image for dist-x86_64-linux try on azure
pietroalbini 9f37b3a
ci: deploy artifacts on azure
pietroalbini 79d28c2
Don't bother with `stamp` utility
alexcrichton 1be9fe6
Refactor azure pipelines configuration
alexcrichton 4183f3c
Configure a few more builders on `try` temporarily
alexcrichton 91b1655
Remove a now stray file
alexcrichton 528cce9
Job name config works for all platforms
alexcrichton 7b266ff
Fix a typo in clang install
alexcrichton 804ec5f
Execute `docker/run.sh` on Linux
alexcrichton fa8d3b5
Fix a typo in the run script
alexcrichton 0843207
Make sure sccache not present doesn't kill the build
alexcrichton 751597f
Check out rustfmt submodule through tarballs
alexcrichton 9b8af06
Manually install AWS CLI
alexcrichton 12f3701
Only execute conditional steps on success
alexcrichton 9843a79
Finalize AWS install
alexcrichton e6830c1
Merge pull request #2 from alexcrichton/azure-pipelines
pietroalbini 1daab47
ci: temp increase of the timeout to 10 hours
pietroalbini 67db230
ci: fix tidy
pietroalbini d2304e1
ci: increase timeout, take 2
pietroalbini 0e5f02f
Fix typo in key configuration
alexcrichton 571366f
Attempt to enable IPv6 for Linux
alexcrichton a83250d
Update upload logic to upload right directory
alexcrichton ebdc36e
Re-enable hack for Windows builds to see if it works
alexcrichton 55108b3
Run a full build on `try` temporarily
alexcrichton e8f0e70
Typos
alexcrichton a225551
Only run Window script on Windows
alexcrichton 7b7e172
Place timeouts at the job level
alexcrichton 0f4b546
Go back to fewer builders to test on `try`
alexcrichton 8d42b87
Use new-style s3 urls in docker download script
alexcrichton 190d198
ci: switch to xcode 9.3 on azure
pietroalbini beea4f5
Execute everything!
alexcrichton 78965f4
Use xcode 9.3 on all osx builders
alexcrichton e764f47
Disable solaris target since toolchain no longer builds
alexcrichton fe3dd0b
Merge remote-tracking branch 'origin/master' into azure-pipelines
alexcrichton e0ed2a3
Correct the upload_dir in script
alexcrichton e5418f6
Update webrender we're testing
alexcrichton 36ee777
remove azure badge from the readme
pietroalbini a8ac80b
Final cleanups
alexcrichton 24f262f
ci: toggle builders
pietroalbini 2244ca3
ci: fix invalid syntax in the azure auto.yml
pietroalbini File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,350 @@ | ||
# | ||
# Azure Pipelines "auto" branch build for Rust on Linux, macOS, and Windows. | ||
# | ||
|
||
pr: none | ||
trigger: | ||
- auto | ||
pietroalbini marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
variables: | ||
- group: prod-credentials | ||
|
||
jobs: | ||
- job: Linux | ||
pool: | ||
vmImage: ubuntu-16.04 | ||
steps: | ||
- template: steps/run.yml | ||
strategy: | ||
matrix: | ||
x86_64-gnu-llvm-6.0: | ||
IMAGE: x86_64-gnu-llvm-6.0 | ||
RUST_BACKTRACE: 1 | ||
|
||
dist-x86_64-linux: | ||
IMAGE: dist-x86_64-linux | ||
DEPLOY: 1 | ||
|
||
# "alternate" deployments, these are "nightlies" but have LLVM assertions | ||
# turned on, they're deployed to a different location primarily for | ||
# additional testing. | ||
dist-x86_64-linux-alt: | ||
IMAGE: dist-x86_64-linux | ||
DEPLOY_ALT: 1 | ||
|
||
# # Linux builders, remaining docker images | ||
# arm-android: | ||
# IMAGE: arm-android | ||
# | ||
# armhf-gnu: | ||
# IMAGE: armhf-gnu | ||
# | ||
# dist-various-1: | ||
# IMAGE: dist-various-1 | ||
# DEPLOY: 1 | ||
# | ||
# dist-various-2: | ||
# IMAGE: dist-various-2 | ||
# DEPLOY: 1 | ||
# | ||
# dist-aarch64-linux: | ||
# IMAGE: dist-aarch64-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-android: | ||
# IMAGE: dist-android | ||
# DEPLOY: 1 | ||
# | ||
# dist-arm-linux: | ||
# IMAGE: dist-arm-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-armhf-linux: | ||
# IMAGE: dist-armhf-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-armv7-linux: | ||
# IMAGE: dist-armv7-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-i586-gnu-i586-i686-musl: | ||
# IMAGE: dist-i586-gnu-i586-i686-musl | ||
# DEPLOY: 1 | ||
# | ||
# dist-i686-freebsd: | ||
# IMAGE: dist-i686-freebsd | ||
# DEPLOY: 1 | ||
# | ||
# dist-i686-linux: | ||
# IMAGE: dist-i686-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-mips-linux: | ||
# IMAGE: dist-mips-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-mips64-linux: | ||
# IMAGE: dist-mips64-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-mips64el-linux: | ||
# IMAGE: dist-mips64el-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-mipsel-linux: | ||
# IMAGE: dist-mipsel-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-powerpc-linux: | ||
# IMAGE: dist-powerpc-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-powerpc64-linux: | ||
# IMAGE: dist-powerpc64-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-powerpc64le-linux: | ||
# IMAGE: dist-powerpc64le-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-s390x-linux: | ||
# IMAGE: dist-s390x-linux | ||
# DEPLOY: 1 | ||
# | ||
# dist-x86_64-freebsd: | ||
# IMAGE: dist-x86_64-freebsd | ||
# DEPLOY: 1 | ||
# | ||
# dist-x86_64-musl: | ||
# IMAGE: dist-x86_64-musl | ||
# DEPLOY: 1 | ||
# | ||
# dist-x86_64-netbsd: | ||
# IMAGE: dist-x86_64-netbsd | ||
# DEPLOY: 1 | ||
# | ||
# asmjs: | ||
# IMAGE: asmjs | ||
# i686-gnu: | ||
# IMAGE: i686-gnu | ||
# i686-gnu-nopt: | ||
# IMAGE: i686-gnu-nopt | ||
# test-various: | ||
# IMAGE: test-various | ||
# x86_64-gnu: | ||
# IMAGE: x86_64-gnu | ||
# x86_64-gnu-full-bootstrap: | ||
# IMAGE: x86_64-gnu-full-bootstrap | ||
# x86_64-gnu-aux: | ||
# IMAGE: x86_64-gnu-aux | ||
# x86_64-gnu-tools: | ||
# IMAGE: x86_64-gnu-tools | ||
# # FIXME if: branch = auto OR (type = pull_request AND commit_message =~ /(?i:^update.*\b(rls|rustfmt|clippy|miri|cargo)\b)/) | ||
# x86_64-gnu-debug: | ||
# IMAGE: x86_64-gnu-debug | ||
# x86_64-gnu-nopt: | ||
# IMAGE: x86_64-gnu-nopt | ||
# x86_64-gnu-distcheck: | ||
# IMAGE: x86_64-gnu-distcheck | ||
mingw-check: | ||
IMAGE: mingw-check | ||
|
||
- job: macOS | ||
pool: | ||
vmImage: macos-10.13 | ||
steps: | ||
- checkout: self | ||
fetchDepth: 2 | ||
- template: steps/run.yml | ||
strategy: | ||
matrix: | ||
# OSX builders running tests, these run the full test suite. | ||
# NO_DEBUG_ASSERTIONS=1 to make them go faster, but also do have some | ||
# runners that run `//ignore-debug` tests. | ||
# | ||
# Note that the compiler is compiled to target 10.8 here because the Xcode | ||
# version that we're using, 8.2, cannot compile LLVM for OSX 10.7. | ||
x86_64-apple: | ||
RUST_CHECK_TARGET: check | ||
RUST_CONFIGURE_ARGS: --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc | ||
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 | ||
MACOSX_DEPLOYMENT_TARGET: 10.8 | ||
MACOSX_STD_DEPLOYMENT_TARGET: 10.7 | ||
NO_LLVM_ASSERTIONS: 1 | ||
NO_DEBUG_ASSERTIONS: 1 | ||
|
||
dist-x86_64-apple: | ||
RUST_CHECK_TARGET: dist | ||
RUST_CONFIGURE_ARGS: --target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --enable-lldb --set rust.jemalloc | ||
DEPLOY: 1 | ||
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 | ||
MACOSX_DEPLOYMENT_TARGET: 10.7 | ||
NO_LLVM_ASSERTIONS: 1 | ||
NO_DEBUG_ASSERTIONS: 1 | ||
DIST_REQUIRE_ALL_TOOLS: 1 | ||
|
||
# dist-x86_64-apple-alt: | ||
# RUST_CHECK_TARGET: dist | ||
# RUST_CONFIGURE_ARGS: --enable-extended --enable-profiler --enable-lldb --set rust.jemalloc | ||
# DEPLOY_ALT: 1 | ||
# RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 | ||
# MACOSX_DEPLOYMENT_TARGET: 10.7 | ||
# NO_LLVM_ASSERTIONS: 1 | ||
# NO_DEBUG_ASSERTIONS: 1 | ||
# | ||
# i686-apple: | ||
# RUST_CHECK_TARGET: check | ||
# RUST_CONFIGURE_ARGS: --build=i686-apple-darwin --set rust.jemalloc | ||
# RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 | ||
# MACOSX_DEPLOYMENT_TARGET: 10.8 | ||
# MACOSX_STD_DEPLOYMENT_TARGET: 10.7 | ||
# NO_LLVM_ASSERTIONS: 1 | ||
# NO_DEBUG_ASSERTIONS: 1 | ||
# | ||
# dist-i686-apple: | ||
# RUST_CHECK_TARGET: dist | ||
# RUST_CONFIGURE_ARGS: --build=i686-apple-darwin --enable-full-tools --enable-profiler --enable-lldb --set rust.jemalloc | ||
# DEPLOY: 1 | ||
# RUSTC_RETRY_LINKER_ON_SEGFAULT: 1 | ||
# MACOSX_DEPLOYMENT_TARGET: 10.7 | ||
# NO_LLVM_ASSERTIONS: 1 | ||
# NO_DEBUG_ASSERTIONS: 1 | ||
# DIST_REQUIRE_ALL_TOOLS: 1 | ||
|
||
|
||
|
||
- job: Windows | ||
pool: | ||
vmImage: 'vs2017-win2016' | ||
pietroalbini marked this conversation as resolved.
Show resolved
Hide resolved
|
||
steps: | ||
- template: steps/run.yml | ||
strategy: | ||
matrix: | ||
# # 32/64 bit MSVC tests | ||
# x86_64-msvc-1: | ||
# MSYS_BITS: 64 | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler | ||
# SCRIPT: make ci-subset-1 | ||
# # FIXME(#59637) | ||
# NO_DEBUG_ASSERTIONS: 1 | ||
# NO_LLVM_ASSERTIONS: 1 | ||
# x86_64-msvc-2: | ||
# MSYS_BITS: 64 | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler | ||
# SCRIPT: make ci-subset-2 | ||
# i686-msvc-1: | ||
# MSYS_BITS: 32 | ||
# RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc | ||
# SCRIPT: make ci-subset-1 | ||
# i686-msvc-2: | ||
# MSYS_BITS: 32 | ||
# RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc | ||
# SCRIPT: make ci-subset-2 | ||
# # MSVC aux tests | ||
# x86_64-msvc-aux: | ||
# MSYS_BITS: 64 | ||
# RUST_CHECK_TARGET: check-aux EXCLUDE_CARGO=1 | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc | ||
# x86_64-msvc-cargo: | ||
# MSYS_BITS: 64 | ||
# SCRIPT: python x.py test src/tools/cargotest src/tools/cargo | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc | ||
# VCVARS_BAT: vcvars64.bat | ||
# # MSVC tools tests | ||
# x86_64-msvc-tools: | ||
# MSYS_BITS: 64 | ||
# SCRIPT: src/ci/docker/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstates.json windows | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstates.json --enable-test-miri | ||
# | ||
# # 32/64-bit MinGW builds. | ||
# # | ||
# # We are using MinGW with posix threads since LLVM does not compile with | ||
# # the win32 threads version due to missing support for C++'s std::thread. | ||
# # | ||
# # Instead of relying on the MinGW version installed on appveryor we download | ||
# # and install one ourselves so we won't be surprised by changes to appveyor's | ||
# # build image. | ||
# # | ||
# # Finally, note that the downloads below are all in the `rust-lang-ci` S3 | ||
# # bucket, but they cleraly didn't originate there! The downloads originally | ||
# # came from the mingw-w64 SourceForge download site. Unfortunately | ||
# # SourceForge is notoriously flaky, so we mirror it on our own infrastructure. | ||
# i686-mingw-1: | ||
# MSYS_BITS: 32 | ||
# RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu | ||
# SCRIPT: make ci-subset-1 | ||
# MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror | ||
# MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z | ||
# MINGW_DIR: mingw32 | ||
# # FIXME(#59637) | ||
# NO_DEBUG_ASSERTIONS: 1 | ||
# NO_LLVM_ASSERTIONS: 1 | ||
# i686-mingw-2: | ||
# MSYS_BITS: 32 | ||
# RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu | ||
# SCRIPT: make ci-subset-2 | ||
# MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror | ||
# MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z | ||
# MINGW_DIR: mingw32 | ||
# x86_64-mingw-1: | ||
# MSYS_BITS: 64 | ||
# SCRIPT: make ci-subset-1 | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu | ||
# MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror | ||
# MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z | ||
# MINGW_DIR: mingw64 | ||
# # FIXME(#59637) | ||
# NO_DEBUG_ASSERTIONS: 1 | ||
# NO_LLVM_ASSERTIONS: 1 | ||
# x86_64-mingw-2: | ||
# MSYS_BITS: 64 | ||
# SCRIPT: make ci-subset-2 | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu | ||
# MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror | ||
# MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z | ||
# MINGW_DIR: mingw64 | ||
|
||
# 32/64 bit MSVC and GNU deployment | ||
dist-x86_64-msvc: | ||
RUST_CONFIGURE_ARGS: > | ||
--build=x86_64-pc-windows-msvc | ||
--target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc | ||
--enable-full-tools | ||
--enable-profiler | ||
SCRIPT: python x.py dist | ||
DIST_REQUIRE_ALL_TOOLS: 1 | ||
DEPLOY: 1 | ||
# dist-i686-msvc: | ||
# RUST_CONFIGURE_ARGS: > | ||
# --build=i686-pc-windows-msvc | ||
# --target=i586-pc-windows-msvc | ||
# --enable-full-tools | ||
# --enable-profiler | ||
# SCRIPT: python x.py dist | ||
# DIST_REQUIRE_ALL_TOOLS: 1 | ||
# DEPLOY: 1 | ||
# dist-i686-mingw: | ||
# MSYS_BITS: 32 | ||
# RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools | ||
# SCRIPT: python x.py dist | ||
# MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror | ||
# MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z | ||
# MINGW_DIR: mingw32 | ||
# DIST_REQUIRE_ALL_TOOLS: 1 | ||
# DEPLOY: 1 | ||
# dist-x86_64-mingw: | ||
# MSYS_BITS: 64 | ||
# SCRIPT: python x.py dist | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-full-tools | ||
# MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror | ||
# MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z | ||
# MINGW_DIR: mingw64 | ||
# DIST_REQUIRE_ALL_TOOLS: 1 | ||
# DEPLOY: 1 | ||
# | ||
# # "alternate" deployment, see .travis.yml for more info | ||
# dist-x86_64-msvc-alt: | ||
# MSYS_BITS: 64 | ||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler | ||
# SCRIPT: python x.py dist | ||
# DEPLOY_ALT: 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# | ||
pietroalbini marked this conversation as resolved.
Show resolved
Hide resolved
|
||
# Azure Pipelines job to publish toolstate. Only triggers on pushes to master. | ||
# | ||
|
||
pr: none | ||
trigger: | ||
- master | ||
|
||
pool: | ||
vmImage: ubuntu-16.04 | ||
|
||
steps: | ||
- checkout: self | ||
fetchDepth: 2 | ||
|
||
- script: | | ||
export MESSAGE_FILE=$(mktemp -t msg.XXXXXX) | ||
. src/ci/docker/x86_64-gnu-tools/repo.sh | ||
# FIXME(pietro): committing is disabled until we switch to Azure Pipelines | ||
# as the source of truth, or until we setup a separate test repo. | ||
#commit_toolstate_change "$MESSAGE_FILE" "$BUILD_SOURCESDIRECTORY/src/tools/publish_toolstate.py" "$(git rev-parse HEAD)" "$(git log --format=%s -n1 HEAD)" "$MESSAGE_FILE" "$TOOLSTATE_REPO_ACCESS_TOKEN" | ||
displayName: Publish toolstate | ||
env: | ||
TOOLSTATE_REPO_ACCESS_TOKEN: $(TOOLSTATE_REPO_ACCESS_TOKEN_SECRET) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# | ||
# Azure Pipelines pull request build for Rust | ||
# | ||
|
||
trigger: none | ||
pr: | ||
- master # FIXME: really just want any branch, but want an explicit "pr" property set so it's clear | ||
|
||
jobs: | ||
- job: Linux | ||
pool: | ||
vmImage: ubuntu-16.04 | ||
steps: | ||
- template: steps/run.yml | ||
strategy: | ||
matrix: | ||
x86_64-gnu-llvm-6.0: | ||
RUST_BACKTRACE: 1 | ||
|
||
# x86_64-gnu-tools: {} | ||
# # if: branch = auto OR (type = pull_request AND commit_message =~ /(?i:^update.*\b(rls|rustfmt|clippy|miri|cargo)\b)/) | ||
# mingw-check: {} |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This space breaks stuff: