Skip to content

Support IMDSv2

Support IMDSv2 #6

Workflow file for this run

name: Build and test
on:
push:
branches:
- master
- cse
pull_request:
branches:
- master
- cse
env:
RUST_VERSION: 'nightly-2022-11-15'
jobs:
unit_tests:
name: Unit tests
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Set up Rust
uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ env.RUST_VERSION }}
- 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: make unit_test_no_doctests
integration_tests:
name: Integration test compilation check
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Set up Rust
uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ env.RUST_VERSION }}
- 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: make check_integration_test
credentials_integration_tests:
name: Credentials integration test
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Set up Rust
uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ env.RUST_VERSION }}
- 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: make credential_integration_test
rustls_unit_tests:
name: Rustls unit tests
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Set up Rust
uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ env.RUST_VERSION }}
- 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: make rustls_unit_test_no_doctests
crate_gen:
name: Crate generation
strategy:
matrix:
os: [ubuntu-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:
rust-version: ${{ env.RUST_VERSION }}
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
with:
rust-version: ${{ env.RUST_VERSION }}
- 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
with:
rust-version: ${{ env.RUST_VERSION }}
- 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:
rust-version: ${{ env.RUST_VERSION }}
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