unify management of MSRV #3579
Workflow file for this run
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: | |
pull_request: | |
push: | |
env: | |
RUSTFLAGS: -Dwarnings | |
CARGO_INCREMENTAL: 0 | |
jobs: | |
msrv: | |
name: Get minimum supported rust version | |
runs-on: ubuntu-20.04 | |
outputs: | |
msrv: ${{ steps.msrv.outputs.msrv }} | |
steps: | |
- uses: actions/checkout@v3 | |
- run: | | |
MSRV=$(cargo metadata --format-version=1 --no-deps | jq '.packages[] | select(.name == "azure_core").rust_version' -r) | |
echo ::set-output name=msrv::${MSRV} | |
code-style: | |
name: Code Style | |
runs-on: ubuntu-20.04 | |
needs: | |
- msrv | |
strategy: | |
matrix: | |
# we don't care about code style from nightly | |
build: | |
- stable | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- run: eng/scripts/code_style.sh ${{ matrix.build }} | |
test-sdk: | |
name: SDK Tests | |
runs-on: ubuntu-20.04 | |
needs: | |
- msrv | |
strategy: | |
matrix: | |
build: | |
- stable | |
- nightly | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- run: eng/scripts/sdk_tests.sh ${{ matrix.build }} | |
test-services: | |
name: Services Tests | |
runs-on: ubuntu-20.04 | |
needs: | |
- msrv | |
strategy: | |
matrix: | |
build: | |
- stable | |
- nightly | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- run: eng/scripts/services_tests.sh ${{ matrix.build }} | |
- name: display free disk space | |
run: df -h / | |
if: ${{ always() }} | |
test-integration: | |
name: Integration Tests | |
runs-on: ubuntu-20.04 | |
needs: | |
- msrv | |
strategy: | |
matrix: | |
build: | |
- stable | |
- nightly | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- run: eng/scripts/emulator_tests.sh ${{ matrix.build }} | |
- name: display free disk space | |
run: df -h / | |
if: ${{ always() }} | |
test-e2e: | |
name: E2E Tests | |
runs-on: ubuntu-20.04 | |
needs: | |
- msrv | |
strategy: | |
matrix: | |
build: | |
- stable | |
- nightly | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- run: eng/scripts/e2e_tests.sh ${{ matrix.build }}} | |
- name: display free disk space | |
run: df -h / | |
if: ${{ always() }} | |
test-autorust: | |
name: test AutoRust | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: git clone | |
uses: actions/checkout@v3 | |
with: | |
path: azure-sdk-for-rust | |
- name: git clone Azure/azure-rest-api-specs | |
uses: actions/checkout@v3 | |
with: | |
repository: Azure/azure-rest-api-specs | |
path: azure-rest-api-specs | |
- name: git clone OAI/OpenAPI-Specification | |
uses: actions/checkout@v3 | |
with: | |
repository: OAI/OpenAPI-Specification | |
path: OpenAPI-Specification | |
- run: azure-sdk-for-rust/eng/scripts/autorust_tests.sh |