feat(ci): sync the git.upriser.nl mirror on every push to main and every tag

New git-upriser-sync.yml calls the mirror-sync API (secrets GIT_UPRISER_URL, GIT_UPRISER_TOKEN; retried; skipped on Gitea). bundle.yml dispatches the renamed iso-1-github-tag.yml in the right repo name; docs follow.
This commit is contained in:
theupriser committed 2026-09-30 08:12:06 +02:00
1 parent d44f29956a
commit a232a55bef
4 files changed
+32 -6

No files matched your search

+3 -3
View File
@@ -193,7 +193,7 @@ jobs:
assets/steam-gaming-settings.svg assets/steam-gaming-settings.svg
# A new Steamify release starts the Steamify ISO's release with it (a test build from the ISO repo's # A new Steamify release starts the Steamify ISO's release with it (a test build from the ISO repo's
# feat/steamify, until that is its master): its iso-release.yml names it after this version, tags it, # feat/steamify, until that is its master): its iso-1-github-tag.yml names it after this version, tags it,
# and the Gitea mirror builds and attaches the ISO. Needs a fine-grained token for that repo # and the Gitea mirror builds and attaches the ISO. Needs a fine-grained token for that repo
# (Actions: read and write) as the secret ISO_DISPATCH_TOKEN; without it, this is skipped. # (Actions: read and write) as the secret ISO_DISPATCH_TOKEN; without it, this is skipped.
- name: Start the Steamify ISO's release - name: Start the Steamify ISO's release
@@ -207,5 +207,5 @@ jobs:
if [ -z "$GH_TOKEN" ]; then if [ -z "$GH_TOKEN" ]; then
echo "::notice::No ISO_DISPATCH_TOKEN: the Steamify ISO isn't released with this version."; exit 0 echo "::notice::No ISO_DISPATCH_TOKEN: the Steamify ISO isn't released with this version."; exit 0
fi fi
gh workflow run iso-release.yml -R theupriser/steammachine-cachyos-live-iso --ref feat/steamify gh workflow run iso-1-github-tag.yml -R theupriser/steamify-cachyos-live-iso --ref feat/steamify
echo "Started the Steamify ISO's release (theupriser/steammachine-cachyos-live-iso, feat/steamify)" echo "Started the Steamify ISO's release (theupriser/steamify-cachyos-live-iso, feat/steamify)"
+26
View File
@@ -0,0 +1,26 @@
name: Sync git.upriser.nl mirror
# Trigger the Gitea pull-mirror immediately instead of waiting for its interval,
# so Gitea builds/releases the ISO right after main or a tag lands on GitHub.
on:
push:
branches: [main]
tags: ['*']
workflow_dispatch:
jobs:
sync:
# Gitea also reads .github/workflows on the mirror; only run on GitHub
if: github.server_url == 'https://github.com'
runs-on: ubuntu-latest
steps:
- name: Trigger mirror-sync
env:
GITEA_URL: ${{ secrets.GIT_UPRISER_URL }}
GIT_UPRISER_TOKEN: ${{ secrets.GIT_UPRISER_TOKEN }}
# Gitea "owner/repo"; defaults to the same path as on GitHub
GITEA_REPO: ${{ vars.GITEA_REPO || github.repository }}
run: |
curl --fail-with-body -sS --retry 5 --retry-delay 10 --retry-all-errors -X POST \
-H "Authorization: token ${GIT_UPRISER_TOKEN}" \
"${GITEA_URL%/}/api/v1/repos/${GITEA_REPO}/mirror-sync"
+2 -2
View File
@@ -73,7 +73,7 @@ gamescope and the Plasma desktop. Primary target: the Valve Steam Machine
`upload-artifact@v4` on GitHub and `christopherhx/gitea-upload-artifact@v4` elsewhere: never mention `upload-artifact@v4` on GitHub and `christopherhx/gitea-upload-artifact@v4` elsewhere: never mention
`upload-artifact@v3`, GitHub fails a workflow for a deprecated version even in a skipped step); the `upload-artifact@v3`, GitHub fails a workflow for a deprecated version even in a skipped step); the
release is `gh` on GitHub and `akkuman/gitea-release-action` on Gitea. A new release on GitHub also starts the release is `gh` on GitHub and `akkuman/gitea-release-action` on Gitea. A new release on GitHub also starts the
Steamify ISO's release (`gh workflow run iso-release.yml` in steammachine-cachyos-live-iso, secret Steamify ISO's release (`gh workflow run iso-1-github-tag.yml` in steamify-cachyos-live-iso, secret
`ISO_DISPATCH_TOKEN`; skipped without it): the ISO repo's GitHub tag names it, the Gitea mirror builds it. `ISO_DISPATCH_TOKEN`; skipped without it): the ISO repo's GitHub tag names it, the Gitea mirror builds it.
CI (`.github/workflows/bundle.yml`) publishes the bundle as release CI (`.github/workflows/bundle.yml`) publishes the bundle as release
`v$VERSION` on pushes to `main`; an existing version is never overwritten, `v$VERSION` on pushes to `main`; an existing version is never overwritten,
@@ -308,7 +308,7 @@ gamescope and the Plasma desktop. Primary target: the Valve Steam Machine
(`state_get vram installed_pkgs`). (`state_get vram installed_pkgs`).
- Install-time mode (`steamify.sh --defaults`, 2.6.0): applies what the menu - Install-time mode (`steamify.sh --defaults`, 2.6.0): applies what the menu
would preselect, no menu or prompts (needs passwordless sudo). The Steam would preselect, no menu or prompts (needs passwordless sudo). The Steam
Machine ISO ([steammachine-cachyos-live-iso](https://github.com/theupriser/steammachine-cachyos-live-iso)) Machine ISO ([steamify-cachyos-live-iso](https://github.com/theupriser/steamify-cachyos-live-iso))
runs it in the installer for a user who has never logged in: no session runs it in the installer for a user who has never logged in: no session
bus, user systemd or plasmashell. So every `systemctl --user` goes through bus, user systemd or plasmashell. So every `systemctl --user` goes through
`user_systemctl` (`lib/common.sh`; without a session only unit files change, `user_systemctl` (`lib/common.sh`; without a session only unit files change,
+1 -1
View File
@@ -94,7 +94,7 @@ curl -fsSL https://github.com/theupriser/steamify-cachyos/releases/latest/downlo
``` ```
Installing CachyOS on a Steam Machine? The Installing CachyOS on a Steam Machine? The
[Steamify CachyOS ISO](https://github.com/theupriser/steammachine-cachyos-live-iso) [Steamify CachyOS ISO](https://github.com/theupriser/steamify-cachyos-live-iso)
has Steamify built into the installer: pick the options there, and the has Steamify built into the installer: pick the options there, and the
first boot is already set up. first boot is already set up.