release-files #1040
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: release | ||
# We trigger this on all tags and on the `master` branch. The job | ||
# `changelog` will fail for tags that don’t have a | ||
# changelog entry, so that seems good enough. | ||
# For `master` this check is skipped as well as uploads. | ||
on: | ||
push: | ||
tags: | ||
- '*' | ||
branches: | ||
- 'master' | ||
jobs: | ||
# Now build the release on both linux and darwin | ||
build: | ||
strategy: | ||
matrix: | ||
os: [ ubuntu-latest, macos-12 ] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: cachix/install-nix-action@v27 | ||
- uses: cachix/cachix-action@v15 | ||
if: startsWith(github.ref, 'refs/heads/') | ||
with: | ||
name: ic-hs-test | ||
# NB: No auth token, we don’t want to push new stuff here | ||
- uses: cachix/cachix-action@v15 | ||
if: startsWith(github.ref, 'refs/tags/') | ||
with: | ||
name: ic-hs-test | ||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' | ||
- run: cachix watch-store ic-hs-test & | ||
- name: "nix-build" | ||
# these are the dependencies listed in release-files. Sorry for the duplication | ||
run: | | ||
nix-build --max-jobs 1 --arg officialRelease true -A moc -A mo-ide -A mo-doc -A js.moc -A js.moc_interpreter | ||
# Finally do the upload. Hopefully the previous job has uploaded the | ||
# build product to the cachix cache, as we cannot build the darwin products on | ||
# linux | ||
release: | ||
if: startsWith(github.ref, 'refs/tags/') | ||
runs-on: 'ubuntu-latest' | ||
needs: [ changelog, build ] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: cachix/install-nix-action@v27 | ||
- uses: cachix/cachix-action@v15 | ||
with: | ||
name: ic-hs-test | ||
# NB: No auth token, we don’t expect to push new stuff here | ||
- run: nix-build --max-jobs 1 --arg officialRelease true release-files.nix |