name: Rust Build on: push: branches: - main - devel pull_request: branches: - main - devel jobs: check: name: Check runs-on: ubuntu-24.04 services: ssh-agent: image: alpine:latest entrypoint: ["/bin/sh", "-c", "apk update && apk add openssh-client && eval \"$(ssh-agent -s)\" && ssh-add - <<< \"${{ secrets.MYREPO_TOKEN }}\" && ssh-keyscan git.kundeng.us ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLl/OZiKVDxwnyvMxa+rjKvDpKqTxH1GWuGuDPLmENGQMbTVulajZWr9x8Q1cotoJiHZkt7DA5vczcjB/4lwgWA= >> ~/.ssh/known_hosts && tail -f /dev/null"] options: --name ssh-agent steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: 1.85.0 - run: | export SSH_AUTH_SOCK=/ssh-agent/ssh-agent.sock cargo check test: name: Test Suite runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: 1.85.0 - run: | export SSH_AUTH_SOCK=/ssh-agent/ssh-agent.sock cargo test fmt: name: Rustfmt runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: 1.85.0 - run: rustup component add rustfmt - run: | export SSH_AUTH_SOCK=/ssh-agent/ssh-agent.sock cargo fmt --all -- --check clippy: name: Clippy runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: 1.85.0 - run: rustup component add clippy - run: | export SSH_AUTH_SOCK=/ssh-agent/ssh-agent.sock cargo clippy -- -D warnings build: name: build runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: 1.85.0 - run: | export SSH_AUTH_SOCK=/ssh-agent/ssh-agent.sock cargo build --release