continuwuity/.forgejo/workflows/build-nix.yml
Jade Ellis 67e5e11a97
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m24s
Checks / Prek / Check changed files (pull_request) Successful in 8s
Update flake hashes / update-flake-hashes (pull_request) Successful in 1m26s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m53s
Checks / Changelog / Check changelog is added (pull_request_target) Failing after 16s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 8m43s
refactor: Rename all remaining conduwuit references to Continuwuity
Also adds an alias for the old binary name to the dockerfile

Supersedes !1485
Closes #1536
Closes #2277
2026-10-05 00:58:24 +01:00

71 lines
2 KiB
YAML

name: Build / Static via Nix
concurrency:
group: "build-nix-${{ forge.ref }}"
cancel-in-progress: true
on:
push:
tags:
- "v*.*.*"
workflow_dispatch:
schedule:
- cron: '30 0 * * 3'
jobs:
build:
name: "Build ${{ matrix.filename }} Binary"
runs-on: ubuntu-latest
strategy:
matrix:
include:
- package: default-static-x86_64
filename: continuwuity-linux-static-amd64
- package: default-static-aarch64
filename: continuwuity-linux-static-arm64
- package: max-perf-static-aarch64
filename: continuwuity-linux-static-arm64-maxperf
- package: max-perf-haswell-static-x86_64
filename: continuwuity-haswell-linux-static-amd64-maxperf
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Install Lix
uses: https://github.com/samueldr/lix-gha-installer-action@a0fee77b2a98bb7c5c0ed7ae6d6ad4903dbdad0d
with:
extra_nix_config: experimental-features = nix-command flakes flake-self-attrs
- name: Build static binary
run: |
nix build .#${{ matrix.package }}
install -D result/bin/continuwuity /tmp/binaries/${{ matrix.filename }}
- name: Upload binary artifact
uses: forgejo/upload-artifact@v4
with:
name: ${{ matrix.filename }}
path: /tmp/binaries/${{ matrix.filename }}
release-binaries:
name: "Release Binaries"
runs-on: ubuntu-latest
needs:
- build
permissions:
contents: write
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Download binary artifacts
uses: forgejo/download-artifact@v4
with:
pattern: continuwuity*
path: binaries
merge-multiple: true
- name: Create Release and Upload
uses: https://github.com/softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3
with:
draft: true
files: binaries/*