mirror of
https://github.com/anoma/juvix.git
synced 2024-12-17 03:45:00 +03:00
2db738a76f
* upgrade stack snapshot to use ghc-9.2.5 * use lts-20.2 * Update alpine GHC Dockerfile to 9.2.5 We also build the Juvix runtime before the stack build in the linux-static-binary workflow file. * Add some documentation on how to build and deploy the alpine GHC image * Docker documentation clarification. Co-authored-by: Paul Cadman <git@paulcadman.dev>
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.5
|
|
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
|