Skip to content

Merge pull request #241 from rust-osdev/dependabot/github_actions/cac… #1081

Merge pull request #241 from rust-osdev/dependabot/github_actions/cac…

Merge pull request #241 from rust-osdev/dependabot/github_actions/cac… #1081

Workflow file for this run

# CI for the whole Cargo workspace. Although having two relatively independent
# crates in this workspace (as they do not get released together, as for example
# tokio with its sub crates), a PR for a certain CI may report errors in the
# other workspace members. I think this is unfortunate. I've experimented with
# CI runs per workspace member but the complexity in the end was not worth it.
# Instead, it is the right thing that the CI always covers the whole repository
# and that it is as stable as possible.
name: "Cargo workspace"
# Run on every push (tag, branch) and pull_request
on: [ pull_request, push, workflow_dispatch, merge_group ]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
### Regular Build #########################
build_msrv:
name: build (msrv)
uses: ./.github/workflows/_build-rust.yml
with:
rust-version: 1.75.0 # MSRV
do-style-check: false
features: builder
build_stable:
name: build (stable)
uses: ./.github/workflows/_build-rust.yml
with:
rust-version: stable
do-style-check: false
features: builder
build_nightly:
name: build (nightly)
uses: ./.github/workflows/_build-rust.yml
with:
rust-version: nightly
do-style-check: false
features: builder,unstable
### no-std Build #########################
build_nostd_msrv:
name: build no_std (msrv)
needs: build_msrv
uses: ./.github/workflows/_build-rust.yml
with:
rust-version: 1.75.0 # MSRV
do-style-check: false
rust-target: thumbv7em-none-eabihf
features: builder
build_nostd_stable:
name: build no_std (stable)
needs: build_stable
uses: ./.github/workflows/_build-rust.yml
with:
rust-version: stable
do-style-check: false
rust-target: thumbv7em-none-eabihf
features: builder
# Also tests the build one time without the "builder" feature.
build_nostd_stable_no_builder:
name: build no_std (stable) [w/o builder]
needs: build_stable
uses: ./.github/workflows/_build-rust.yml
with:
rust-version: stable
do-style-check: false
rust-target: thumbv7em-none-eabihf
# We perform one single run also in Windows. This should be sufficient to
# check that devs can also use this on Windows.
build_nostd_stable_windows:
name: build no_std (stable) [Windows]
needs: build_stable
uses: ./.github/workflows/_build-rust.yml
with:
runs-on: windows-latest
# Quirk for the Windows powershell and its handling of empty arguments.
# features: >
# '""'
rust-version: stable
do-style-check: false
rust-target: thumbv7em-none-eabihf
features: builder
build_nostd_nightly:
name: build no_std (nightly)
needs: build_nightly
uses: ./.github/workflows/_build-rust.yml
with:
rust-version: nightly
do-style-check: false
rust-target: thumbv7em-none-eabihf
features: builder,unstable
### Style Checks + Doc #####################
style_msrv:
name: style (msrv)
needs: build_msrv
uses: ./.github/workflows/_build-rust.yml
with:
rust-version: 1.75.0 # MSRV
do-style-check: true
do-test: false
features: builder
style_stable:
name: style (stable)
needs: build_stable
uses: ./.github/workflows/_build-rust.yml
with:
rust-version: stable
do-style-check: true
do-test: false
features: builder
style_nightly:
name: style (nightly)
needs: build_nightly
uses: ./.github/workflows/_build-rust.yml
with:
rust-version: nightly
do-style-check: true
do-test: false
features: builder,unstable
miri:
name: tests with miri (nightly)
needs: build_nightly
uses: ./.github/workflows/_build-rust.yml
with:
rust-version: nightly
do-style-check: false
do-test: false
do-miri: true
features: builder,unstable