Files
omarchy-sc/TEST_REPORT.md
T
jbergner 4a48f9b8c5
Citizen Launcher CI / verify (push) Failing after 1m18s
Citizen Launcher CI / arch-package (push) Failing after 1m19s
Citizen Launcher CI / rpm-package (push) Failing after 1m21s
v1.1.1
2026-09-01 19:50:44 +02:00

3.3 KiB
Raw Blame History

Citizen Launcher 1.1.1 – Verification Report

Date: 2026-09-01

Release scope

Citizen Launcher 1.1.1 keeps the confirmed playable 1.1.x multi-distribution gaming core and migrates CI/CD and release publishing to Gitea Actions.

Automated release gate

The 1.1.1 tree passes the local release gate with:

  • shell syntax checks for installers, packaging, Gitea release helper and tests
  • gofmt cleanliness
  • go test ./...
  • go vet ./...
  • static Linux amd64 build and version check
  • go test -race ./...
  • Omarchy updater integration test against disposable local Git repositories
  • Debian package build and metadata/payload verification
  • generic Linux amd64 tarball build and execution check
  • Gitea workflow YAML parsing
  • assertion that legacy .github/workflows/ does not shadow .gitea/workflows/
  • assertion that the release workflow does not use gh release or cross-job artifact actions
  • mocked Gitea REST API test covering release creation, release update on rerun, asset upload, same-name asset replacement and asset download
  • Gitea release-source parsing and SHA256SUMS.txt parser regression tests
  • static validation of RPM spec and Arch PKGBUILD/package hooks
  • multi-distro platform-family and immutable-host regression tests
  • native package self-update parser/asset-selection tests for DEB, RPM and pacman formats

Gitea CI/CD design verified

Workflows live in:

  • .gitea/workflows/ci.yml
  • .gitea/workflows/release.yml

The release workflow uses Gitea-native contexts (gitea.api_url, gitea.repository, gitea.ref_name, gitea.sha, gitea.token) and the built-in job token with code: read / releases: write permissions.

Release packages are uploaded directly to the Gitea Release rather than moved between jobs with actions/upload-artifact. The final job downloads the native release packages and publishes one deterministic SHA256SUMS.txt.

The release helper is rerun-safe: an existing release is refreshed and same-named attachments are replaced instead of duplicated.

Gitea-aware launcher self-update

A Gitea workflow build injects this form as the launcher's trusted update source:

gitea:<gitea.api_url>/repos/<owner>/<repo>

The launcher resolves Gitea's latest release API and maps the release SHA256SUMS.txt back onto the package assets before a privileged update is allowed. Privileged Gitea sources require HTTPS. Existing GitHub release-source syntax remains supported for migration/backward compatibility.

A separate build check confirmed that a gitea:https://.../api/v1/repos/owner/repo source is successfully embedded into the static binary and reported by self-update status.

Native package build coverage

The current local build environment contains Debian packaging tools, therefore these artifacts can be built and inspected locally:

  • dist/citizen-launcher_1.1.1_amd64.deb
  • dist/citizen-launcher-1.1.1-linux-amd64.tar.gz

The local environment does not provide native rpmbuild / Arch makepkg; the Gitea workflows build those in Fedora and Arch job containers:

  • citizen-launcher-1.1.1-1.linux.x86_64.rpm
  • citizen-launcher-1.1.1-1-x86_64.pkg.tar.zst

Gaming-core acceptance

The Star Citizen install/play path is unchanged from the already accepted 1.0.1/1.1.0 line. The CI migration changes release and update plumbing, not Wine/DXVK/RSI launch behavior.