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 env: WITH_SHELL: "nix-shell --argstr compiler ${{matrix.compiler}} --run" run: ${WITH_SHELL} 'env' - name: Make configure script env: WITH_SHELL: "nix-shell --argstr compiler ${{matrix.compiler}} --run" run: test -f ./configure || ${WITH_SHELL} 'autoreconf -sfiv' ## TODO: do this in a matrix - name: Compiler ${{matrix.compiler}} env: WITH_SHELL: "nix-shell ../../shell.nix --argstr compiler ${{matrix.compiler}} --run" run: | mkdir -p build/${{matrix.compiler}} cd build/${{matrix.compiler}} $WITH_SHELL '../../configure' $WITH_SHELL 'make ctf' $WITH_SHELL 'make' 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