Skip to content

build: precompiled

build: precompiled #13

Workflow file for this run

name: NIF binaries
on:
push:
branches:
- main
- precompiled
paths:
- "native/**"
- ".github/workflows/binaries.yml"
tags:
- "*"
pull_request:
paths:
- ".github/workflows/binaries.yml"
workflow_dispatch:
jobs:
build_binary:
name: ${{ matrix.job.target }} / ${{ matrix.job.os }}
runs-on: ${{ matrix.job.os }}
permissions:
contents: write
strategy:
fail-fast: false
matrix:
nif_version: ["2.16"]
job:
- { target: x86_64-apple-darwin , os: macos-12 }
- { target: x86_64-pc-windows-gnu , os: windows-2022 }
- { target: x86_64-unknown-linux-gnu , os: ubuntu-22.04 }
steps:
- uses: actions/checkout@v4
- run: rustup target add ${{ matrix.job.target }}
- run: echo "PROJECT_VERSION=$(sed -n 's/^ @version "\(.*\)"/\1/p' mix.exs | head -n1)" >> $GITHUB_ENV
- uses: philss/[email protected]
id: precompile
with:
project-dir: "native/candlex"
project-name: candlex
project-version: ${{ env.PROJECT_VERSION }}
target: ${{ matrix.job.target }}
nif-version: ${{ matrix.nif_version }}
# use-cross: false doesn't work
# I think because of https://github.com/actions/runner/issues/1173
use-cross: null
- uses: softprops/action-gh-release@v1
with:
files: ${{ steps.precompile.outputs.file-path }}
if: startsWith(github.ref, 'refs/tags/')