chore(deps): Bump dtolnay/rust-toolchain from 6d653acede28d24f02e3cd41383119e8b1b35921 to f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 #3994
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 | |
| permissions: | |
| contents: read | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| paths: | |
| - 'Cargo.toml' | |
| - 'Cargo.lock' | |
| - '.github/workflows/ci.yml' | |
| - 'openstack_cli/**' | |
| - 'openstack_sdk/**' | |
| - 'openstack_tui/**' | |
| - 'openstack_types/**' | |
| - 'fuzz/**' | |
| env: | |
| CARGO_TERM_COLOR: always | |
| NEXTEST_RETRIES: 3 | |
| jobs: | |
| test: | |
| strategy: | |
| matrix: | |
| include: | |
| - target: x86_64-unknown-linux-gnu | |
| os: ubuntu-latest | |
| test_args: "" | |
| rust_ver: 1.88 | |
| # - target: x86_64-unknown-linux-musl | |
| # os: ubuntu-latest | |
| # - target: x86_64-apple-darwin | |
| # os: macos-latest | |
| # - target: x86_64-pc-windows-msvc | |
| # os: windows-latest | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 | |
| with: | |
| egress-policy: audit | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libudev-dev | |
| - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # stable | |
| with: | |
| targets: ${{ matrix.target }} | |
| toolchain: ${{ matrix.rust_ver }} | |
| - name: Install cargo-nextest | |
| uses: taiki-e/install-action@f37a1e4d34f3e1c6a571e294b0258f2805eab48d # v2.58.4 | |
| with: | |
| tool: cargo-nextest | |
| - name: Run tests | |
| run: cargo nextest run ${{ matrix.test_args }} --all-features | |
| - name: Run Doc tests | |
| run: cargo test --doc | |
| fuzz: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 | |
| with: | |
| egress-policy: audit | |
| - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # stable | |
| with: | |
| toolchain: nightly | |
| - name: Install cargo-fuzz | |
| run: | | |
| cargo install cargo-fuzz | |
| - name: Run tests | |
| run: cargo +nightly fuzz run fuzz_openstack_sdk_config --features=fuzzing -- -max_total_time=60 | |
| mock: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 | |
| with: | |
| egress-policy: audit | |
| - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # stable | |
| with: | |
| toolchain: stable | |
| - name: Start prism mock server - BlockStorage | |
| run: | | |
| docker run --init --rm -d -v "$GITHUB_WORKSPACE/openstack_types/data":"/data" -p 4010:4010 stoplight/prism:4 mock -h 0.0.0.0 /data/block-storage/v3.yaml -d | |
| - name: Start prism mock server - Compute | |
| run: | | |
| docker run --init --rm -d -v "$GITHUB_WORKSPACE/openstack_types/data":"/data" -p 4011:4010 stoplight/prism:4 mock -h 0.0.0.0 /data/compute/v2.yaml -d | |
| - name: Start prism mock server - DNS | |
| run: | | |
| docker run --init --rm -d -v "$GITHUB_WORKSPACE/openstack_types/data":"/data" -p 4012:4010 stoplight/prism:4 mock -h 0.0.0.0 /data/dns/v2.yaml -d | |
| - name: Start prism mock server - Identity | |
| run: | | |
| docker run --init --rm -d -v "$GITHUB_WORKSPACE/openstack_types/data":"/data" -p 4013:4010 stoplight/prism:4 mock -h 0.0.0.0 /data/identity/v3.yaml -d | |
| - name: Start prism mock server - Image | |
| run: | | |
| docker run --init --rm -d -v "$GITHUB_WORKSPACE/openstack_types/data":"/data" -p 4014:4010 stoplight/prism:4 mock -h 0.0.0.0 /data/image/v2.yaml -d | |
| - name: Start prism mock server - Load Balancer | |
| run: | | |
| docker run --init --rm -d -v "$GITHUB_WORKSPACE/openstack_types/data":"/data" -p 4015:4010 stoplight/prism:4 mock -h 0.0.0.0 /data/load-balancer/v2.yaml -d | |
| - name: Start prism mock server - Network | |
| run: | | |
| docker run --init --rm -d -v "$GITHUB_WORKSPACE/openstack_types/data":"/data" -p 4016:4010 stoplight/prism:4 mock -h 0.0.0.0 /data/network/v2.yaml -d | |
| - name: Start prism mock server - Object Storage | |
| run: | | |
| docker run --init --rm -d -v "$GITHUB_WORKSPACE/openstack_types/data":"/data" -p 4017:4010 stoplight/prism:4 mock -h 0.0.0.0 /data/object-store/v1.yaml -d | |
| - name: Run tests | |
| env: | |
| OPENSTACK_BLOCK_STORAGE_ENDPOINT: http://localhost:4010/v3 | |
| OPENSTACK_COMPUTE_ENDPOINT: http://localhost:4011/v2.1 | |
| OPENSTACK_DNS_ENDPOINT: http://localhost:4012/v2 | |
| OPENSTACK_IDENTITY_ENDPOINT: http://localhost:4013/v3 | |
| OPENSTACK_IMAGE_ENDPOINT: http://localhost:4014/v2 | |
| OPENSTACK_LOAD_BALANCER_ENDPOINT: http://localhost:4015/v2 | |
| OPENSTACK_NETWORK_ENDPOINT: http://localhost:4016/v2.0 | |
| OPENSTACK_OBJECT_STORE_ENDPOINT: http://localhost:4017/v1 | |
| run: cargo test -p openstack_types --test mocked |