fix: release workflow — use cross-version: from-source #31
This file contains hidden or 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 | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| env: | |
| MIX_ENV: test | |
| DUX_BUILD: "true" | |
| jobs: | |
| test: | |
| name: Test (OTP ${{ matrix.otp }} / Elixir ${{ matrix.elixir }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - otp: "27" | |
| elixir: "1.18" | |
| - otp: "28" | |
| elixir: "1.19" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: erlef/setup-beam@v1 | |
| with: | |
| otp-version: ${{ matrix.otp }} | |
| elixir-version: ${{ matrix.elixir }} | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: native/dux | |
| key: nif-${{ runner.os }} | |
| - name: Install dependencies | |
| run: mix deps.get | |
| - name: Compile (warnings as errors) | |
| run: mix compile --warnings-as-errors | |
| - name: Run tests | |
| run: mix test | |
| - name: Credo | |
| run: mix credo --strict | |
| format: | |
| name: Format check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: erlef/setup-beam@v1 | |
| with: | |
| otp-version: "28" | |
| elixir-version: "1.19" | |
| - name: Install dependencies | |
| run: mix deps.get | |
| - name: Check format | |
| run: mix format --check-formatted | |
| rust-lint: | |
| name: Rust lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: native/dux | |
| - name: Check format | |
| run: cargo fmt --manifest-path=native/dux/Cargo.toml --all -- --check | |
| - name: Clippy | |
| run: cargo clippy --manifest-path=native/dux/Cargo.toml -- -Dwarnings |