on master help sign in
.github/workflows/github-actions-image.yaml+42−1
since splitsnapshots
unifiedsplit
@@ -72,6 +72,14 @@ jobs:
72 exit 1
72 exit 1
73 fi
73 fi
74
74
75+ - name: Check changelog
76+ if: github.event_name == 'release'
77+ run: |
78+ if ! grep '^## ${{ github.event.release.tag_name }}$' CHANGELOG.md; then
79+ echo "::error file=CHANGELOG.md::CHANGELOG.md does not contain an entry for this release."
80+ exit 1
81+ fi
82+
75 Linux:
83 Linux:
76 needs: check_versions
84 needs: check_versions
77 runs-on: ubuntu-latest
85 runs-on: ubuntu-latest
@@ -184,17 +192,50 @@ jobs:
184 with:
192 with:
185 submodules: recursive
193 submodules: recursive
186
194
195+ - name: Cache
196+ uses: actions/cache@v1
197+ with:
198+ path: |
199+ ~/.stack
200+ .stack-work
201+ key: ${{ runner.os }}-stack-${{ hashFiles('stack.yaml') }}-${{ hashFiles('**.cabal') }}
202+ restore-keys: |
203+ ${{ runner.os }}-stack-${{ hashFiles('stack.yaml') }}
204+ ${{ runner.os }}-stack
205+
206+ - name: Upgrade stack
207+ shell: bash
208+ # Needed for Hackage token authorization
209+ run: stack upgrade --git
210+
187 - name: Build dist
211 - name: Build dist
188 run: |
212 run: |
189 stack sdist --pvp-bounds both --test-tarball
213 stack sdist --pvp-bounds both --test-tarball
190 echo "distPath=$(stack path | awk -F ": " '/dist-dir/ {print $2}')" >> $GITHUB_ENV
214 echo "distPath=$(stack path | awk -F ": " '/dist-dir/ {print $2}')" >> $GITHUB_ENV
191
215
192− - name: compaREST sources artifact
216+ - name: Upload compaREST sources artifact
193 uses: actions/upload-artifact@v2
217 uses: actions/upload-artifact@v2
194 with:
218 with:
195 name: compaREST sources
219 name: compaREST sources
196 path: ${{ env.distPath }}/*.tar.gz
220 path: ${{ env.distPath }}/*.tar.gz
197
221
222+ - name: Upload compaREST sources to release
223+ if: github.event_name == 'release'
224+ uses: svenstaro/upload-release-action@2.2.1
225+ with:
226+ repo_token: ${{ secrets.GITHUB_TOKEN }}
227+ file_glob: true
228+ file: ${{ env.distPath }}/*.tar.gz
229+ tag: ${{ github.ref }}
230+
231+ - name: Publish compaREST candidate to Hackage
232+ shell: bash
233+ if: github.event_name == 'release'
234+ env:
235+ HACKAGE_KEY: ${{ secrets.HACKAGE_KEY }}
236+ run: |
237+ stack upload --pvp-bounds both --test-tarball --candidate .
238+
198 macOS:
239 macOS:
199 needs: check_versions
240 needs: check_versions
200 runs-on: macos-latest
241 runs-on: macos-latest
action.yaml+1−1
@@ -29,7 +29,7 @@ inputs:
29 default: "${{ github.event.pull_request.head.sha }}"
29 default: "${{ github.event.pull_request.head.sha }}"
30runs:
30runs:
31 using: "docker"
31 using: "docker"
32− image: "docker://typeable/comparest-github-action:latest"
32+ image: "docker://typeable/comparest-github-action:0.0.0.0"
33 env:
33 env:
34 GITHUB_TOKEN: "${{ inputs.GITHUB_TOKEN }}"
34 GITHUB_TOKEN: "${{ inputs.GITHUB_TOKEN }}"
35 REPO: "${{ inputs.repo }}"
35 REPO: "${{ inputs.repo }}"