mirror of
https://github.com/anoma/juvix.git
synced 2024-12-17 03:45:00 +03:00
d78a543c57
This PR upgrades our Haskell configurations to compile with version 9.2.7. The checklist below can serve as a guide for similar future updates: - [x] Update Stack resolver in `stack.yaml` - [x] Modify `tested-with` section in `package.yaml` - [x] Build and push the new compiler docker image, see instructions here [docker/README.md](https://github.com/anoma/juvix/blob/main/docker/README.md): `ghcr.io/paulcadman/ghc-alpine:9.2.7 container`. - [x] Update Linux Github Action workflow in `.github/workflows/linux-static-binary.yaml` and adjust `docker/Dockerfile-ghc-alpine-9.2.7` - [x] Revise GHC/Stack/Cabal versions in `.devcontainer/Dockerfile` - [x] Refresh Cabal configuration in `cabal-project`
48 lines
1.2 KiB
YAML
48 lines
1.2 KiB
YAML
name: Build Linux static binary
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
ref:
|
|
description: "the repository ref to build"
|
|
required: true
|
|
default: "main"
|
|
|
|
jobs:
|
|
build:
|
|
name: Build static binary
|
|
runs-on: ubuntu-latest
|
|
container: ghcr.io/paulcadman/ghc-alpine:9.2.7
|
|
steps:
|
|
- name: checkout code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
ref: ${{ github.event.inputs.ref }}
|
|
|
|
- name: create ~/.local/bin
|
|
run: mkdir -p "$HOME/.local/bin"
|
|
shell: bash
|
|
|
|
- name: Add ~/.local/bin to PATH
|
|
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
|
|
shell: bash
|
|
|
|
- name: Stack permissions bug workaround
|
|
run: "chown -R $(id -un):$(id -gn) ~"
|
|
|
|
- name: Runtime build
|
|
run: make runtime
|
|
|
|
- name: build Juvix
|
|
run: stack install --allow-different-user --system-ghc --ghc-options='-split-sections -optl-static'
|
|
|
|
- run: echo "HOME=$HOME" >> $GITHUB_ENV
|
|
shell: bash
|
|
|
|
- name: upload artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: juvix-linux_x86_64-${{ github.event.inputs.ref }}
|
|
path: ${{ env.HOME }}/.local/bin/juvix
|