The windows job hadn't even started when build's odin test segfaulted again on its own (run 132), so concurrency wasn't the cause. Add a Debug Segfault step that runs the already-built test binary under gdb to get a backtrace, since this doesn't reproduce locally or in a plain ubuntu:24.04 container with the same Odin build. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
76 lines
1.8 KiB
YAML
76 lines
1.8 KiB
YAML
#
|
|
# .gitea/workflows/gitea-build.yaml
|
|
#
|
|
# Checks, tests and builds (Linux, plus a Windows cross-build) on every push and
|
|
# pull request to main and develop.
|
|
#
|
|
|
|
name: "Build and Test"
|
|
on:
|
|
push:
|
|
branches: [main, develop]
|
|
pull_request:
|
|
branches: [main, develop]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Toolchain
|
|
uses: ./.gitea/actions/setup
|
|
|
|
- name: Check
|
|
run: |
|
|
odin version
|
|
just check
|
|
|
|
- name: Test
|
|
run: just test
|
|
|
|
- name: Debug Segfault
|
|
if: failure()
|
|
run: |
|
|
uname -a
|
|
cat /etc/os-release || true
|
|
clang --version
|
|
ulimit -a
|
|
free -h || true
|
|
SUDO=""; command -v sudo >/dev/null && SUDO=sudo
|
|
$SUDO apt-get install -y --no-install-recommends gdb >/dev/null
|
|
gdb -batch -ex run -ex bt -ex "info registers" build/tests
|
|
|
|
- name: Build
|
|
run: just release
|
|
|
|
# Cross-compiles for Windows so link breakages show up before a release
|
|
windows:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Toolchain
|
|
uses: ./.gitea/actions/setup
|
|
with:
|
|
packages: lld zip
|
|
|
|
- name: Cache Windows SDK
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
build/xwin
|
|
build/xwin-sdk
|
|
build/raylib-windows
|
|
key: windows-sdk-${{ hashFiles('justfile') }}
|
|
|
|
- name: Windows Build
|
|
run: |
|
|
# Debian/Ubuntu may only ship a versioned lld-link
|
|
LLD_LINK="$(command -v lld-link || ls /usr/lib/llvm-*/bin/lld-link | sort -V | tail -1)"
|
|
export LLD_LINK
|
|
just windows-deps
|
|
just windows
|