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@v6 - name: Tests on FreeBSD with tcc id: tests-freebsd-tcc uses: cross-platform-actions/action@v1.0.0 with: operating_system: freebsd version: '15.0' memory: 4G shell: sh sync_files: runner-to-vm 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@v6 - name: Tests on FreeBSD with clang id: tests-freebsd-clang uses: cross-platform-actions/action@v1.0.0 with: operating_system: freebsd version: '15.0' memory: 4G shell: sh sync_files: runner-to-vm 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@v6 - name: Tests on FreeBSD with gcc id: tests-freebsd-gcc uses: cross-platform-actions/action@v1.0.0 with: operating_system: freebsd version: '15.0' memory: 4G shell: sh sync_files: runner-to-vm 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