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: | |
paths-ignore: | |
- README.md | |
- .gitignore | |
- doc | |
- docs | |
jobs: | |
build-and-test: | |
# See https://wildwolf.name/github-actions-how-to-avoid-running-the-same-workflow-multiple-times/ | |
if: (! contains(github.event.head_commit.message, '[skip ci]') && | |
((github.event_name != 'pull_request') || | |
(github.event.pull_request.head.repo.full_name != | |
github.event.pull_request.base.repo.full_name)) | |
) | |
runs-on: ${{ matrix.os }} | |
#continue-on-error: ${{ matrix.allow-fail }} | |
#continue-on-error: ${{ matrix.devshell == 'gcc' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-22.04, macos-12] | |
py: [311] | |
devshell: [ clang, gcc ] | |
#allow-fail: [false] | |
steps: | |
- uses: actions/checkout@v3.5.3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- uses: cachix/install-nix-action@v22 | |
with: | |
nix_path: nixpkgs=channel:nixos-23.05 | |
extra_nix_config: | | |
experimental-features = nix-command flakes | |
- uses: cachix/cachix-action@v12 | |
with: | |
name: nain4 # The name of the Cachix cache | |
# If you chose signing key for write access | |
#signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}' | |
# If you chose API tokens for write access OR if you have a private cache | |
authToken: '${{ secrets.CACHIX_JACG_NAIN4 }}' | |
- name: pre-build | |
run: | | |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then | |
echo "GITHUB_USERNAME=${{ github.event.pull_request.user.login }}" >> $GITHUB_ENV | |
else | |
echo "GITHUB_USERNAME=${{ github.actor }}" >> $GITHUB_ENV | |
fi | |
- name: Nix build | |
run: nix develop | |
- name: Test nain4 | |
run: nix develop .#${{ matrix.devshell }} -c just test-nain4 -v | |
- name: Run compile-time tests | |
run: nix develop .#${{ matrix.devshell }} -c just test-compile-time | |
- name: Run N4 examples | |
run: nix develop .#${{ matrix.devshell }} -c just n4-examples/run-all | |
- name: Run G4 examples | |
run: nix develop .#${{ matrix.devshell }} -c just g4-examples/run-examples-that-work |