Skip to content

Build

Build #140

Workflow file for this run

name: Build
on:
push:
tags:
- "*"
workflow_dispatch:
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- os: linux
runs-on: ubuntu-22.04
arch: x86-64
- os: macos
runs-on: macos-12
arch: x86-64
- os: windows
runs-on: windows-2022
arch: x86-64
name: "${{ matrix.os }}-${{ matrix.arch }}"
runs-on: ${{ matrix.runs-on }}
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
with:
fetch-depth: 0 # Allows using `git log` to set initial release notes.
- name: On Linux, install musl
if: matrix.os == 'linux'
run: ./.github/bin/linux-install-musl
- name: Install Nim
uses: iffy/install-nim@ac410af52523f06e0fa037ee81d06ead7b95692c
with:
version: "binary:2.0.0"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Build binary
shell: bash
run: ./.github/bin/build
- name: Create artifact
shell: bash
run: ./.github/bin/create-artifact
env:
OS: ${{ matrix.os }}
ARCH: ${{ matrix.arch }}
- name: Publish release
shell: bash
run: ./.github/bin/publish-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
cross-compile:
needs: [build]
runs-on: ubuntu-22.04
name: cross-compile
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Install Nim
uses: iffy/install-nim@ac410af52523f06e0fa037ee81d06ead7b95692c
with:
version: "binary:2.0.0"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Zig
run: ./.github/bin/linux-install-zig
- name: Cross-compile
run: ./.github/bin/cross-compile
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
checksums:
needs: [cross-compile]
runs-on: ubuntu-22.04
name: Upload signatures and checksums
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Install minisign
run: ./.github/bin/linux-install-minisign
- name: Upload signatures and checksums
run: ./.github/bin/upload-signatures-and-checksums
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CONFIGLET_MINISIGN_SECRET_KEY: ${{ secrets.CONFIGLET_MINISIGN_SECRET_KEY }}