93 lines
2.4 KiB
YAML
93 lines
2.4 KiB
YAML
name: Rust Build
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- devel
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- devel
|
|
|
|
jobs:
|
|
setup_ssh:
|
|
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:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
|
|
check:
|
|
name: Check
|
|
needs: setup_ssh
|
|
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 check
|
|
|
|
test:
|
|
name: Test Suite
|
|
needs: setup_ssh
|
|
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
|
|
needs: setup_ssh
|
|
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
|
|
needs: setup_ssh
|
|
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
|
|
needs: setup_ssh
|
|
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
|
|
|