# # .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 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