diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 1b3e582..6a11459 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 @@ -28,62 +27,24 @@ 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: components: rustfmt - - name: cargo fmt --check run: cargo fmt --check clippy: runs-on: ubuntu-latest - name: ${{ matrix.toolchain }} / clippy (${{ matrix.commit }}) - needs: commit_list + name: ${{ matrix.toolchain }} / clippy permissions: contents: read @@ -94,13 +55,11 @@ 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 @@ -119,16 +78,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: @@ -142,18 +95,11 @@ 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 @@ -168,7 +114,6 @@ jobs: # which is required for feature unification runs-on: ubuntu-latest name: ubuntu / stable / features - needs: commit_list strategy: fail-fast: false @@ -177,7 +122,6 @@ jobs: - uses: actions/checkout@v4 with: submodules: true - ref: ${{ matrix.commit }} - name: Install stable uses: dtolnay/rust-toolchain@stable @@ -193,18 +137,11 @@ 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 @@ -220,13 +157,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.83"] # We're relying on namespaced-features, which # was released in 1.60 # @@ -241,12 +176,11 @@ jobs: # # embassy upstream switched to rust 1.83 - 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 @@ -260,7 +194,6 @@ jobs: # run existing tests runs-on: ubuntu-latest name: ubuntu / stable / features - needs: commit_list strategy: fail-fast: false @@ -269,7 +202,6 @@ jobs: - uses: actions/checkout@v4 with: submodules: true - ref: ${{ matrix.commit }} - name: Install stable uses: dtolnay/rust-toolchain@stable diff --git a/.github/workflows/rolling.yml b/.github/workflows/rolling.yml index f5880a1..d9454fb 100644 --- a/.github/workflows/rolling.yml +++ b/.github/workflows/rolling.yml @@ -48,7 +48,7 @@ jobs: # collapse_debuginfo # # embassy upstream switched to rust 1.83 - name: ubuntu / ${{ matrix.msrv }} (${{ matrix.commit }}) + name: ubuntu / ${{ matrix.msrv }} steps: - uses: actions/checkout@v4 with: