From 5aba8b9bd8ab3026b72ba92fe5478fc39984e140 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 11:42:17 -0400 Subject: [PATCH 01/21] Split workflow into multiple jobs --- .github/workflows/ci-ubuntu.yml | 59 +++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 24 deletions(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index a623879445..e2a6043f56 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -54,11 +54,6 @@ env: CABAL_INSTALL: cabal install --overwrite-policy=always --ghc-options='-O1 +RTS -M6G -RTS' AGDA: agda -Werror +RTS -M5G -H3.5G -A128M -RTS -i. -isrc -idoc -jobs: - test-stdlib: - runs-on: ubuntu-latest - steps: - ######################################################################## ## SETTINGS ## @@ -71,6 +66,15 @@ jobs: ## master version at the root and the experimental in a subdirectory. ######################################################################## +jobs: + + ######################################################################## + ## INITIALISATION + ######################################################################## + init: + runs-on: ubuntu-latest + steps: + - name: Initialise variables run: | if [[ '${{ github.ref }}' == 'refs/heads/experimental' \ @@ -89,9 +93,9 @@ jobs: echo "AGDA_DEPLOY=true" >> "${GITHUB_ENV}" fi -######################################################################## -## CACHING -######################################################################## + ######################################################################## + ## CACHING + ######################################################################## # This caching step allows us to save a lot of building time by only @@ -109,9 +113,9 @@ jobs: ~/.cabal/share key: ${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}-${{ env.AGDA_COMMIT }}-cache -######################################################################## -## INSTALLATION STEPS -######################################################################## + ######################################################################## + ## INSTALLATION STEPS + ######################################################################## - name: Install ghc & cabal uses: haskell-actions/setup@v2 @@ -142,14 +146,18 @@ jobs: ${{ env.CABAL_V1_INSTALL }} cd .. -######################################################################## -## TESTING -######################################################################## - # By default github actions do not pull the repo - name: Checkout stdlib uses: actions/checkout@v5 + ######################################################################## + ## TESTING + ######################################################################## + test-stdlib: + needs: init + runs-on: ubuntu-latest + steps: + - name: Test stdlib run: | # Including deprecated modules purely for testing @@ -157,6 +165,18 @@ jobs: ${{ env.AGDA }} -WnoUserWarning --safe EverythingSafe.agda ${{ env.AGDA }} -WnoUserWarning Everything.agda + - name: Golden testing + run: | + make testsuite INTERACTIVE='' AGDA_EXEC='agda' GHC_EXEC='ghc' + + + ######################################################################## + ## DOC DEPLOYMENT + ######################################################################## + html: + needs: init + runs-on: ubuntu-latest + steps: - name: Prepare HTML index run: | # Regenerating the Everything files without the deprecated modules @@ -167,15 +187,6 @@ jobs: ${{ env.AGDA }} Everything.agda ${{ env.AGDA }} index.agda - - name: Golden testing - run: | - make testsuite INTERACTIVE='' AGDA_EXEC='agda' GHC_EXEC='ghc' - - -######################################################################## -## DOC DEPLOYMENT -######################################################################## - # We start by retrieving the currently deployed docs # We remove the content that is in the directory we are going to populate # so that stale files corresponding to deleted modules do not accumulate. From 09510740b0ffa5e3ff11a29bdeb09447f4c49196 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 12:36:05 -0400 Subject: [PATCH 02/21] Split init into composible action --- .github/workflows/ci-ubuntu-init/action.yml | 84 +++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 .github/workflows/ci-ubuntu-init/action.yml diff --git a/.github/workflows/ci-ubuntu-init/action.yml b/.github/workflows/ci-ubuntu-init/action.yml new file mode 100644 index 0000000000..00387fa569 --- /dev/null +++ b/.github/workflows/ci-ubuntu-init/action.yml @@ -0,0 +1,84 @@ +name: "CI Ubuntu Init" +description: "Set up variables and install dependencies for ci-ubuntu" + +runs: + using: "composite" + ######################################################################## + ## INITIALISATION + ######################################################################## + steps: + + - name: Initialise variables + run: | + if [[ '${{ github.ref }}' == 'refs/heads/experimental' \ + || '${{ github.base_ref }}' == 'experimental' ]]; then + # Pick Agda version for experimental + echo "AGDA_COMMIT=tags/v2.8.0" >> "${GITHUB_ENV}"; + echo "AGDA_HTML_DIR=html/experimental" >> "${GITHUB_ENV}" + else + # Pick Agda version for master + echo "AGDA_COMMIT=tags/v2.8.0" >> "${GITHUB_ENV}"; + echo "AGDA_HTML_DIR=html/master" >> "${GITHUB_ENV}" + fi + + if [[ '${{ github.ref }}' == 'refs/heads/master' \ + || '${{ github.ref }}' == 'refs/heads/experimental' ]]; 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: Cache ~/.cabal directories + uses: actions/cache@v4 + id: cache-cabal + with: + path: | + ~/.cabal/packages + ~/.cabal/store + ~/.cabal/bin + ~/.cabal/share + key: ${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}-${{ env.AGDA_COMMIT }}-cache + + ######################################################################## + ## INSTALLATION STEPS + ######################################################################## + + - name: Install ghc & cabal + uses: haskell-actions/setup@v2 + with: + ghc-version: ${{ env.GHC_VERSION }} + cabal-version: ${{ env.CABAL_VERSION }} + cabal-update: true + + - name: Put cabal programs in PATH + run: echo ~/.cabal/bin >> "${GITHUB_PATH}" + + - name: Install alex & happy + if: steps.cache-cabal.outputs.cache-hit != 'true' + run: | + ${{ env.CABAL_INSTALL }} alex + ${{ env.CABAL_INSTALL }} happy + # happy>=2.0 cannot be v1-installed: https://github.com/haskell/happy/issues/315 + # Since we only need the executable, it is fine to use v2-install here. + + - name: Download and install Agda from github + if: steps.cache-cabal.outputs.cache-hit != 'true' + run: | + git clone https://github.com/agda/agda + cd agda + git checkout ${{ env.AGDA_COMMIT }} + mkdir -p doc + touch doc/user-manual.pdf + ${{ env.CABAL_V1_INSTALL }} + cd .. + + # By default github actions does not pull the repo + - name: Checkout stdlib + uses: actions/checkout@v5 \ No newline at end of file From 0ac360d4db7f04bafbed1899357abd099bbb7067 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 12:36:15 -0400 Subject: [PATCH 03/21] Fix init --- .github/workflows/ci-ubuntu.yml | 90 +++------------------------------ 1 file changed, 6 insertions(+), 84 deletions(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index e2a6043f56..e3246f2b74 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -68,96 +68,16 @@ env: jobs: - ######################################################################## - ## INITIALISATION - ######################################################################## - init: - runs-on: ubuntu-latest - steps: - - - name: Initialise variables - run: | - if [[ '${{ github.ref }}' == 'refs/heads/experimental' \ - || '${{ github.base_ref }}' == 'experimental' ]]; then - # Pick Agda version for experimental - echo "AGDA_COMMIT=tags/v2.8.0" >> "${GITHUB_ENV}"; - echo "AGDA_HTML_DIR=html/experimental" >> "${GITHUB_ENV}" - else - # Pick Agda version for master - echo "AGDA_COMMIT=tags/v2.8.0" >> "${GITHUB_ENV}"; - echo "AGDA_HTML_DIR=html/master" >> "${GITHUB_ENV}" - fi - - if [[ '${{ github.ref }}' == 'refs/heads/master' \ - || '${{ github.ref }}' == 'refs/heads/experimental' ]]; 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: Cache ~/.cabal directories - uses: actions/cache@v4 - id: cache-cabal - with: - path: | - ~/.cabal/packages - ~/.cabal/store - ~/.cabal/bin - ~/.cabal/share - key: ${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}-${{ env.AGDA_COMMIT }}-cache - - ######################################################################## - ## INSTALLATION STEPS - ######################################################################## - - - name: Install ghc & cabal - uses: haskell-actions/setup@v2 - with: - ghc-version: ${{ env.GHC_VERSION }} - cabal-version: ${{ env.CABAL_VERSION }} - cabal-update: true - - - name: Put cabal programs in PATH - run: echo ~/.cabal/bin >> "${GITHUB_PATH}" - - - name: Install alex & happy - if: steps.cache-cabal.outputs.cache-hit != 'true' - run: | - ${{ env.CABAL_INSTALL }} alex - ${{ env.CABAL_INSTALL }} happy - # happy>=2.0 cannot be v1-installed: https://github.com/haskell/happy/issues/315 - # Since we only need the executable, it is fine to use v2-install here. - - - name: Download and install Agda from github - if: steps.cache-cabal.outputs.cache-hit != 'true' - run: | - git clone https://github.com/agda/agda - cd agda - git checkout ${{ env.AGDA_COMMIT }} - mkdir -p doc - touch doc/user-manual.pdf - ${{ env.CABAL_V1_INSTALL }} - cd .. - - # By default github actions do not pull the repo - - name: Checkout stdlib - uses: actions/checkout@v5 - ######################################################################## ## TESTING ######################################################################## test-stdlib: - needs: init runs-on: ubuntu-latest steps: + - name: Init + uses: ./.github/workflows/ci-ubuntu-init + - name: Test stdlib run: | # Including deprecated modules purely for testing @@ -174,9 +94,11 @@ jobs: ## DOC DEPLOYMENT ######################################################################## html: - needs: init runs-on: ubuntu-latest steps: + - name: Init + uses: ./.github/workflows/ci-ubuntu-init + - name: Prepare HTML index run: | # Regenerating the Everything files without the deprecated modules From ae3cdd7acafc18f2ca21c5a90f20d56831acc1a1 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 12:46:55 -0400 Subject: [PATCH 04/21] Run checkout before composite action --- .github/workflows/ci-ubuntu-init/action.yml | 7 +------ .github/workflows/ci-ubuntu.yml | 2 ++ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci-ubuntu-init/action.yml b/.github/workflows/ci-ubuntu-init/action.yml index 00387fa569..a59521eb5d 100644 --- a/.github/workflows/ci-ubuntu-init/action.yml +++ b/.github/workflows/ci-ubuntu-init/action.yml @@ -7,7 +7,6 @@ runs: ## INITIALISATION ######################################################################## steps: - - name: Initialise variables run: | if [[ '${{ github.ref }}' == 'refs/heads/experimental' \ @@ -77,8 +76,4 @@ runs: mkdir -p doc touch doc/user-manual.pdf ${{ env.CABAL_V1_INSTALL }} - cd .. - - # By default github actions does not pull the repo - - name: Checkout stdlib - uses: actions/checkout@v5 \ No newline at end of file + cd .. \ No newline at end of file diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index e3246f2b74..599829e3ca 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -76,6 +76,7 @@ jobs: steps: - name: Init + uses: actions/checkout@v5 uses: ./.github/workflows/ci-ubuntu-init - name: Test stdlib @@ -97,6 +98,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Init + uses: actions/checkout@v5 uses: ./.github/workflows/ci-ubuntu-init - name: Prepare HTML index From 2095827bf1cf5631d6eb986fa997a9da0f610903 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 12:50:24 -0400 Subject: [PATCH 05/21] Fix checkout step --- .github/workflows/ci-ubuntu.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index 599829e3ca..94bb1def27 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -74,9 +74,8 @@ jobs: test-stdlib: runs-on: ubuntu-latest steps: - + - uses: actions/checkout@v5 - name: Init - uses: actions/checkout@v5 uses: ./.github/workflows/ci-ubuntu-init - name: Test stdlib @@ -97,8 +96,8 @@ jobs: html: runs-on: ubuntu-latest steps: + - uses: actions/checkout@v5 - name: Init - uses: actions/checkout@v5 uses: ./.github/workflows/ci-ubuntu-init - name: Prepare HTML index From 613db50482c3ac16d31c133d2435e0fcf421877b Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 12:53:00 -0400 Subject: [PATCH 06/21] Add shell property to steps --- .github/workflows/ci-ubuntu-init/action.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ci-ubuntu-init/action.yml b/.github/workflows/ci-ubuntu-init/action.yml index a59521eb5d..f2f3f454e5 100644 --- a/.github/workflows/ci-ubuntu-init/action.yml +++ b/.github/workflows/ci-ubuntu-init/action.yml @@ -8,6 +8,7 @@ runs: ######################################################################## steps: - name: Initialise variables + shell: bash run: | if [[ '${{ github.ref }}' == 'refs/heads/experimental' \ || '${{ github.base_ref }}' == 'experimental' ]]; then @@ -35,6 +36,7 @@ runs: # i.e. if we change either the version of Agda, ghc, or cabal that we want # to use for the build. - name: Cache ~/.cabal directories + shell: bash uses: actions/cache@v4 id: cache-cabal with: @@ -50,6 +52,7 @@ runs: ######################################################################## - name: Install ghc & cabal + shell: bash uses: haskell-actions/setup@v2 with: ghc-version: ${{ env.GHC_VERSION }} @@ -57,9 +60,11 @@ runs: cabal-update: true - name: Put cabal programs in PATH + shell: bash run: echo ~/.cabal/bin >> "${GITHUB_PATH}" - name: Install alex & happy + shell: bash if: steps.cache-cabal.outputs.cache-hit != 'true' run: | ${{ env.CABAL_INSTALL }} alex @@ -68,6 +73,7 @@ runs: # Since we only need the executable, it is fine to use v2-install here. - name: Download and install Agda from github + shell: bash if: steps.cache-cabal.outputs.cache-hit != 'true' run: | git clone https://github.com/agda/agda From f0afeb0935aec6dc9bc708d4a055df9ba24b0748 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 14:23:57 -0400 Subject: [PATCH 07/21] Remove composible action --- .github/workflows/ci-ubuntu-init/action.yml | 85 --------------------- 1 file changed, 85 deletions(-) delete mode 100644 .github/workflows/ci-ubuntu-init/action.yml diff --git a/.github/workflows/ci-ubuntu-init/action.yml b/.github/workflows/ci-ubuntu-init/action.yml deleted file mode 100644 index f2f3f454e5..0000000000 --- a/.github/workflows/ci-ubuntu-init/action.yml +++ /dev/null @@ -1,85 +0,0 @@ -name: "CI Ubuntu Init" -description: "Set up variables and install dependencies for ci-ubuntu" - -runs: - using: "composite" - ######################################################################## - ## INITIALISATION - ######################################################################## - steps: - - name: Initialise variables - shell: bash - run: | - if [[ '${{ github.ref }}' == 'refs/heads/experimental' \ - || '${{ github.base_ref }}' == 'experimental' ]]; then - # Pick Agda version for experimental - echo "AGDA_COMMIT=tags/v2.8.0" >> "${GITHUB_ENV}"; - echo "AGDA_HTML_DIR=html/experimental" >> "${GITHUB_ENV}" - else - # Pick Agda version for master - echo "AGDA_COMMIT=tags/v2.8.0" >> "${GITHUB_ENV}"; - echo "AGDA_HTML_DIR=html/master" >> "${GITHUB_ENV}" - fi - - if [[ '${{ github.ref }}' == 'refs/heads/master' \ - || '${{ github.ref }}' == 'refs/heads/experimental' ]]; 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: Cache ~/.cabal directories - shell: bash - uses: actions/cache@v4 - id: cache-cabal - with: - path: | - ~/.cabal/packages - ~/.cabal/store - ~/.cabal/bin - ~/.cabal/share - key: ${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}-${{ env.AGDA_COMMIT }}-cache - - ######################################################################## - ## INSTALLATION STEPS - ######################################################################## - - - name: Install ghc & cabal - shell: bash - uses: haskell-actions/setup@v2 - with: - ghc-version: ${{ env.GHC_VERSION }} - cabal-version: ${{ env.CABAL_VERSION }} - cabal-update: true - - - name: Put cabal programs in PATH - shell: bash - run: echo ~/.cabal/bin >> "${GITHUB_PATH}" - - - name: Install alex & happy - shell: bash - if: steps.cache-cabal.outputs.cache-hit != 'true' - run: | - ${{ env.CABAL_INSTALL }} alex - ${{ env.CABAL_INSTALL }} happy - # happy>=2.0 cannot be v1-installed: https://github.com/haskell/happy/issues/315 - # Since we only need the executable, it is fine to use v2-install here. - - - name: Download and install Agda from github - shell: bash - if: steps.cache-cabal.outputs.cache-hit != 'true' - run: | - git clone https://github.com/agda/agda - cd agda - git checkout ${{ env.AGDA_COMMIT }} - mkdir -p doc - touch doc/user-manual.pdf - ${{ env.CABAL_V1_INSTALL }} - cd .. \ No newline at end of file From f6d620b8646b2af999be943b2ed808d5e53f2b92 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 14:24:54 -0400 Subject: [PATCH 08/21] Move init back into main workflow --- .github/workflows/ci-ubuntu.yml | 80 ++++++++++++++++++++++++++++++++- 1 file changed, 78 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index 94bb1def27..3df1531f03 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -67,6 +67,82 @@ env: ######################################################################## jobs: + ######################################################################## + ## INITIALISATION + ######################################################################## + steps: + - name: Initialise variables + run: | + if [[ '${{ github.ref }}' == 'refs/heads/experimental' \ + || '${{ github.base_ref }}' == 'experimental' ]]; then + # Pick Agda version for experimental + echo "AGDA_COMMIT=tags/v2.8.0" >> "${GITHUB_ENV}"; + echo "AGDA_HTML_DIR=html/experimental" >> "${GITHUB_ENV}" + else + # Pick Agda version for master + echo "AGDA_COMMIT=tags/v2.8.0" >> "${GITHUB_ENV}"; + echo "AGDA_HTML_DIR=html/master" >> "${GITHUB_ENV}" + fi + + if [[ '${{ github.ref }}' == 'refs/heads/master' \ + || '${{ github.ref }}' == 'refs/heads/experimental' ]]; 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: Cache ~/.cabal directories + shell: bash + uses: actions/cache@v4 + id: cache-cabal + with: + path: | + ~/.cabal/packages + ~/.cabal/store + ~/.cabal/bin + ~/.cabal/share + key: ${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}-${{ env.AGDA_COMMIT }}-cache + + ######################################################################## + ## INSTALLATION STEPS + ######################################################################## + + - name: Install ghc & cabal + shell: bash + uses: haskell-actions/setup@v2 + with: + ghc-version: ${{ env.GHC_VERSION }} + cabal-version: ${{ env.CABAL_VERSION }} + cabal-update: true + + - name: Put cabal programs in PATH + run: echo ~/.cabal/bin >> "${GITHUB_PATH}" + + - name: Install alex & happy + if: steps.cache-cabal.outputs.cache-hit != 'true' + run: | + ${{ env.CABAL_INSTALL }} alex + ${{ env.CABAL_INSTALL }} happy + # happy>=2.0 cannot be v1-installed: https://github.com/haskell/happy/issues/315 + # Since we only need the executable, it is fine to use v2-install here. + + - name: Download and install Agda from github + if: steps.cache-cabal.outputs.cache-hit != 'true' + run: | + git clone https://github.com/agda/agda + cd agda + git checkout ${{ env.AGDA_COMMIT }} + mkdir -p doc + touch doc/user-manual.pdf + ${{ env.CABAL_V1_INSTALL }} + cd .. ######################################################################## ## TESTING @@ -76,7 +152,7 @@ jobs: steps: - uses: actions/checkout@v5 - name: Init - uses: ./.github/workflows/ci-ubuntu-init + uses: .github/workflows/ci-ubuntu-init - name: Test stdlib run: | @@ -98,7 +174,7 @@ jobs: steps: - uses: actions/checkout@v5 - name: Init - uses: ./.github/workflows/ci-ubuntu-init + uses: .github/workflows/ci-ubuntu-init - name: Prepare HTML index run: | From fe98636e16aebd78b72759e99d972a2e0f1872e7 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 15:29:55 -0400 Subject: [PATCH 09/21] Use upload-artificacts to share binaries between jobs --- .github/workflows/ci-ubuntu.yml | 256 +++++++++++++++++++++----------- 1 file changed, 173 insertions(+), 83 deletions(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index 3df1531f03..0377a1c002 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -70,89 +70,131 @@ jobs: ######################################################################## ## INITIALISATION ######################################################################## - steps: - - name: Initialise variables - run: | - if [[ '${{ github.ref }}' == 'refs/heads/experimental' \ - || '${{ github.base_ref }}' == 'experimental' ]]; then - # Pick Agda version for experimental - echo "AGDA_COMMIT=tags/v2.8.0" >> "${GITHUB_ENV}"; - echo "AGDA_HTML_DIR=html/experimental" >> "${GITHUB_ENV}" - else - # Pick Agda version for master - echo "AGDA_COMMIT=tags/v2.8.0" >> "${GITHUB_ENV}"; - echo "AGDA_HTML_DIR=html/master" >> "${GITHUB_ENV}" - fi - - if [[ '${{ github.ref }}' == 'refs/heads/master' \ - || '${{ github.ref }}' == 'refs/heads/experimental' ]]; 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: Cache ~/.cabal directories - shell: bash - uses: actions/cache@v4 - id: cache-cabal - with: - path: | - ~/.cabal/packages - ~/.cabal/store - ~/.cabal/bin - ~/.cabal/share - key: ${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}-${{ env.AGDA_COMMIT }}-cache - - ######################################################################## - ## INSTALLATION STEPS - ######################################################################## - - - name: Install ghc & cabal - shell: bash - uses: haskell-actions/setup@v2 - with: - ghc-version: ${{ env.GHC_VERSION }} - cabal-version: ${{ env.CABAL_VERSION }} - cabal-update: true - - - name: Put cabal programs in PATH - run: echo ~/.cabal/bin >> "${GITHUB_PATH}" - - - name: Install alex & happy - if: steps.cache-cabal.outputs.cache-hit != 'true' - run: | - ${{ env.CABAL_INSTALL }} alex - ${{ env.CABAL_INSTALL }} happy - # happy>=2.0 cannot be v1-installed: https://github.com/haskell/happy/issues/315 - # Since we only need the executable, it is fine to use v2-install here. - - - name: Download and install Agda from github - if: steps.cache-cabal.outputs.cache-hit != 'true' - run: | - git clone https://github.com/agda/agda - cd agda - git checkout ${{ env.AGDA_COMMIT }} - mkdir -p doc - touch doc/user-manual.pdf - ${{ env.CABAL_V1_INSTALL }} - cd .. + init: + runs-on: ubuntu-latest + outputs: + AGDA_COMMIT: ${{ steps.init_vars.outputs.AGDA_COMMIT }} + AGDA_HTML_DIR: ${{ steps.init_vars.outputs.AGDA_HTML_DIR }} + AGDA_DEPLOY: ${{ steps.init_vars.outputs.AGDA_DEPLOY }} + PATH: ${{ steps.path.outputs.PATH }} + GHC_PATH: ${{ steps.install-ghc-cabal.outputs.ghc-path }} + steps: + - name: Initialise variables + id: init_vars + run: | + if [[ '${{ github.ref }}' == 'refs/heads/experimental' \ + || '${{ github.base_ref }}' == 'experimental' ]]; then + # Pick Agda version for experimental + echo "AGDA_COMMIT=tags/v2.8.0" >> "${GITHUB_OUTPUT}"; + echo "AGDA_HTML_DIR=html/experimental" >> "${GITHUB_OUTPUT}" + else + # Pick Agda version for master + echo "AGDA_COMMIT=tags/v2.8.0" >> "${GITHUB_OUTPUT}"; + echo "AGDA_HTML_DIR=html/master" >> "${GITHUB_OUTPUT}" + fi + + if [[ '${{ github.ref }}' == 'refs/heads/master' \ + || '${{ github.ref }}' == 'refs/heads/experimental' ]]; then + echo "AGDA_DEPLOY=true" >> "${GITHUB_OUTPUT}" + 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: Cache ~/.cabal directories + uses: actions/cache@v4 + id: cache-cabal + with: + path: | + ~/.cabal/packages + ~/.cabal/store + ~/.cabal/bin + ~/.cabal/share + key: ${{ runner.os }}-${{ env.GHC_VERSION }}-${{ env.CABAL_VERSION }}-${{ steps.init_vars.outputs.AGDA_COMMIT }}-cache + + ######################################################################## + ## INSTALLATION STEPS + ######################################################################## + + - name: Install ghc & cabal + id: install-ghc-cabal + uses: haskell-actions/setup@v2 + with: + ghc-version: ${{ env.GHC_VERSION }} + cabal-version: ${{ env.CABAL_VERSION }} + cabal-update: true + + - name: Put cabal programs in PATH + id: path + run: | + echo ~/.cabal/bin >> "${GITHUB_PATH}" + echo ${{ steps.install-ghc-cabal.outputs.ghc-path }} >> "${GITHUB_PATH}" + "PATH=${{GITHUB_PATH}}" >> "${GITHUB_OUTPUT}" + + - name: Install alex & happy + if: steps.cache-cabal.outputs.cache-hit != 'true' + run: | + ${{ env.CABAL_INSTALL }} alex + ${{ env.CABAL_INSTALL }} happy + # happy>=2.0 cannot be v1-installed: https://github.com/haskell/happy/issues/315 + # Since we only need the executable, it is fine to use v2-install here. + + - name: Download and install Agda from github + if: steps.cache-cabal.outputs.cache-hit != 'true' + run: | + git clone https://github.com/agda/agda + cd agda + git checkout ${{ steps.init_vars.outputs.AGDA_COMMIT }} + mkdir -p doc + touch doc/user-manual.pdf + ${{ env.CABAL_V1_INSTALL }} + cd .. + + - name: Upload Cabal directory + uses: actions/upload-artifact@v4 + with: + include-hidden-files: true + name: ubuntu-cabal-dir + path: ~/.cabal/ + + - name: Upload GHC directory + uses: actions/upload-artificat@v4 + with: + include-hidden-files: true + name: ubuntu-ghc-dir + path: ${{ steps.install-ghc-cabal.outputs.ghc-path }} + ######################################################################## ## TESTING ######################################################################## test-stdlib: + needs: init runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 - - name: Init - uses: .github/workflows/ci-ubuntu-init + - name: Checkout + uses: actions/checkout@v5 + + - name: Download Cabal directory + uses: actions/download-artifact@v4 + with: + name: ubuntu-cabal-dir + path: ~/.cabal/ + + - name: Download GHC directory + uses: actions/download-artifact@v4 + with: + name: ubuntu-ghc-dir + path: ${{ needs.init.outputs.GHC_PATH }} + + - name: Set PATH + run: ${{ needs.init.outputs.PATH }} >> ${GITHUB_PATH} - name: Test stdlib run: | @@ -161,6 +203,39 @@ jobs: ${{ env.AGDA }} -WnoUserWarning --safe EverythingSafe.agda ${{ env.AGDA }} -WnoUserWarning Everything.agda + - name: Upload agdai files + uses: actions/upload-artifact@v4 + with: + name: ubuntu-agdai + path: ./*.agdai + + test-stdlib-golden: + needs: [init, test-stdlib] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Download Cabal directory + uses: actions/download-artifact@v4 + with: + name: ubuntu-cabal-dir + path: ~/.cabal/ + + - name: Download GHC directory + uses: actions/download-artifact@v4 + with: + name: ubuntu-ghc-dir + path: ${{ needs.init.outputs.GHC_PATH }} + + - name: Download agdai files + uses: actions/download-artifact@v4 + with: + name: ubuntu-agdai + + - name: Set PATH + run: ${{ needs.init.outputs.PATH }} >> ${GITHUB_PATH} + - name: Golden testing run: | make testsuite INTERACTIVE='' AGDA_EXEC='agda' GHC_EXEC='ghc' @@ -170,11 +245,26 @@ jobs: ## DOC DEPLOYMENT ######################################################################## html: + needs: [init, test-stdlib] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 - - name: Init - uses: .github/workflows/ci-ubuntu-init + - name: Checkout + uses: actions/checkout@v5 + + - name: Download Cabal Dir + uses: actions/download-artifact@v4 + with: + name: ubuntu-cabal-dir + path: ~/.cabal/ + + - name: Download GHC Dir + uses: actions/download-artifact@v4 + with: + name: ubuntu-ghc-dir + path: ${{ needs.init.outputs.GHC_PATH }} + + - name: Set PATH + run: ${{ needs.init.outputs.PATH }} >> ${GITHUB_PATH} - name: Prepare HTML index run: | @@ -193,15 +283,15 @@ jobs: - name: Generate HTML run: | git clone --depth 1 --single-branch --branch gh-pages https://github.com/agda/agda-stdlib html - rm -f '${{ env.AGDA_HTML_DIR }}'/*.html - rm -f '${{ env.AGDA_HTML_DIR }}'/*.css - ${{ env.AGDA }} --html --html-dir ${{ env.AGDA_HTML_DIR }} index.agda + rm -f '${{ needs.init.outputs.AGDA_HTML_DIR }}'/*.html + rm -f '${{ needs.init.outputs.AGDA_HTML_DIR }}'/*.css + ${{ env.AGDA }} --html --html-dir ${{ needs.init.outputs.AGDA_HTML_DIR }} index.agda cp .github/tooling/* . ./landing.sh - name: Deploy HTML uses: JamesIves/github-pages-deploy-action@v4 - if: success() && env.AGDA_DEPLOY + if: success() && needs.init.outputs.AGDA_DEPLOY with: branch: gh-pages From fd9e589037a7a7c2e6b8095bdf5c0766296af070 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 15:33:42 -0400 Subject: [PATCH 10/21] Split outputting PATH onto separate step --- .github/workflows/ci-ubuntu.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index 0377a1c002..5e644d6a13 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -131,11 +131,12 @@ jobs: cabal-update: true - name: Put cabal programs in PATH - id: path run: | echo ~/.cabal/bin >> "${GITHUB_PATH}" echo ${{ steps.install-ghc-cabal.outputs.ghc-path }} >> "${GITHUB_PATH}" - "PATH=${{GITHUB_PATH}}" >> "${GITHUB_OUTPUT}" + + - name: Output PATH + run: "PATH=${{GITHUB_PATH}}" >> "${GITHUB_OUTPUT}" - name: Install alex & happy if: steps.cache-cabal.outputs.cache-hit != 'true' From 52cc1b491a8d4994ab6ee16fb37c06fc4cfdc4a6 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 15:34:48 -0400 Subject: [PATCH 11/21] Fix GITHUB_PATH --- .github/workflows/ci-ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index 5e644d6a13..60683cfdf8 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -136,7 +136,7 @@ jobs: echo ${{ steps.install-ghc-cabal.outputs.ghc-path }} >> "${GITHUB_PATH}" - name: Output PATH - run: "PATH=${{GITHUB_PATH}}" >> "${GITHUB_OUTPUT}" + run: "PATH=${GITHUB_PATH}" >> "${GITHUB_OUTPUT}" - name: Install alex & happy if: steps.cache-cabal.outputs.cache-hit != 'true' From 8ba924c308c9542bffd043483373a22cfcfc3a8b Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 15:36:18 -0400 Subject: [PATCH 12/21] Fix output PATH step --- .github/workflows/ci-ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index 60683cfdf8..3b3e94a3eb 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -136,7 +136,7 @@ jobs: echo ${{ steps.install-ghc-cabal.outputs.ghc-path }} >> "${GITHUB_PATH}" - name: Output PATH - run: "PATH=${GITHUB_PATH}" >> "${GITHUB_OUTPUT}" + run: echo "PATH=${GITHUB_PATH}" >> "${GITHUB_OUTPUT}" - name: Install alex & happy if: steps.cache-cabal.outputs.cache-hit != 'true' From e880ba454a7a56195059d81bc3d1badee4fd36fd Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 15:37:30 -0400 Subject: [PATCH 13/21] Fix typo --- .github/workflows/ci-ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index 3b3e94a3eb..9d58d0db91 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -165,7 +165,7 @@ jobs: path: ~/.cabal/ - name: Upload GHC directory - uses: actions/upload-artificat@v4 + uses: actions/upload-artifact@v4 with: include-hidden-files: true name: ubuntu-ghc-dir From e20f023c6919c3594391643350c5f3f086407c8c Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 15:53:52 -0400 Subject: [PATCH 14/21] Fix GITHUB_PATH read --- .github/workflows/ci-ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index 9d58d0db91..b0d5ff654f 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -136,7 +136,7 @@ jobs: echo ${{ steps.install-ghc-cabal.outputs.ghc-path }} >> "${GITHUB_PATH}" - name: Output PATH - run: echo "PATH=${GITHUB_PATH}" >> "${GITHUB_OUTPUT}" + run: echo "PATH=${{GITHUB_PATH}}" >> "${GITHUB_OUTPUT}" - name: Install alex & happy if: steps.cache-cabal.outputs.cache-hit != 'true' From 48e0096bf72ede9054b1be4bb2e029da9278186d Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 15:57:56 -0400 Subject: [PATCH 15/21] Fix output PATH --- .github/workflows/ci-ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index b0d5ff654f..d69ce5e33f 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -136,7 +136,7 @@ jobs: echo ${{ steps.install-ghc-cabal.outputs.ghc-path }} >> "${GITHUB_PATH}" - name: Output PATH - run: echo "PATH=${{GITHUB_PATH}}" >> "${GITHUB_OUTPUT}" + run: echo "PATH=$PATH" >> "${GITHUB_OUTPUT}" - name: Install alex & happy if: steps.cache-cabal.outputs.cache-hit != 'true' From 530251fdab026a2b1f0c615dbd9a76ea38cdda47 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 16:11:38 -0400 Subject: [PATCH 16/21] Fix setting PATH --- .github/workflows/ci-ubuntu.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index d69ce5e33f..c7bc7873ab 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -76,7 +76,7 @@ jobs: AGDA_COMMIT: ${{ steps.init_vars.outputs.AGDA_COMMIT }} AGDA_HTML_DIR: ${{ steps.init_vars.outputs.AGDA_HTML_DIR }} AGDA_DEPLOY: ${{ steps.init_vars.outputs.AGDA_DEPLOY }} - PATH: ${{ steps.path.outputs.PATH }} + BIN_PATH: ${{ steps.path.outputs.BIN_PATH }} GHC_PATH: ${{ steps.install-ghc-cabal.outputs.ghc-path }} steps: - name: Initialise variables @@ -136,7 +136,7 @@ jobs: echo ${{ steps.install-ghc-cabal.outputs.ghc-path }} >> "${GITHUB_PATH}" - name: Output PATH - run: echo "PATH=$PATH" >> "${GITHUB_OUTPUT}" + run: echo "BIN_PATH=$PATH" >> "${GITHUB_OUTPUT}" - name: Install alex & happy if: steps.cache-cabal.outputs.cache-hit != 'true' @@ -195,7 +195,7 @@ jobs: path: ${{ needs.init.outputs.GHC_PATH }} - name: Set PATH - run: ${{ needs.init.outputs.PATH }} >> ${GITHUB_PATH} + run: echo "${{ needs.init.outputs.BIN_PATH }}" >> ${GITHUB_PATH} - name: Test stdlib run: | @@ -235,7 +235,7 @@ jobs: name: ubuntu-agdai - name: Set PATH - run: ${{ needs.init.outputs.PATH }} >> ${GITHUB_PATH} + run: echo "${{ needs.init.outputs.BIN_PATH }}" >> ${GITHUB_PATH} - name: Golden testing run: | @@ -265,7 +265,7 @@ jobs: path: ${{ needs.init.outputs.GHC_PATH }} - name: Set PATH - run: ${{ needs.init.outputs.PATH }} >> ${GITHUB_PATH} + run: echo "${{ needs.init.outputs.BIN_PATH }}" >> ${GITHUB_PATH} - name: Prepare HTML index run: | From 9c4a73010fc1a3156811b7f5c8e7972a043e053a Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 16:18:38 -0400 Subject: [PATCH 17/21] Add id to output PATH step --- .github/workflows/ci-ubuntu.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index c7bc7873ab..10c53378dc 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -136,6 +136,7 @@ jobs: echo ${{ steps.install-ghc-cabal.outputs.ghc-path }} >> "${GITHUB_PATH}" - name: Output PATH + id: path run: echo "BIN_PATH=$PATH" >> "${GITHUB_OUTPUT}" - name: Install alex & happy From 73dbb64bbcafa4b88f8ad310e89d684ec2eba281 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 16:29:15 -0400 Subject: [PATCH 18/21] Add step to add executable bit to downloaded artifacts --- .github/workflows/ci-ubuntu.yml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index 10c53378dc..ae8f8379e5 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -194,6 +194,11 @@ jobs: with: name: ubuntu-ghc-dir path: ${{ needs.init.outputs.GHC_PATH }} + + - name: Set permissions + run: | + chmod -r +x ~/.cabal/bin/ + chmod -r +x ${{ needs.init.outputs.GHC_PATH }} - name: Set PATH run: echo "${{ needs.init.outputs.BIN_PATH }}" >> ${GITHUB_PATH} @@ -230,6 +235,11 @@ jobs: name: ubuntu-ghc-dir path: ${{ needs.init.outputs.GHC_PATH }} + - name: Set permissions + run: | + chmod -r +x ~/.cabal/bin/ + chmod -r +x ${{ needs.init.outputs.GHC_PATH }} + - name: Download agdai files uses: actions/download-artifact@v4 with: @@ -253,18 +263,23 @@ jobs: - name: Checkout uses: actions/checkout@v5 - - name: Download Cabal Dir + - name: Download Cabal directory uses: actions/download-artifact@v4 with: name: ubuntu-cabal-dir path: ~/.cabal/ - - name: Download GHC Dir + - name: Download GHC directory uses: actions/download-artifact@v4 with: name: ubuntu-ghc-dir path: ${{ needs.init.outputs.GHC_PATH }} + - name: Set permissions + run: | + chmod -r +x ~/.cabal/bin/ + chmod -r +x ${{ needs.init.outputs.GHC_PATH }} + - name: Set PATH run: echo "${{ needs.init.outputs.BIN_PATH }}" >> ${GITHUB_PATH} From ecf12eb3e0b1506001be34a90053d73a55f73d51 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 16:33:51 -0400 Subject: [PATCH 19/21] Fix chmod --- .github/workflows/ci-ubuntu.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index ae8f8379e5..13fc85f825 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -197,8 +197,8 @@ jobs: - name: Set permissions run: | - chmod -r +x ~/.cabal/bin/ - chmod -r +x ${{ needs.init.outputs.GHC_PATH }} + chmod -R +x ~/.cabal/bin/ + chmod -R +x ${{ needs.init.outputs.GHC_PATH }} - name: Set PATH run: echo "${{ needs.init.outputs.BIN_PATH }}" >> ${GITHUB_PATH} @@ -237,8 +237,8 @@ jobs: - name: Set permissions run: | - chmod -r +x ~/.cabal/bin/ - chmod -r +x ${{ needs.init.outputs.GHC_PATH }} + chmod -R +x ~/.cabal/bin/ + chmod -R +x ${{ needs.init.outputs.GHC_PATH }} - name: Download agdai files uses: actions/download-artifact@v4 @@ -277,8 +277,8 @@ jobs: - name: Set permissions run: | - chmod -r +x ~/.cabal/bin/ - chmod -r +x ${{ needs.init.outputs.GHC_PATH }} + chmod -R +x ~/.cabal/bin/ + chmod -R +x ${{ needs.init.outputs.GHC_PATH }} - name: Set PATH run: echo "${{ needs.init.outputs.BIN_PATH }}" >> ${GITHUB_PATH} From 3bb2f9f8d1ffa5946076d517b2b1e36d29ef109c Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 16:47:12 -0400 Subject: [PATCH 20/21] Add sudo to chmod --- .github/workflows/ci-ubuntu.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index 13fc85f825..290cb48544 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -197,8 +197,8 @@ jobs: - name: Set permissions run: | - chmod -R +x ~/.cabal/bin/ - chmod -R +x ${{ needs.init.outputs.GHC_PATH }} + sudo chmod -R 777 ~/.cabal/bin/ + sudo chmod -R 777 ${{ needs.init.outputs.GHC_PATH }} - name: Set PATH run: echo "${{ needs.init.outputs.BIN_PATH }}" >> ${GITHUB_PATH} @@ -237,8 +237,8 @@ jobs: - name: Set permissions run: | - chmod -R +x ~/.cabal/bin/ - chmod -R +x ${{ needs.init.outputs.GHC_PATH }} + sudo chmod -R 777 ~/.cabal/bin/ + sudo chmod -R 777 ${{ needs.init.outputs.GHC_PATH }} - name: Download agdai files uses: actions/download-artifact@v4 @@ -277,8 +277,8 @@ jobs: - name: Set permissions run: | - chmod -R +x ~/.cabal/bin/ - chmod -R +x ${{ needs.init.outputs.GHC_PATH }} + sudo chmod -R 777 ~/.cabal/bin/ + sudo chmod -R 777 ${{ needs.init.outputs.GHC_PATH }} - name: Set PATH run: echo "${{ needs.init.outputs.BIN_PATH }}" >> ${GITHUB_PATH} From 030ca82d1fdd0bcaac9aff7c97f777125461c388 Mon Sep 17 00:00:00 2001 From: Silas Hayes-Williams Date: Thu, 2 Jul 2026 17:18:06 -0400 Subject: [PATCH 21/21] Add hidden files to upload agdai step --- .github/workflows/ci-ubuntu.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-ubuntu.yml b/.github/workflows/ci-ubuntu.yml index 290cb48544..906068b5d1 100644 --- a/.github/workflows/ci-ubuntu.yml +++ b/.github/workflows/ci-ubuntu.yml @@ -214,6 +214,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: ubuntu-agdai + include-hidden-files: true path: ./*.agdai test-stdlib-golden: