FedRAMP Rev5 Baselines #199
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
# This action runs unit tests for the OSCAL (schematron) validations to ensure validations | |
# are working against known samples | |
name: "OSCAL Validations: Unit Tests" | |
# Triggered when code is pushed to master and on pull requests | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
# the job requires some dependencies to be installed (including submodules), runs the tests, and then reports results | |
jobs: | |
# one job that runs tests | |
run-tests: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macos-latest, ubuntu-latest, windows-latest] | |
arch: [arm64, x86_64] | |
# Checkout repository and its submodules | |
steps: | |
# Check-out the repository under $GITHUB_WORKSPACE | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Read node version from `.nvmrc` file | |
id: nvmrc | |
shell: bash | |
run: echo ::set-output name=NODE_VERSION::$(cat .nvmrc) | |
- name: Install required node.js version | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ steps.nvmrc.outputs.NODE_VERSION }} | |
- name: Install required Python version | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
# Initialize the workspace with submodules and dependencies. | |
- name: Initialize workspace | |
shell: bash | |
run: make init | |
# Compile Schematron to XSL. | |
- name: Compile Schematron | |
shell: bash | |
run: make build-validations | |
- name: Run complete test suite | |
shell: bash | |
if: runner.os == 'Linux' | |
run: | | |
make test | |
- name: Run limited test suite | |
shell: bash | |
if: runner.os == 'Windows' || runner.os == 'macOS' | |
run: | | |
make test-validations test-web | |
- name: Build all | |
shell: bash | |
if: runner.os == 'Windows' || runner.os == 'macOS' | |
run: | | |
make build |