v/.github/workflows/freebsd_ci.yml
2025-08-12 18:54:24 +03:00

102 lines
2.9 KiB
YAML

name: CI FreeBSD
on:
workflow_dispatch:
push:
paths-ignore:
- '**.md'
- '**.yml'
- 'cmd/tools/**'
- '!**/freebsd_ci.yml'
- '!ci/freebsd_ci.vsh'
- '!cmd/tools/builders/**.v'
pull_request:
paths-ignore:
- '**.md'
- '**.yml'
- 'cmd/tools/**'
- '!**/freebsd_ci.yml'
- '!ci/freebsd_ci.vsh'
- '!cmd/tools/builders/**.v'
### See https://github.com/cross-platform-actions/action
### for a description of the used fields here
jobs:
tcc-freebsd:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v5
- name: Tests on FreeBSD with tcc
id: tests-freebsd-tcc
uses: cross-platform-actions/action@v0.29.0
with:
operating_system: freebsd
version: '14.3'
memory: 4G
shell: sh
sync_files: runner-to-vm
run: |
sudo pkg install -y git sqlite3 gmake boehm-gc-threaded libiconv
# Mandatory: hostname not set in VM => some tests fail
sudo hostname -s freebsd-ci
echo "### OS infos"
uname -a
git config --global --add safe.directory .
gmake
sudo ./v symlink
export VFLAGS='-cc tcc -no-retry-compilation'
./v run ci/freebsd_ci.vsh all
clang-freebsd:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v5
- name: Tests on FreeBSD with clang
id: tests-freebsd-clang
uses: cross-platform-actions/action@v0.29.0
with:
operating_system: freebsd
version: '14.3'
memory: 4G
shell: sh
sync_files: runner-to-vm
run: |
sudo pkg install -y git sqlite3 gmake boehm-gc-threaded libiconv
# Mandatory: hostname not set in VM => some tests fail
sudo hostname -s freebsd-ci
echo "### OS infos"
uname -a
git config --global --add safe.directory .
gmake
sudo ./v symlink
export VFLAGS='-cc clang'
./v run ci/freebsd_ci.vsh all
gcc-freebsd:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v5
- name: Tests on FreeBSD with gcc
id: tests-freebsd-gcc
uses: cross-platform-actions/action@v0.29.0
with:
operating_system: freebsd
version: '14.3'
memory: 4G
shell: sh
sync_files: runner-to-vm
run: |
sudo pkg install -y git sqlite3 gmake boehm-gc-threaded libiconv gcc
# Mandatory: hostname not set in VM => some tests fail
sudo hostname -s freebsd-ci
echo "### OS infos"
uname -a
git config --global --add safe.directory .
gmake
sudo ./v symlink
export VFLAGS='-cc gcc'
./v run ci/freebsd_ci.vsh all