This repository has been archived by the owner on Jul 21, 2024. It is now read-only.
chore(deps): update github/codeql-action action to v3 #15
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: Build and test | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
jobs: | |
unit_tests: | |
name: Unit tests | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
rust: [stable, beta, nightly] | |
runs-on: ${{ matrix.os }} | |
continue-on-error: ${{ matrix.rust == 'nightly' }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Set up Rust | |
uses: hecrj/setup-rust-action@v1 | |
with: | |
rust-version: ${{ matrix.rust }} | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Run unit tests | |
shell: bash | |
run: RUST_VERSION=${{ matrix.rust }} make unit_test_no_doctests | |
integration_tests: | |
name: Integration test compilation check | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
rust: [stable, beta, nightly] | |
runs-on: ${{ matrix.os }} | |
continue-on-error: ${{ matrix.rust == 'nightly' }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Set up Rust | |
uses: hecrj/setup-rust-action@v1 | |
with: | |
rust-version: ${{ matrix.rust }} | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Cargo check integration tests | |
shell: bash | |
run: RUST_VERSION=${{ matrix.rust }} make check_integration_test | |
credentials_integration_tests: | |
name: Credentials integration test | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
rust: [stable, beta, nightly] | |
runs-on: ${{ matrix.os }} | |
continue-on-error: ${{ matrix.rust == 'nightly' }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Set up Rust | |
uses: hecrj/setup-rust-action@v1 | |
with: | |
rust-version: ${{ matrix.rust }} | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Credential integration tests | |
shell: bash | |
run: RUST_VERSION=${{ matrix.rust }} make credential_integration_test | |
rustls_unit_tests: | |
name: Rustls unit tests | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
rust: [stable, beta, nightly] | |
runs-on: ${{ matrix.os }} | |
continue-on-error: ${{ matrix.rust == 'nightly' }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Set up Rust | |
uses: hecrj/setup-rust-action@v1 | |
with: | |
rust-version: ${{ matrix.rust }} | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Run unit tests with rustls | |
shell: bash | |
run: RUST_VERSION=${{ matrix.rust }} make rustls_unit_test_no_doctests | |
crate_gen: | |
name: Crate generation | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
with: | |
submodules: recursive | |
- name: Set up Rust | |
uses: hecrj/setup-rust-action@v1 | |
with: | |
components: rustfmt | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Generate crates | |
run: make generate | |
struct_serialize_feature_test: | |
name: Serialize Struct Feature | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Set up Rust | |
uses: hecrj/setup-rust-action@v1 | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Run Checks | |
run: make serialize_structs_limited_test | |
skeptic: | |
name: Skeptic tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Set up Rust | |
uses: hecrj/setup-rust-action@v1 | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Skeptic Test | |
run: make skeptical | |
s3_and_crategen: | |
name: Test S3 like services and check generated files | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Set up Rust | |
uses: hecrj/setup-rust-action@v1 | |
with: | |
components: rustfmt | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Test S3 like services and check generated files | |
run: ci/run.sh |