atrip/.github/workflows/main.yml
2022-03-10 14:50:30 +01:00

80 lines
1.8 KiB
YAML

name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4
- name: Install Nix
uses: cachix/install-nix-action@v13
with:
nix_path: nixpkgs=channel:nixos-unstable
- name: Tangle
run: nix-shell --run 'make tangle'
## TODO: do this in a matrix
- name: gcc → Build external dependencies
run: nix-shell --run 'make extern CONFIG=gcc'
- name: gcc → Build lib
run: nix-shell --run 'make lib CONFIG=gcc'
- name: gcc → Build bench
run: nix-shell --run 'make bench CONFIG=gcc'
- name: clang → Build external dependencies
run: nix-shell --arg with-clang true --run 'make extern CONFIG=clang'
- name: clang → Build lib
run: nix-shell --arg with-clang true --run 'make lib CONFIG=clang'
- name: clang → Build bench
run: nix-shell --arg with-clang true --run 'make bench CONFIG=clang'
documentation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4
- name: Install Nix
uses: cachix/install-nix-action@v13
with:
nix_path: nixpkgs=channel:nixos-unstable
- 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: Make sphinx as the main page
run: |
cd docs
mv sphinx/* .
- name: Deploy
uses: JamesIves/github-pages-deploy-action@4.1.0
with:
branch: gh-pages
folder: ./docs