diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 02274a8..4721c6f 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -1,6 +1,5 @@ # This workflow runs whenever a PR is opened or updated, or a commit is pushed to main. It runs # several checks: -# - commit_list: produces a list of commits to be checked # - fmt: checks that the code is formatted according to rustfmt # - clippy: checks that the code does not contain any clippy warnings # - doc: checks that the code can be documented without errors @@ -23,47 +22,13 @@ concurrency: name: check jobs: - commit_list: - runs-on: ubuntu-latest - steps: - - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Get commit list (push) - id: get_commit_list_push - if: ${{ github.event_name == 'push' }} - run: | - echo "id0=$GITHUB_SHA" > $GITHUB_OUTPUT - echo "List of tested commits:" > $GITHUB_STEP_SUMMARY - sed -n 's,^id[0-9]\+=\(.*\),- ${{ github.repositoryUrl }}/commit/\1,p' -- $GITHUB_OUTPUT >> $GITHUB_STEP_SUMMARY - - - name: Get commit list (PR) - id: get_commit_list_pr - if: ${{ github.event_name == 'pull_request' }} - run: | - git rev-list --reverse refs/remotes/origin/${{ github.base_ref }}..${{ github.event.pull_request.head.sha }} | awk '{ print "id" NR "=" $1 }' > $GITHUB_OUTPUT - git diff --quiet ${{ github.event.pull_request.head.sha }} ${{ github.sha }} || echo "id0=$GITHUB_SHA" >> $GITHUB_OUTPUT - echo "List of tested commits:" > $GITHUB_STEP_SUMMARY - sed -n 's,^id[0-9]\+=\(.*\),- ${{ github.repositoryUrl }}/commit/\1,p' -- $GITHUB_OUTPUT >> $GITHUB_STEP_SUMMARY - - outputs: - commits: ${{ toJSON(steps.*.outputs.*) }} - fmt: runs-on: ubuntu-latest name: nightly / fmt - needs: commit_list - strategy: - fail-fast: false - matrix: - commit: ${{ fromJSON(needs.commit_list.outputs.commits) }} steps: - uses: actions/checkout@v4 with: submodules: true - ref: ${{ matrix.commit }} - name: Install nightly uses: dtolnay/rust-toolchain@nightly with: @@ -73,8 +38,7 @@ jobs: clippy: runs-on: ubuntu-latest - name: ${{ matrix.toolchain }} / clippy (${{ matrix.commit }}) - needs: commit_list + name: ${{ matrix.toolchain }} / clippy permissions: contents: read checks: write @@ -83,12 +47,10 @@ jobs: matrix: # Get early warning of new lints which are regularly introduced in beta channels. toolchain: [stable, beta] - commit: ${{ fromJSON(needs.commit_list.outputs.commits) }} steps: - uses: actions/checkout@v4 with: submodules: true - ref: ${{ matrix.commit }} - name: Install ${{ matrix.toolchain }} uses: dtolnay/rust-toolchain@master with: @@ -105,16 +67,10 @@ jobs: # semver: # runs-on: ubuntu-latest # name: semver - # needs: commit_list - # strategy: - # fail-fast: false - # matrix: - # commit: ${{ fromJSON(needs.commit_list.outputs.commits) }} # steps: # - uses: actions/checkout@v4 # with: # submodules: true - # ref: ${{ matrix.commit }} # - name: Install stable # uses: dtolnay/rust-toolchain@stable # with: @@ -128,16 +84,10 @@ jobs: # API be documented as only available in some specific platforms. runs-on: ubuntu-latest name: nightly / doc - needs: commit_list - strategy: - fail-fast: false - matrix: - commit: ${{ fromJSON(needs.commit_list.outputs.commits) }} steps: - uses: actions/checkout@v4 with: submodules: true - ref: ${{ matrix.commit }} - name: Install nightly uses: dtolnay/rust-toolchain@nightly - name: cargo doc @@ -150,16 +100,10 @@ jobs: # which is required for feature unification runs-on: ubuntu-latest name: ubuntu / stable / features - needs: commit_list - strategy: - fail-fast: false - matrix: - commit: ${{ fromJSON(needs.commit_list.outputs.commits) }} steps: - uses: actions/checkout@v4 with: submodules: true - ref: ${{ matrix.commit }} - name: Install stable uses: dtolnay/rust-toolchain@stable - name: cargo install cargo-hack @@ -174,16 +118,10 @@ jobs: # our dependencies. runs-on: ubuntu-latest name: ubuntu / stable / deny - needs: commit_list - strategy: - fail-fast: false - matrix: - commit: ${{ fromJSON(needs.commit_list.outputs.commits) }} steps: - uses: actions/checkout@v4 with: submodules: true - ref: ${{ matrix.commit }} - name: Install stable uses: dtolnay/rust-toolchain@stable - name: cargo install cargo-deny @@ -197,16 +135,10 @@ jobs: test: runs-on: ubuntu-latest name: ubuntu / stable / test - needs: commit_list - strategy: - fail-fast: false - matrix: - commit: ${{ fromJSON(needs.commit_list.outputs.commits) }} steps: - uses: actions/checkout@v4 with: submodules: true - ref: ${{ matrix.commit }} - name: Install stable uses: dtolnay/rust-toolchain@stable - name: cargo install cargo-hack @@ -217,13 +149,11 @@ jobs: msrv: # check that we can build using the minimal rust version that is specified by this crate runs-on: ubuntu-latest - needs: commit_list # we use a matrix here just because env can't be used in job names # https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability strategy: fail-fast: false matrix: - commit: ${{ fromJSON(needs.commit_list.outputs.commits) }} msrv: ["1.79"] # We're relying on namespaced-features, which # was released in 1.60 # @@ -235,12 +165,11 @@ jobs: # # embassy-time requires 1.79 due to # collapse_debuginfo - name: ubuntu / ${{ matrix.msrv }} (${{ matrix.commit }}) + name: ubuntu / ${{ matrix.msrv }} steps: - uses: actions/checkout@v4 with: submodules: true - ref: ${{ matrix.commit }} - name: Install ${{ matrix.msrv }} uses: dtolnay/rust-toolchain@master with: