diff --git a/.github/workflows/haskell.yml b/.github/workflows/haskell.yml index 7f5a8e8..2967e54 100644 --- a/.github/workflows/haskell.yml +++ b/.github/workflows/haskell.yml @@ -2,13 +2,7 @@ name: Haskell CI on: pull_request: - branches: - - main - - develop - push: - branches: - - main - - develop + branches: [main, develop] permissions: contents: read @@ -44,13 +38,3 @@ jobs: run: cabal build --enable-tests --enable-benchmarks all - name: Run tests run: cabal test all - - - name: "Build & test" - run: | - cabal build glados; - find . -wholename "*glados/glados" -exec cp {} . \;; - - - uses: actions/upload-artifact@v2 - with: - name: glados - path: ./glados diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index b95aeb5..53adaf1 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -1,13 +1,44 @@ -name: "pre-release" +name: "Automatic Release" on: - workflow_run: - workflows: ["Haskell CI"] - types: [completed] + push: branches: [main] jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-haskell@v1 + with: + ghc-version: "8.10.3" + cabal-version: "2.4" + + - name: Cache + uses: actions/cache@v3 + env: + cache-name: cache-cabal + with: + path: ~/.cabal + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/*.cabal') }}-${{ hashFiles('**/cabal.project') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + + - name: "Build & test" + run: | + cabal update + cabal build glados; + find . -wholename "*glados/glados" -exec cp {} . \;; + + - uses: actions/upload-artifact@v2 + with: + name: glados + path: ./glados + pre-release: + needs: build name: "Pre Release" runs-on: "ubuntu-latest" steps: