Workflow performing CI steps: build, testing, check format, check linting, check headers and check dependencies #35
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI-build-test-lint-fmt-deps | |
run-name: "Workflow performing CI steps: build, testing, check format, check linting, check headers and check dependencies" | |
on: | |
pull_request: | |
types: [opened, synchronize] | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
schedule: | |
- cron: "0 5 * * 1" # Runs every Monday at 5:00 UTC | |
env: | |
RUST_BACKTRACE: 1 | |
jobs: | |
build-test-check: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout branch | |
uses: actions/checkout@v4 | |
- name: Install GCC 12 | |
run: | | |
sudo apt update | |
sudo apt install -y software-properties-common | |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y | |
sudo apt update | |
sudo apt install -y gcc-12 g++-12 | |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 60 --slave /usr/bin/g++ g++ /usr/bin/g++-12 | |
gcc --version | |
- name: Install cargo-make | |
uses: actions-rs/cargo@v1 | |
with: | |
command: install | |
args: --debug cargo-make | |
- name: Run CI full (stable) | |
uses: actions-rs/cargo@v1 | |
with: | |
toolchain: stable | |
command: make | |
args: ci-remote | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
- name: Run CI check-deps only (nightly) | |
uses: actions-rs/cargo@v1 | |
with: | |
toolchain: nightly | |
command: make | |
args: udeps | |
build-test-mac: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout branch | |
uses: actions/checkout@v4 | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Run Tests | |
uses: actions-rs/cargo@v1 | |
with: | |
toolchain: stable | |
command: test |