diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e680a32d61fa..39365c736d0c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,10 +1,6 @@ name: CI on: push: - branches: - - auto-cargo - - try - - automation/bors/try pull_request: branches: - "**" @@ -21,94 +17,6 @@ concurrency: cancel-in-progress: true jobs: - success: - permissions: - contents: none - name: bors build finished - needs: - - build_std - - clippy - - msrv - - docs - - lockfile - - resolver - - rustfmt - - test - - test_gitoxide - runs-on: ubuntu-latest - if: "success() && github.event_name == 'push' && (github.ref == 'refs/heads/auto-cargo' || github.ref == 'refs/heads/try') && github.repository == 'rust-lang/cargo'" - steps: - - run: echo ok - failure: - permissions: - contents: none - name: bors build finished - needs: - - build_std - - clippy - - msrv - - docs - - lockfile - - resolver - - rustfmt - - test - - test_gitoxide - runs-on: ubuntu-latest - if: "!success() && github.event_name == 'push' && (github.ref == 'refs/heads/auto-cargo' || github.ref == 'refs/heads/try') && github.repository == 'rust-lang/cargo'" - steps: - - run: exit 1 - - # Check Code style quickly by running `rustfmt` over all code - rustfmt: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: rustup update stable && rustup default stable - - run: rustup component add rustfmt - - run: cargo fmt --all --check - - # Ensure there are no clippy warnings - clippy: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: rustup update stable && rustup default stable - - run: rustup component add clippy - - run: cargo clippy --workspace --all-targets --no-deps -- -D warnings - - stale-label: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: rustup update stable && rustup default stable - - run: cargo stale-label - - # Ensure Cargo.lock is up-to-date - lockfile: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: rustup update stable && rustup default stable - - run: cargo update -p cargo --locked - - check-version-bump: - runs-on: ubuntu-latest - env: - BASE_SHA: ${{ github.event.pull_request.base.sha }} - HEAD_SHA: ${{ github.event.pull_request.head.sha != '' && github.event.pull_request.head.sha || github.sha }} - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - run: rustup update stable && rustup default stable - - name: Install cargo-semver-checks - run: | - mkdir installed-bins - curl -Lf https://github.com/obi1kenobi/cargo-semver-checks/releases/download/v0.29.0/cargo-semver-checks-x86_64-unknown-linux-gnu.tar.gz \ - | tar -xz --directory=./installed-bins - echo `pwd`/installed-bins >> $GITHUB_PATH - - run: ci/validate-version-bump.sh - test: runs-on: ${{ matrix.os }} env: @@ -172,99 +80,4 @@ jobs: - name: Configure extra test environment run: echo CARGO_CONTAINER_TESTS=1 >> $GITHUB_ENV if: matrix.os == 'ubuntu-latest' - - run: cargo test -p cargo - - name: Clear intermediate test output - run: ci/clean-test-output.sh - - - name: gitoxide tests (all git-related tests) - run: cargo test -p cargo git - env: - __CARGO_USE_GITOXIDE_INSTEAD_OF_GIT2: 1 - # The testsuite generates a huge amount of data, and fetch-smoke-test was - # running out of disk space. - - name: Clear test output - run: ci/clean-test-output.sh - - # This only tests `cargo fix` because fix-proxy-mode is one of the most - # complicated subprocess management in Cargo. - - name: Check operability of rustc invocation with argfile - run: 'cargo test -p cargo --test testsuite -- fix::' - env: - __CARGO_TEST_FORCE_ARGFILE: 1 - - run: cargo test --workspace --exclude cargo --exclude benchsuite --exclude resolver-tests - - name: Check benchmarks - run: | - # This only tests one benchmark since it can take over 10 minutes to - # download all workspaces. - cargo test -p benchsuite --all-targets -- cargo - cargo check -p capture - # The testsuite generates a huge amount of data, and fetch-smoke-test was - # running out of disk space. - - name: Clear benchmark output - run: ci/clean-test-output.sh - - - name: Fetch smoke test - run: ci/fetch-smoke-test.sh - - resolver: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: rustup update stable && rustup default stable - - run: cargo test -p resolver-tests - - test_gitoxide: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: rustup update --no-self-update stable && rustup default stable - - run: rustup target add i686-unknown-linux-gnu - - run: sudo apt update -y && sudo apt install gcc-multilib libsecret-1-0 libsecret-1-dev -y - - run: rustup component add rustfmt || echo "rustfmt not available" - - run: cargo test -p cargo - env: - __CARGO_USE_GITOXIDE_INSTEAD_OF_GIT2: 1 - - build_std: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: rustup update nightly && rustup default nightly - - run: rustup component add rust-src - - run: cargo build - - run: cargo test -p cargo --test build-std - env: - CARGO_RUN_BUILD_STD_TESTS: 1 - docs: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: rustup update nightly && rustup default nightly - - run: rustup update stable - - run: rustup component add rust-docs - - run: ci/validate-man.sh - # This requires rustfmt, use stable. - - name: Run semver-check - run: cargo +stable run -p semver-check - - name: Ensure intradoc links are valid - run: cargo doc --workspace --document-private-items --no-deps - env: - RUSTDOCFLAGS: -D warnings - - name: Install mdbook - run: | - mkdir mdbook - curl -Lf https://github.com/rust-lang/mdBook/releases/download/v0.4.37/mdbook-v0.4.37-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook - echo `pwd`/mdbook >> $GITHUB_PATH - - run: cd src/doc && mdbook build --dest-dir ../../target/doc - - name: Run linkchecker.sh - run: | - cd target - curl -sSLO https://raw.githubusercontent.com/rust-lang/rust/master/src/tools/linkchecker/linkcheck.sh - sh linkcheck.sh --all --path ../src/doc cargo - - msrv: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: taiki-e/install-action@cargo-hack - - run: cargo hack check --all-targets --rust-version --workspace --ignore-private --locked + - run: cargo test -p cargo --test testsuite -- https::github_works