150 lines
4.6 KiB
YAML
150 lines
4.6 KiB
YAML
name: CI FreeBSD
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- master
|
|
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@v7
|
|
|
|
- name: Start FreeBSD VM for tcc
|
|
id: vm-freebsd-tcc
|
|
uses: cross-platform-actions/action@v1.2.0
|
|
with:
|
|
operating_system: freebsd
|
|
version: '15.0'
|
|
memory: 4G
|
|
shell: sh
|
|
sync_files: runner-to-vm
|
|
|
|
- name: Tests on FreeBSD with tcc
|
|
id: tests-freebsd-tcc
|
|
shell: cpa.sh {0}
|
|
run: |
|
|
sudo pkg install -y git sqlite3 gmake boehm-gc-threaded libiconv
|
|
# Install DB packages needed to build examples
|
|
sudo pkg install -y mariadb118-client postgresql18-client
|
|
# Install packages needed by Sokol to build examples
|
|
sudo pkg install -y alsa-lib libglvnd libXi libXcursor
|
|
# Mandatory: hostname not set in VM => some tests fail
|
|
sudo hostname -s freebsd-ci
|
|
echo "::group::OS infos"
|
|
uname -a
|
|
echo "::endgroup::"
|
|
echo "::group::Build V"
|
|
git config --global --add safe.directory .
|
|
gmake
|
|
sudo ./v symlink
|
|
export VTEST_SHOW_LONGEST_BY_RUNTIME=3
|
|
export VTEST_SHOW_LONGEST_BY_COMPTIME=3
|
|
export VTEST_SHOW_LONGEST_BY_TOTALTIME=3
|
|
export VFLAGS='-cc tcc -no-retry-compilation'
|
|
echo "::endgroup::"
|
|
./v run ci/freebsd_ci.vsh all
|
|
|
|
clang-freebsd:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
|
|
- name: Start FreeBSD VM for clang
|
|
id: vm-freebsd-clang
|
|
uses: cross-platform-actions/action@v1.2.0
|
|
with:
|
|
operating_system: freebsd
|
|
version: '15.0'
|
|
memory: 4G
|
|
shell: sh
|
|
sync_files: runner-to-vm
|
|
|
|
- name: Tests on FreeBSD with clang
|
|
id: tests-freebsd-clang
|
|
shell: cpa.sh {0}
|
|
run: |
|
|
sudo pkg install -y git sqlite3 gmake boehm-gc-threaded libiconv
|
|
# Install DB packages needed to build examples
|
|
sudo pkg install -y mariadb118-client postgresql18-client
|
|
# Install packages needed by Sokol to build examples
|
|
sudo pkg install -y alsa-lib libglvnd libXi libXcursor
|
|
# Mandatory: hostname not set in VM => some tests fail
|
|
sudo hostname -s freebsd-ci
|
|
echo "::group::OS infos"
|
|
uname -a
|
|
echo "::endgroup::"
|
|
echo "::group::Build V"
|
|
git config --global --add safe.directory .
|
|
gmake
|
|
sudo ./v symlink
|
|
export VTEST_SHOW_LONGEST_BY_RUNTIME=3
|
|
export VTEST_SHOW_LONGEST_BY_COMPTIME=3
|
|
export VTEST_SHOW_LONGEST_BY_TOTALTIME=3
|
|
export VFLAGS='-cc clang'
|
|
echo "::endgroup::"
|
|
./v run ci/freebsd_ci.vsh all
|
|
|
|
gcc-freebsd:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
|
|
- name: Start FreeBSD VM for gcc
|
|
id: vm-freebsd-gcc
|
|
uses: cross-platform-actions/action@v1.2.0
|
|
with:
|
|
operating_system: freebsd
|
|
version: '15.0'
|
|
memory: 4G
|
|
shell: sh
|
|
sync_files: runner-to-vm
|
|
|
|
- name: Tests on FreeBSD with gcc
|
|
id: tests-freebsd-gcc
|
|
shell: cpa.sh {0}
|
|
run: |
|
|
sudo pkg install -y git sqlite3 gmake boehm-gc-threaded libiconv gcc
|
|
# Install DB packages needed to build examples
|
|
sudo pkg install -y mariadb118-client postgresql18-client
|
|
# Install packages needed by Sokol to build examples
|
|
sudo pkg install -y alsa-lib libglvnd libXi libXcursor
|
|
# Mandatory: hostname not set in VM => some tests fail
|
|
sudo hostname -s freebsd-ci
|
|
echo "::group::OS infos"
|
|
uname -a
|
|
echo "::endgroup::"
|
|
echo "::group::Build V"
|
|
git config --global --add safe.directory .
|
|
gmake
|
|
sudo ./v symlink
|
|
export VTEST_SHOW_LONGEST_BY_RUNTIME=3
|
|
export VTEST_SHOW_LONGEST_BY_COMPTIME=3
|
|
export VTEST_SHOW_LONGEST_BY_TOTALTIME=3
|
|
export VFLAGS='-cc gcc'
|
|
echo "::endgroup::"
|
|
./v run ci/freebsd_ci.vsh all
|