Skip to content

Simplify CartesianKanOps/FunExtEquiv using "interpolation" on I #2468

Simplify CartesianKanOps/FunExtEquiv using "interpolation" on I

Simplify CartesianKanOps/FunExtEquiv using "interpolation" on I #2468

Workflow file for this run

## Adapted from the agda/agda-stdlib workflow
name: Ubuntu build
on:
push:
branches:
- master
pull_request:
branches:
- master
########################################################################
## CONFIGURATION
##
## See SETTINGS for the most important configuration variable: AGDA_BRANCH.
## It has to be defined as a build step because it is potentially branch
## dependent.
##
## As for the rest:
##
## Basically do not touch GHC_VERSION and CABAL_VERSION as long as
## they aren't a problem in the build. If you have time to waste, it
## could be worth investigating whether newer versions of ghc produce
## more efficient Agda executable and could cut down the build time.
## Just be aware that actions are flaky and small variations are to be
## expected.
##
## The CABAL_INSTALL variable only passes `-O1` optimisations to ghc
## because github actions cannot currently handle a build using `-O2`.
## To be experimented with again in the future to see if things have
## gotten better.
##
########################################################################
env:
GHC_VERSION: 8.6.5
CABAL_VERSION: 3.2.0.0
CABAL_INSTALL: cabal install --overwrite-policy=always --ghc-options='-O1 +RTS -M6G -RTS'
jobs:
test-cubical:
runs-on: ubuntu-latest
steps:
########################################################################
## SETTINGS
##
## AGDA_BRANCH picks the branch of Agda to use to build the library.
########################################################################
- name: Initialise variables
run: |
# Pick Agda version
echo "AGDA_BRANCH=v2.6.3" >> $GITHUB_ENV
########################################################################
## CHECKOUT
########################################################################
# By default github actions do not pull the repo
- name: Checkout cubical
uses: actions/checkout@v3
########################################################################
## CACHING
########################################################################
# This caching step allows us to save a lot of building time by only
# downloading ghc and cabal, rebuilding Agda, and re-checking unchanged
# library files 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: Cache cabal packages
uses: actions/cache@v3
id: cache-cabal
with:
path: |
~/.cabal/packages
~/.cabal/store
~/.cabal/bin
key: ${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}-${{ env.AGDA_BRANCH }}
- name: Cache library build
uses: actions/cache@v3
id: cache-library
with:
path: ./_build
key: library-${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}-${{ env.AGDA_BRANCH }}-${{ hashFiles('Cubical/**') }}
restore-keys: |
library-${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}-${{ env.AGDA_BRANCH }}-
########################################################################
## INSTALLATION STEPS
########################################################################
- name: Install cabal
if: steps.cache-cabal.outputs.cache-hit != 'true'
uses: haskell/actions/setup@v2
with:
ghc-version: ${{ env.GHC_VERSION }}
cabal-version: ${{ env.CABAL_VERSION }}
- name: Put cabal programs in PATH
run: echo "~/.cabal/bin" >> $GITHUB_PATH
- name: Cabal update
run: cabal update
- name: Download and install Agda from github
if: steps.cache-cabal.outputs.cache-hit != 'true'
run: |
git clone https://github.com/agda/agda --branch ${{ env.AGDA_BRANCH }} --depth=1
cd agda
mkdir -p doc
touch doc/user-manual.pdf
${{ env.CABAL_INSTALL }}
cd ..
rm -rf agda
- name: Download and install fix-whitespace
if: steps.cache-cabal.outputs.cache-hit != 'true'
run: |
git clone https://github.com/agda/fix-whitespace --depth=1
cd fix-whitespace
${{ env.CABAL_INSTALL }} fix-whitespace.cabal
cd ..
########################################################################
## TESTING
########################################################################
- name: Test cubical
run: |
make test \
AGDA_EXEC='~/.cabal/bin/agda -WnoUnsupportedIndexedMatch -W error' \
FIX_WHITESPACE='~/.cabal/bin/fix-whitespace' \
EVERYTHINGS='cabal run Everythings'
########################################################################
## HTML GENERATION
########################################################################
- name: Htmlize cubical
if: github.event_name == 'push' && github.ref_name == 'master'
run: |
make listings \
AGDA_EXEC='~/.cabal/bin/agda -WnoUnsupportedIndexedMatch -W error' \
FIX_WHITESPACE='~/.cabal/bin/fix-whitespace' \
EVERYTHINGS='cabal run Everythings'
- name: Deploy to GitHub Pages
if: github.event_name == 'push' && github.ref_name == 'master'
uses: JamesIves/github-pages-deploy-action@4.1.8
with:
branch: gh-pages
folder: html