Files
John Detter d6672f2ebb Use VM-based github runners (#4045)
# Description of Changes

<!-- Please describe your change, mention any related tickets, and so on
here. -->

This workflow change migrates us from docker container runners to the
new system which uses virtual machines via qemu. This solves a lot of
complexities around docker-in-docker and also allows us to easily run
windows VMs in the future.

# API and ABI breaking changes

<!-- If this is an API or ABI breaking change, please apply the
corresponding GitHub label. -->

None

# Expected complexity level and risk

0 - this only updates our workflow and has no impact on the code.

<!--
How complicated do you think these changes are? Grade on a scale from 1
to 5,
where 1 is a trivial change, and 5 is a deep-reaching and complex
change.

This complexity rating applies not only to the complexity apparent in
the diff,
but also to its interactions with existing and future code.

If you answered more than a 2, explain what is complex about the PR,
and what other components it interacts with in potentially concerning
ways. -->

# Testing

<!-- Describe any testing you've done, and any testing you'd like your
reviewers to do,
so that you're confident that all the changes work as expected! -->

- [x] CI is passing

---------

Signed-off-by: John Detter <4099508+jdetter@users.noreply.github.com>
2026-02-01 09:03:54 +00:00

64 lines
1.9 KiB
YAML

name: Attach client binaries to release
on:
workflow_dispatch:
inputs:
release_tag:
description: "Release tag (e.g. v1.9.0)"
required: true
jobs:
upload-assets:
runs-on: spacetimedb-new-runner-2
permissions:
contents: write # needed to modify releases
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifacts from private base URL
env:
RELEASE_TAG: ${{ github.event.inputs.release_tag }}
BASE_URL: ${{ secrets.ARTIFACT_BASE_URL }}
run: |
set -euo pipefail
FULL_URL="$BASE_URL/$RELEASE_TAG"
mkdir -p artifacts
cd artifacts
download() {
local filename="$1"
if ! wget -q "${FULL_URL}/${filename}" -O "${filename}"; then
echo "Failed to download ${filename}"
exit 1
fi
}
download "spacetime-aarch64-apple-darwin.tar.gz"
download "spacetime-aarch64-unknown-linux-gnu.tar.gz"
download "spacetime-x86_64-apple-darwin.tar.gz"
download "spacetime-x86_64-pc-windows-msvc.zip"
download "spacetime-x86_64-unknown-linux-gnu.tar.gz"
download "spacetimedb-update-aarch64-apple-darwin"
download "spacetimedb-update-aarch64-unknown-linux-gnu"
download "spacetimedb-update-x86_64-apple-darwin"
download "spacetimedb-update-x86_64-pc-windows-msvc.exe"
download "spacetimedb-update-x86_64-unknown-linux-gnu"
- name: Upload artifacts to GitHub Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE_TAG: ${{ github.event.inputs.release_tag }}
run: |
set -euo pipefail
cd artifacts
gh release upload "$RELEASE_TAG" ./* \
--repo "$GITHUB_REPOSITORY" \
--clobber