Skip to content

Release

Release #80

Workflow file for this run

name: "Release"
on:
workflow_dispatch:
schedule:
- cron: '30 5 * * 1' # At 05:30 AM, only on Monday
push:
tags:
- 'release/[0-9]+.[0-9]+.[0-9]+'
jobs:
Upload:
runs-on: ubuntu-slim
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Install Nix
uses: nixbuild/nix-quick-install-action@v31
- name: download binaries
uses: actions/download-artifact@v4
with:
merge-multiple: true
- name: create github release & upload binaries
uses: softprops/action-gh-release@v2
# scheduled/manual runs should not create a release
if: github.event_name == 'push'
with:
fail_on_unmatched_files: true
files: |
./hevm-x86_64-linux
./hevm-x86_64-macos
./hevm-arm64-macos
- name: prepare hackage artifacts
run: |
# cabal complains if we don't do this...
nix develop --command bash -c "cabal update"
nix develop --command bash -c "cabal sdist --builddir='$RUNNER_TEMP/packages'"
nix develop --command bash -c "cabal haddock lib:hevm --builddir='$RUNNER_TEMP/docs' --haddock-for-hackage --haddock-option=--hyperlinked-source"
- name: publish to hackage
uses: haskell-actions/hackage-publish@v1
# scheduled/manual runs should not publish anything
if: github.event_name == 'push'
with:
hackageToken: ${{ secrets.HACKAGE_AUTH_TOKEN }}
packagesPath: ${{ runner.temp }}/packages/sdist
docsPath: ${{ runner.temp }}/docs
publish: true