Files
HanjaKanaMun/.gitea/workflows/gitea-build.yaml
T
SansanandClaude Sonnet 5 ad7d19b85a
Build and Test / build (push) Successful in 22s
Build and Test / windows (push) Successful in 1m8s
Embed fonts into the executable, ship release artifacts as bare binaries
Fonts are now baked in with #load and loaded via LoadFontFromMemory
instead of LoadFontEx reading assets/*.ttf from disk, so a build no
longer needs an assets/ folder next to it at runtime - the chdir to
the executable's own directory in main.odin is dead code, removed.

just package / just package-windows now produce a single executable
(build/<name>_<version>_<os>_<arch>[.exe]) instead of a tar.gz/zip,
and the release workflow's upload/release-asset globs and the lld/zip
toolchain package list are updated to match.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-03 20:11:47 +02:00

70 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: Build
run: just release
# Cross-compiles for Windows so link breakages show up before a release.
# Runs after `build`: both jobs clone the same cached actions/checkout and
# actions/cache repos into one shared directory on the runner, and starting
# them at the same time can race on that clone/fetch - one job then gets a
# missing or corrupted action and fails immediately (seen on run 136, not
# related to the odin test fix above). Sequencing avoids the race.
windows:
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup Toolchain
uses: ./.gitea/actions/setup
with:
packages: lld
- 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