Skip to content
This repository has been archived by the owner on May 24, 2022. It is now read-only.

JSON Test suite #13

Closed
wants to merge 27 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
18 changes: 18 additions & 0 deletions .github/workflows/audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Security audit
on:
pull_request:
paths: Cargo.lock
schedule:
- cron: '0 0 * * *'
jobs:
security_audit:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v1
with:
fetch-depth: 50
- name: Run cargo audit
uses: actions-rs/audit-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
99 changes: 99 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: Build and Test Suite

on:
pull_request:
push:
branches:
- master
- stable
jobs:
build-tests:
name: Test and Build
env:
SCCACHE_CACHE_SIZE: "1G"
SCCACHE_IDLE_TIMEOUT: 0
strategy:
matrix:
platform:
- ubuntu-20.04
- macos-latest
- windows-latest
toolchain:
- stable
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout sources
uses: actions/checkout@master
with:
submodules: true
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.toolchain }}
profile: minimal
override: true
- name: Cache cargo registry
uses: actions/cache@v2
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-build-tests-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v2
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-git-build-tests-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@v2
with:
path: target
key: ${{ runner.os }}-cargo-build-target-build-tests-${{ hashFiles('**/Cargo.lock') }}
- name: Cache sccache linux
if: matrix.platform == 'ubuntu-20.04'
uses: actions/cache@v2
with:
path: "/home/runner/.cache/sccache"
key: ${{ runner.os }}-sccache-build-tests-${{ hashFiles('**/Cargo.lock') }}
- name: Cache sccache MacOS
if: matrix.platform == 'macos-latest'
uses: actions/cache@v2
with:
path: "/Users/runner/Library/Caches/Mozilla.sccache"
key: ${{ runner.os }}-sccache-build-tests-${{ hashFiles('**/Cargo.lock') }}
- name: Cache sccache Windows
if: matrix.platform == 'windows-latest'
uses: actions/cache@v2
with:
path: "C:\\Users\\runneradmin\\AppData\\Local\\Mozilla\\sccache\\cache"
key: ${{ runner.os }}-sccache-build-tests-${{ hashFiles('**/Cargo.lock') }}
- name: Install sccache for ${{ matrix.platform }}
shell: pwsh
run: pwsh scripts/actions/install-sccache.ps1 ${{ runner.os}}
- name: Install LLVM for Windows
if: matrix.platform == 'windows-latest'
run: choco install llvm
- name: Sccache statistics
run: sccache --show-stats
- name: Build tests
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --all --release --features "json-tests" --verbose --no-run
- name: Run tests for ${{ matrix.platform }}
if: matrix.platform == 'windows-latest'
continue-on-error: true #Skip step if Windows tests failure
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --all --release --features "json-tests" --verbose
- name: Run tests for ${{ matrix.platform }}
if: matrix.platform != 'windows-latest'
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --all --release --features "json-tests" --verbose
- name: Stop sccache
if: always()
run: sccache --stop-server
- name: Prepare build directory for cache
shell: bash
run: bash scripts/actions/clean-target.sh
Loading