atrip/.github/workflows/main.yml
2022-03-14 13:41:07 +01:00

84 lines
1.8 KiB
YAML

name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [gcc6, gcc7, gcc8, gcc9, gcc10, gcc11, clang9, clang10, clang11, clang12, clang13]
steps:
- uses: actions/checkout@v2.3.4
- name: Install Nix
uses: cachix/install-nix-action@v15
with:
nix_path: nixpkgs=channel:nixos-unstable
- name: Install nix dependencies
run: nix-shell --run 'env'
- name: Make configure script
run: test -f ./configure || nix-shell --run 'autoreconf -sfiv'
## TODO: do this in a matrix
- name: Compiler ${{matrix.compiler}}
run: |
mkdir -p build/${{matrix.compiler}}
cd build/${{matrix.compiler}}
nix-shell $_NIXSHELL --run '../../configure'
nix-shell $_NIXSHELL --run 'make ctf'
nix-shell $_NIXSHELL --run 'make'
env:
_NIXSHELL="../../shell.nix"
documentation:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v2.3.4
- name: Install Nix
uses: cachix/install-nix-action@v15
with:
nix_path: nixpkgs=channel:nixos-unstable
- name: Check configure
run: test -f configure
- name: Install dependencies
run: |
cd docs
nix-shell --run 'emacs --version'
nix-shell --run 'python --version'
nix-shell --run 'sphinx-build --version'
- name: doxygen
run: |
cd docs
nix-shell --run 'make doxygen'
- name: sphinx
run: |
cd docs
nix-shell --run 'make sphinx'
- name: nojekyll
run: |
cd docs/build
touch .nojekyll
- name: Deploy
uses: JamesIves/github-pages-deploy-action@4.1.0
with:
branch: gh-pages
folder: ./docs/build