Repository navigation
65 lines (61 loc) · 2.7 KB
/
Copy pathfreebsd.yml
File metadata and controls
65 lines (61 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# FreeBSD build, INFORMATIONAL ONLY. Builds the headless binary (the C core,
# no embedded UI) inside a FreeBSD VM with the canonical scripts/build.sh,
# then checks that the binary starts (--version). The UI build is not run here:
# its npm dependency tree pulls in onnxruntime-node, which publishes no FreeBSD
# build, so `npm ci` stops with EBADPLATFORM. The UI bundle itself is
# platform-independent JavaScript and is built on every other leg.
#
# NON-GATING: workflow_dispatch only. This workflow is not part of the ci-ok
# aggregate and is not called by release.yml or dry-run.yml, so a FreeBSD red
# never blocks a pull request or a release. Nothing from it is uploaded or
# published, and it runs with read-only permissions.
name: FreeBSD build (informational)
on:
workflow_dispatch:
permissions:
contents: read
jobs:
build-freebsd:
name: build (freebsd-${{ matrix.release }}, ${{ matrix.arch }}, clang)
strategy:
fail-fast: false
matrix:
release: ['15.1', '14.4']
arch: ['x86_64']
# arch: ['x86_64', 'aarch64']
# aarch64 is disabled for now: it has not been proven with this
# workflow. Its earlier blocker was the frontend build (lightningcss
# publishes no freebsd-arm64 binary), which this headless job no
# longer runs. Re-enable after a green aarch64 proof run.
include:
- arch: x86_64
sync: rsync
# - arch: aarch64
# sync: scp
# Must be an x86_64 host (ubuntu-latest). QEMU guest emulation on the arm
# runners (ubuntu-*-arm) degrades so badly that runs hit 3+ hour timeouts.
runs-on: ubuntu-latest
timeout-minutes: 90
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Build and run inside a FreeBSD ${{ matrix.release }} (${{ matrix.arch }}) VM
# https://github.com/vmactions/freebsd-vm
uses: vmactions/freebsd-vm@c46abacb49f09938ca4e1702d15d836285d694cc # v1.5.9
with:
release: ${{ matrix.release }}
arch: ${{ matrix.arch }}
# Sync options: rsync, sshfs, nfs, scp
sync: ${{ matrix.sync }}
# Nothing from the VM is used after the run, so skip the copy back.
copyback: false
mem: 6144
cpu: 4
prepare: |
pkg update -f
pkg install -y gmake sqlite3 pkgconf bash
which python3 >/dev/null 2>&1 || ln -sf $(which python3.15 python3.14 python3.13 python3.12 python3.11 python3.10 2>/dev/null | head -n 1) /usr/local/bin/python3
run: |
scripts/build.sh CC=clang CXX=clang++
build/c/codebase-memory-mcp --version