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, -, # For BSDs, set the tags: bsd, -, 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