Skip to content

Specify arch in CI cache keys #26

Specify arch in CI cache keys

Specify arch in CI cache keys #26

Workflow file for this run

name: Publish
on:
push:
tags:
- v*.*.*
jobs:
publish:
name: Publish binaries
strategy:
matrix:
os:
[
{ name: "linux-x86_64", runner: "ubuntu-latest" },
{ name: "macos-x86_64", runner: "macos-latest" },
{ name: "macos-aarch64", runner: "macos-latest-xlarge" },
]
runs-on: ${{ matrix.os.runner }}
permissions:
contents: write
steps:
- uses: actions/checkout@v4
# Using Nix causes dynamic linking issues on macOS. It's easier to
# workaround on Linux with patchelf at least. (Yes, building statically
# would be substantially better.)
- uses: haskell-actions/setup@v2
with:
ghc-version: 9.6.4
- run: cabal freeze
- uses: ./.github/actions/cabal-cache
- name: Build
run: |
# Unlike `cabal build`, `cabal install` appears to build in a
# different working directory, which means our githash dependency
# can't access Git at compile time. Related:
# https://github.com/snoyberg/githash/issues/9
cabal build
mv $(find ./dist-newstyle/ -name intlc -type f) dist-newstyle/intlc-${{ github.ref_name }}-${{ matrix.os.name }}
- name: Release
uses: softprops/action-gh-release@v2
with:
files: |
dist-newstyle/intlc-${{ github.ref_name }}-${{ matrix.os.name }}