build(deps): bump k8s-openapi from 0.21.1 to 0.24.0 #3639
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: Auditor | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
services: | |
postgres: | |
image: postgres:15 | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: password | |
POSTGRES_DB: postgres | |
ports: | |
- 5432:5432 | |
env: | |
SQLX_VERSION: 0.8.2 | |
SQLX_FEATURES: postgres,rustls,sqlite | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v2 | |
with: | |
prefix-key: cache-dependencies | |
- name: Massage sqlx features env variable... | |
run: | | |
TMP=${{ env.SQLX_FEATURES }} | |
SQLX_FEATURES_CACHE="${TMP//,/_}" | |
echo "SQLX_FEATURES_CACHE=${SQLX_FEATURES_CACHE}" >> $GITHUB_ENV | |
- name: Cache sqlx | |
id: cache_sqlx | |
uses: Swatinem/rust-cache@v2 | |
with: | |
prefix-key: cache-sqlx | |
key: ${{ runner.os }}-sqlx-${{ env.SQLX_VERSION }}-${{ env.SQLX_FEATURES_CACHE }} | |
cache-directories: | | |
~/.cargo/bin/sqlx | |
~/.cargo/bin/cargo-sqlx | |
- name: Install sqlx-cli | |
# if: ${{ steps.cache_sqlx.outputs.cache-hit }} | |
run: cargo install sqlx-cli --version=${{ env.SQLX_VERSION }} --features=${{ env.SQLX_FEATURES }} --no-default-features --locked | |
- name: Migrate database | |
run: | | |
sudo apt-get install libpq-dev -y | |
SKIP_DOCKER=true ./scripts/init_db.sh | |
- name: Migrate auditor client sqlite database | |
run: ./scripts/init_client_sqlite.sh | |
- name: Migrate slurm collector sqlite database | |
run: | | |
./scripts/init_slurm_collector_sqlite.sh | |
- name: Migrate kubernetes collector sqlite database | |
run: ./scripts/init_kubernetes_collector_sqlite.sh | |
- name: Check sqlx-data.json for auditor is up-to-date | |
run: | | |
cd auditor | |
# cargo sqlx prepare --check -- --lib | |
cargo sqlx prepare --check -- --bin auditor | |
- name: cargo test | |
run: cargo test | |
fmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: rustfmt | |
- run: cargo fmt --all -- --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
services: | |
postgres: | |
image: postgres:15 | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: password | |
POSTGRES_DB: postgres | |
ports: | |
- 5432:5432 | |
env: | |
SQLX_VERSION: 0.8.2 | |
SQLX_FEATURES: postgres,rustls,sqlite | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy | |
- name: Massage sqlx features env variable... | |
run: | | |
TMP=${{ env.SQLX_FEATURES }} | |
SQLX_FEATURES_CACHE="${TMP//,/_}" | |
echo "SQLX_FEATURES_CACHE=${SQLX_FEATURES_CACHE}" >> $GITHUB_ENV | |
- name: Cache sqlx-cli | |
id: cache_sqlx | |
uses: Swatinem/rust-cache@v2 | |
with: | |
prefix-key: cache_sqlx | |
key: ${{ runner.os }}-sqlx-${{ env.SQLX_VERSION }}-${{ env.SQLX_FEATURES_CACHE }} | |
cache-directories: | | |
~/.cargo/bin/sqlx | |
~/.cargo/bin/cargo-sqlx | |
- name: Install sqlx-cli | |
# if: ${{ !steps.cache_sqlx.outputs.cache-hit }} | |
run: cargo install sqlx-cli --version=${{ env.SQLX_VERSION }} --features=${{ env.SQLX_FEATURES }} --no-default-features --locked | |
- name: Migrate database | |
run: | | |
sudo apt-get install libpq-dev -y | |
SKIP_DOCKER=true ./scripts/init_db.sh | |
- name: Migrate auditor client sqlite database | |
run: ./scripts/init_client_sqlite.sh | |
- name: Migrate slurm collector sqlite database | |
run: ./scripts/init_slurm_collector_sqlite.sh | |
- name: Migrate kubernetes collector sqlite database | |
run: ./scripts/init_kubernetes_collector_sqlite.sh | |
- name: Clippy | |
run: cargo clippy --all-targets --all-features -- -D warnings | |
- name: Clippy- check sqlx prepared statements | |
run: SQLX_OFFLINE=true cargo clippy --all-targets --all-features -- -D warnings | |
- name: Run cargo build to check auditor-client | |
run: | | |
cd auditor-client | |
SQLX_OFFLINE=true cargo build | |
cargo-deny: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
checks: | |
- advisories | |
- bans licenses sources | |
# Prevent sudden announcement of a new advisory from failing ci: | |
continue-on-error: ${{ matrix.checks == 'advisories' }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: EmbarkStudios/cargo-deny-action@v2 | |
with: | |
command: check ${{ matrix.checks }} | |
spellcheck: | |
name: Spellcheck | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Actions Repository | |
uses: actions/checkout@v4 | |
- name: Check spelling | |
uses: crate-ci/typos@v1.28.4 | |
test_prometheus_exporter: | |
name: Prometheus exporter tests | |
runs-on: ubuntu-latest | |
services: | |
postgres: | |
image: postgres:15 | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: password | |
POSTGRES_DB: postgres | |
ports: | |
- 5432:5432 | |
env: | |
SQLX_VERSION: 0.8.2 | |
SQLX_FEATURES: postgres,rustls,sqlite | |
RUSTFLAGS: -C link-arg=-s | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
targets: x86_64-unknown-linux-musl | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v2 | |
with: | |
prefix-key: cache-dependencies-test | |
- name: Massage sqlx features env variable... | |
run: | | |
TMP=${{ env.SQLX_FEATURES }} | |
SQLX_FEATURES_CACHE="${TMP//,/_}" | |
echo "SQLX_FEATURES_CACHE=${SQLX_FEATURES_CACHE}" >> $GITHUB_ENV | |
- name: Cache sqlx | |
id: cache_sqlx | |
uses: Swatinem/rust-cache@v2 | |
with: | |
prefix-key: cache-sqlx | |
key: ${{ runner.os }}-sqlx-${{ env.SQLX_VERSION }}-${{ env.SQLX_FEATURES_CACHE }} | |
cache-directories: | | |
~/.cargo/bin/sqlx | |
~/.cargo/bin/cargo-sqlx | |
- name: Install sqlx-cli | |
# if: ${{ steps.cache_sqlx.outputs.cache-hit }} | |
run: cargo install sqlx-cli --version=${{ env.SQLX_VERSION }} --features=${{ env.SQLX_FEATURES }} --no-default-features --locked | |
- name: Migrate database | |
run: | | |
sudo apt-get install libpq-dev -y | |
SKIP_DOCKER=true ./scripts/init_db.sh | |
- name: Migrate auditor client sqlite database | |
run: ./scripts/init_client_sqlite.sh | |
- name: Build auditor | |
run: cargo build --bin auditor | |
- name: Run tests | |
run: SKIP_COMPILATION=true ./scripts/test_auditor_prometheus_exporter.sh | |
- name: Run priority-plugin tests | |
run: SKIP_COMPILATION=true ./scripts/test_priority_plugin_prometheus_exporter.sh |