Skip to content
This repository has been archived by the owner on Sep 24, 2024. It is now read-only.

FreeBSD

FreeBSD #439

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: FreeBSD
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the main branch
on:
schedule:
- cron: '0 * * * *'
push:
branches:
- '**'
workflow_dispatch: {}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
generate-matrix:
name: Generate Job Matrix
runs-on: ubuntu-20.04
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v4
with:
ref: freebsd
- uses: actions/setup-python@v5
with:
python-version: "3.8"
cache: 'pip' # caching pip dependencies
- run: python3 -m pip install -r requirements.txt
- name: Generate Job Matrix
id: set-matrix
run: |
python3 generate-matrix.py bsd
MATRIX=$(cat matrix.yml)
echo "${MATRIX}"
echo "matrix=${MATRIX}" >> $GITHUB_OUTPUT
FreeBSD:
needs: generate-matrix
if: ${{ fromJSON( needs.generate-matrix.outputs.matrix ).include[0] }}
strategy:
fail-fast: false
matrix: ${{fromJson(needs.generate-matrix.outputs.matrix)}}
runs-on: ubuntu-22.04
env:
CONAN_MAKE_PROGRAM: "gmake"
CC: clang
CXX: clang++
CONAN_SYSREQUIRES_MODE: enabled
MAKE: gmake
NOT_ON_C3I: 1
steps:
- name: Checkout CCI
uses: actions/checkout@v4
with:
repository: ${{ matrix.repo }}
ref: ${{ matrix.ref }}
path: CCI
- name: run
id: test
uses: vmactions/freebsd-vm@v1
with:
envs: 'CONAN_MAKE_PROGRAM CC CXX CONAN_SYSREQUIRES_MODE MAKE NOT_ON_C3I'
usesh: true
prepare: pkg install -y cmake py39-pip py39-sqlite3 py39-distro python3 sudo pkgconf gmake bash perl5 p5-XML-Parser git && ln -s /usr/local/bin/perl /usr/bin/perl
run: |
pip install distro
pip install conan
conan profile detect
PROFILE_PATH=$(conan profile path default)
echo "[platform_tool_requires]" >> $PROFILE_PATH
echo "cmake/3.28.1" >> $PROFILE_PATH
conan create CCI/recipes/${{ matrix.package }}/${{ matrix.folder }} --name ${{ matrix.package }} --version ${{ matrix.version }} -b missing -o b2/*:toolset=clang -c tools.system.package_manager:mode=install