- just windows-deps / windows / package-windows: cross-compile with Odin objects + lld-link against an xwin SDK, static VC runtime - Release workflow runs on v* tags, builds Linux and Windows packages, uploads them to the package registry and creates a Gitea release - Shared toolchain setup as a local composite action Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
45 lines
1.4 KiB
YAML
45 lines
1.4 KiB
YAML
#
|
|
# .gitea/actions/setup/action.yaml
|
|
#
|
|
# Installs the toolchain shared by all workflows: system packages, Odin and just.
|
|
#
|
|
|
|
name: "Setup Odin toolchain"
|
|
description: "Install system packages, Odin and just"
|
|
|
|
inputs:
|
|
odin-version:
|
|
description: "Odin release tag (keep in sync with odin_version in the justfile)"
|
|
default: "dev-2026-09"
|
|
packages:
|
|
description: "Extra apt packages to install"
|
|
default: ""
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Install System Packages
|
|
shell: bash
|
|
run: |
|
|
SUDO=""; command -v sudo >/dev/null && SUDO=sudo
|
|
$SUDO apt-get update
|
|
# clang links Odin programs on Linux; raylib needs X11
|
|
$SUDO apt-get install -y --no-install-recommends \
|
|
clang libx11-dev curl ca-certificates unzip ${{ inputs.packages }}
|
|
|
|
- name: Install Odin
|
|
shell: bash
|
|
run: |
|
|
curl -fsSL -o /tmp/odin.tar.gz \
|
|
https://github.com/odin-lang/Odin/releases/download/${{ inputs.odin-version }}/odin-linux-amd64-${{ inputs.odin-version }}.tar.gz
|
|
mkdir -p "$HOME/odin"
|
|
tar -xzf /tmp/odin.tar.gz -C "$HOME/odin" --strip-components=1
|
|
echo "$HOME/odin" >> "$GITHUB_PATH"
|
|
|
|
- name: Install just
|
|
shell: bash
|
|
run: |
|
|
mkdir -p "$HOME/.local/bin"
|
|
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to "$HOME/.local/bin"
|
|
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
|