Skip to content

v.ast, v.checker: fix infinite loops and segfaults in generic instantiation and cyclic aliases #8790

v.ast, v.checker: fix infinite loops and segfaults in generic instantiation and cyclic aliases

v.ast, v.checker: fix infinite loops and segfaults in generic instantiation and cyclic aliases #8790

Workflow file for this run

name: CI OpenBSD
on:
workflow_dispatch:
push:
branches:
- master
paths:
- '**'
- '!vlib/v3/**'
- '!**.md'
- '!**.yml'
- '!cmd/tools/**'
- '.github/workflows/openbsd_ci.yml'
- 'ci/openbsd_ci.vsh'
- 'cmd/tools/builders/**.v'
- 'cmd/tools/vwatch_stdin_test.v'
pull_request:
paths:
- 'cmd/v/**'
- 'cmd/tools/builders/**.v'
- 'cmd/tools/vwatch_stdin_test.v'
# cmd/tools essentials synced with cmd/tools/vtest-self.v:essential_list
- 'cmd/tools/vvet/**'
- 'cmd/tools/vdoc/**'
# vlib essentials synced with cmd/tools/vtest-self.v:essential_list
- 'vlib/arrays/**'
- 'vlib/bitfield/**'
- 'vlib/builtin/**'
- 'vlib/cli/**'
- 'vlib/crypto/md5/**'
- 'vlib/dl/**'
- 'vlib/encoding/**'
- 'vlib/flag/**'
- 'vlib/io/**'
- 'vlib/json/**'
- 'vlib/json2/**'
- 'vlib/math/**'
- 'vlib/net/**'
- 'vlib/os/**'
- 'vlib/rand/**'
- 'vlib/runtime/**'
- 'vlib/semver/**'
- 'vlib/strconv/**'
- 'vlib/strings/**'
- 'vlib/sync/**'
- 'vlib/time/**'
- 'vlib/toml/**'
- 'vlib/v/**'
# build-examples / DB / Sokol deps exercised by ci/openbsd_ci.vsh
- 'vlib/compress/**'
- 'vlib/crypto/rand/**'
- 'vlib/db/**'
- 'vlib/fontstash/**'
- 'vlib/gg/**'
- 'vlib/gx/**'
- 'vlib/picoev/**'
- 'vlib/sokol/**'
- 'vlib/term/**'
- 'vlib/veb/**'
- 'thirdparty/**'
- 'vc/**'
- 'v.mod'
- 'ci/openbsd_ci.vsh'
- 'ci/common/**'
- 'GNUmakefile'
- 'Makefile'
- '.github/problem-matchers/**'
# Negated patterns MUST stay after all positive patterns (GitHub path-filter ordering).
- '!**.md'
- '!**.yml'
- '.github/workflows/openbsd_ci.yml'
concurrency:
group: openbsd-${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }}
cancel-in-progress: true
### See https://github.com/cross-platform-actions/action
### for a description of the used fields here
jobs:
tcc-openbsd:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v7
- name: Start OpenBSD VM for tcc
id: vm-openbsd-tcc
uses: cross-platform-actions/action@v1.3.0
with:
operating_system: openbsd
version: '7.8'
memory: 4G
sync_files: runner-to-vm
- name: Tests on OpenBSD with tcc
id: tests-openbsd-tcc
shell: cpa.sh {0}
run: |
sudo pkg_add git sqlite3 gmake boehm-gc libiconv
# Install packages needed to build examples
sudo pkg_add mariadb-client postgresql-client
# Mandatory: hostname not set in VM => some tests fail
sudo hostname -s openbsd-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/openbsd_ci.vsh all
clang-openbsd:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v7
- name: Start OpenBSD VM for clang
id: vm-openbsd-clang
uses: cross-platform-actions/action@v1.3.0
with:
operating_system: openbsd
version: '7.8'
memory: 4G
sync_files: runner-to-vm
- name: Tests on OpenBSD with clang
id: tests-openbsd-clang
shell: cpa.sh {0}
run: |
sudo pkg_add git sqlite3 gmake boehm-gc libiconv
# Install packages needed to build examples
sudo pkg_add mariadb-client postgresql-client
# Mandatory: hostname not set in VM => some tests fail
sudo hostname -s openbsd-ci
echo "::group::OS infos"
uname -a
clang -v
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/openbsd_ci.vsh all