diff --git a/.github/workflows/build-and-test.yaml b/.github/workflows/build-and-test.yaml new file mode 100644 index 0000000..3b4af41 --- /dev/null +++ b/.github/workflows/build-and-test.yaml @@ -0,0 +1,44 @@ +# SPDX-FileCopyrightText: Copyright (c) 2021-2025 slowtec GmbH +# SPDX-License-Identifier: CC0-1.0 + +# yaml-language-server: $schema=https://json.schemastore.org/github-workflow + +name: build-and-test + +permissions: + contents: read + +on: + push: + branches: + - main + pull_request: + branches: + - main + workflow_dispatch: + +env: + CARGO_TERM_COLOR: always + +jobs: + steps: + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt,clippy + targets: wasm32-unknown-unknown + + - name: Checkout code + uses: actions/checkout@v5 + + - name: Generate Cargo.lock + run: cargo generate-lockfile + + - name: Run tests + run: cargo test --locked --target wasm32-unknown-unknown -- --nocapture --quiet + + - name: Build documentation + run: cargo doc --locked --target wasm32-unknown-unknown + + - name: Build release + run: cargo build --locked --target wasm32-unknown-unknown --profile release diff --git a/.github/workflows/dependency-audit.yaml b/.github/workflows/dependency-audit.yaml new file mode 100644 index 0000000..b863c8c --- /dev/null +++ b/.github/workflows/dependency-audit.yaml @@ -0,0 +1,35 @@ +# SPDX-FileCopyrightText: Copyright (c) 2021-2025 slowtec GmbH +# SPDX-License-Identifier: CC0-1.0 + +# yaml-language-server: $schema=https://json.schemastore.org/github-workflow + +name: dependency-audit + +permissions: + contents: read + +on: + push: + paths: + - "**/Cargo.toml" + schedule: + # Weekly, i.e. on Sunday at 04:37 UTC + - cron: "37 4 * * 0" + workflow_dispatch: + +jobs: + run: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v5 + + - name: Generate Cargo.lock + run: cargo generate-lockfile + + - uses: EmbarkStudios/cargo-deny-action@v1 + with: + command: check + arguments: >- + --all-features + --locked