Cytoplasm/.gitea/workflows/compile.yaml

43 lines
2.0 KiB
YAML

name: Compile Cytoplasm
run-name: Compile Cytoplasm on ${{ gitea.actor }}
on: [push]
jobs:
"Compile Cytoplasm":
strategy:
matrix:
# TODO: Add more operating systems and architectures.
#
# Required packages for Alpine: git go nodejs make gcc musl-dev openssl-dev
# Required packages for Debian: git golang nodejs make gcc libssl-dev
# Required packages for OpenBSD: git go node
# Required packages for FreeBSD: git go node
#
# Note that Git, Go, and Node are only required on runners; they are
# not generally required for compiling cytoplasm. Conveniently, this means
# that on the BSDs, no additional packages are required to use Cytoplasm!
#
# To set up a runner, install the packages, then clone
# https://git.telodendria.io/Telodendria/act_runner, do a go build,
# execute ./act_runner register, then execute ./act_runner daemon.
#
# For Linux distros, set the tags: linux, <distro>-<version>, <arch>
# For BSDs, set the tags: bsd, <os>-<version>, <arch>
os: [debian-v12.4, alpine-v3.19, openbsd-v7.4, freebsd-v14.0]
arch: [x86, x86_64]
exclude:
# 32-bit OpenBSD does not behave well in QEMU. Even when using
# QEMU to emulate i386, it utilizes 100% of its CPU core and is
# still extremely sluggish. Thus, we don't have a working 32-bit
# OpenBSD runner, so exclude it from the matrix configuration.
- os: openbsd-v7.4
arch: x86
runs-on: ["${{ matrix.os }}", "${{ matrix.arch }}"]
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Configure Cytoplasm
run: ./configure
- name: Build Cytoplasm
run: make