Skip to content

Bicat of bimods

Bicat of bimods #591

Workflow file for this run

name: Ubuntu build
on:
push:
branches:
- master
pull_request:
branches:
- master
########################################################################
## CONFIGURATION
##
## Key variables:
##
## AGDA_VERSION picks the version of Agda to use to build the library.
##
## STDLIB_VERSION picks the version of the stdlib to pull. The current
## design requires that the number corresponds to a released version
## but we could change that to a commit-based approach if you need to.
##
## The rest:
##
## The AGDA variable specifies the command to use to build the library.
## It currently passes the flag `-Werror` to ensure maximal compliance
## with e.g. not relying on deprecated definitions.
## The rest are some arbitrary runtime arguments that shape the way Agda
## allocates and garbage collects memory. It should make things faster.
## Limits can be bumped if the builds start erroring with out of memory
## errors.
##
########################################################################
env:
AGDA_VERSION: "2.7.0.1"
STDLIB_VERSION: "2.1"
AGDA: agda --auto-inline -Werror +RTS -M6G -H3.5G -A128M -RTS -i . -i src/
jobs:
test-categories:
runs-on: ubuntu-latest
steps:
# By default github actions do not pull the repo
- name: Checkout agda-categories
uses: actions/checkout@v4
########################################################################
## SETTINGS
########################################################################
- name: Initialise variables
run: |
# Only deploy if the build follows from pushing to master
if [[ '${{ github.ref }}' == 'refs/heads/master' ]]; then
echo "AGDA_DEPLOY=true" >> $GITHUB_ENV
fi
########################################################################
## CACHING
########################################################################
# This caching step allows us to save a lot of building time by only
# downloading ghc and cabal and rebuilding Agda if absolutely necessary
# i.e. if we change either the version of Agda, ghc, or cabal that we want
# to use for the build.
- name: Open cache
uses: actions/cache@v4
id: cache-everything
with:
path: |
~/.agda
~/_build
key: ${{ runner.os }}-agda-${{ env.AGDA_VERSION }}
########################################################################
## INSTALLATION STEPS
########################################################################
- name: Install Agda
uses: wenkokke/setup-agda@main
with:
agda-version: ${{ env.AGDA_VERSION }}
agda-stdlib-version: ${{ env.STDLIB_VERSION }}
########################################################################
## TESTING
########################################################################
# Generate a fresh Everything.agda & index.agda and start building!
- name: Test agda-categories
run: |
cp travis/* .
./everything.sh
${{ env.AGDA }} Everything.agda
${{ env.AGDA }} index.agda
# Note that if you want to deploy html for different versions like the
# standard library does, you will need to be a bit more subtle in this
# step.
- name: Generate HTML
run: |
${{ env.AGDA }} --html --html-dir html index.agda
########################################################################
## DEPLOYMENT
########################################################################
- name: Deploy HTML
uses: JamesIves/[email protected]
if: ${{ success() && env.AGDA_DEPLOY }}
with:
branch: gh-pages
folder: html