Skip to content

chore: Fix CI

chore: Fix CI #2

Workflow file for this run

name: Build and test
on:
push:
branches:
- master
- cse
pull_request:
branches:
- master
- cse
env:
CSE_RUST_VERSION: 'nightly-2022-11-15'
jobs:
unit_tests:
name: Unit tests
strategy:
matrix:
os: [ubuntu-latest]
rust: [stable, $CSE_RUST_VERSION]
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]
rust: [stable, $CSE_RUST_VERSION]
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, $CSE_RUST_VERSION]
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]
rust: [stable, $CSE_RUST_VERSION]
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]
rust: [stable, $CSE_RUST_VERSION]
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: RUST_VERSION=$CSE_RUST_VERSION 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: RUST_VERSION=$CSE_RUST_VERSION 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: RUST_VERSION=$CSE_RUST_VERSION 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: RUST_VERSION=$CSE_RUST_VERSION ci/run.sh