Expose the Runner API to allow 3rd party Procedures. #1037
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: Test | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
- dev | |
paths: | |
- ".github/workflows/test.yml" | |
- "**.rs" | |
- "**.toml" | |
jobs: | |
build-and-test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
project: [engine, client, derive, utils] | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Get current date | |
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' | |
run: echo "CURRENT_DATE=$(date +'%Y-%m-%d')" >> $GITHUB_ENV | |
- name: Get current date | |
if: matrix.os == 'windows-latest' | |
run: echo "CURRENT_DATE=$(Get-Date -Format "yyyy-MM-dd")" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
- name: Cache cargo registry | |
uses: actions/[email protected] | |
with: | |
path: ~/.cargo/registry | |
# Add date to the cache to keep it up to date | |
key: ${{ matrix.project }}-${{ matrix.os }}-${{ matrix.rust }}-cargo-registry-${{ hashFiles('**/Cargo.toml') }}-${{ env.CURRENT_DATE }} | |
# Restore from outdated cache for speed | |
restore-keys: | | |
${{ matrix.project }}-${{ matrix.os }}-${{ matrix.rust }}-cargo-registry-${{ hashFiles('**/Cargo.toml') }} | |
- name: Cache cargo index | |
uses: actions/[email protected] | |
with: | |
path: ~/.cargo/git | |
# Add date to the cache to keep it up to date | |
key: ${{ matrix.project }}-${{ matrix.os }}-${{ matrix.rust }}-cargo-index-${{ hashFiles('**/Cargo.toml') }}-${{ env.CURRENT_DATE }} | |
# Restore from outdated cache for speed | |
restore-keys: | | |
${{ matrix.project }}-${{ matrix.os }}-${{ matrix.rust }}-cargo-index-${{ hashFiles('**/Cargo.toml') }} | |
- name: Cache cargo target | |
uses: actions/[email protected] | |
with: | |
path: ${{ matrix.project}}/target | |
# Add date to the cache to keep it up to date | |
key: ${{ matrix.project }}-${{ matrix.os }}-${{ matrix.rust }}-cargo-build-target-${{ hashFiles('**/Cargo.toml') }}-${{ env.CURRENT_DATE }} | |
# Restore from outdated cache for speed | |
restore-keys: | | |
${{ matrix.project }}-${{ matrix.os }}-${{ matrix.rust }}-cargo-build-target-${{ hashFiles('**/Cargo.toml') }} | |
- name: Run tests for ${{ matrix.project }} | |
if: matrix.project != 'engine' | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --manifest-path=${{ matrix.project }}/Cargo.toml --release | |
- name: Run tests for engine | |
# Because of the way engine is structured, we need to specify each package to be tested | |
if: matrix.project == 'engine' | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --manifest-path=engine/Cargo.toml --release -p stronghold-runtime |