Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 2 additions & 70 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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:
Expand All @@ -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
Expand All @@ -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
Expand All @@ -177,7 +122,6 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: true
ref: ${{ matrix.commit }}

- name: Install stable
uses: dtolnay/rust-toolchain@stable
Expand All @@ -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
Expand All @@ -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
#
Expand All @@ -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
Expand All @@ -260,7 +194,6 @@ jobs:
# run existing tests
runs-on: ubuntu-latest
name: ubuntu / stable / features
needs: commit_list

strategy:
fail-fast: false
Expand All @@ -269,7 +202,6 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: true
ref: ${{ matrix.commit }}

- name: Install stable
uses: dtolnay/rust-toolchain@stable
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rolling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down