Skip to content

feat: automated RC release pipeline with .unitypackage build and E2E tests#405

Open
Kobikg78 wants to merge 8 commits into
developmentfrom
plugins-effort-reduction-workflow1
Open

feat: automated RC release pipeline with .unitypackage build and E2E tests#405
Kobikg78 wants to merge 8 commits into
developmentfrom
plugins-effort-reduction-workflow1

Conversation

@Kobikg78
Copy link
Copy Markdown
Collaborator

Summary

  • Added build-package job to RC pipeline that builds both regular and strict .unitypackage artifacts before E2E runs
  • E2E workflows now import the built .unitypackage into the repo root (matching UPM local reference in test-app/Packages/manifest.json)
  • Android E2E uses GHCR for Unity image (avoids 60-90 min Docker Hub pull)
  • iOS and Android import steps use tar extraction — no Unity license needed

Test plan

🤖 Generated with Claude Code

Kobikg78 and others added 8 commits May 19, 2026 19:01
After both E2E jobs pass, build regular and strict .unitypackage
artifacts using Unity 6000 on macOS and commit them to the release
branch — replacing the manual local build step.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Build .unitypackage first, then run iOS E2E, then Android E2E.
Matches the manual process: artifact built before testing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Both iOS and Android E2E workflows now:
1. Delete test-app/Assets/AppsFlyer
2. Import the built .unitypackage before building the test app

This tests the actual artifact that will be shipped to customers.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Both iOS and Android E2E workflows now import the built .unitypackage
into the repo root project (not test-app), matching the UPM local
reference in test-app/Packages/manifest.json (file:../../Assets/AppsFlyer).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…d E2E

Avoids Unity license activation inside Docker for the import step.
A .unitypackage is a tar.gz archive — extract directly on the runner
using pathname metadata to restore files to their correct paths.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Tar extraction of .unitypackage omits Tests/ and Mac/ folders that
exist in the release branch, leaving git in a dirty state. Setting
allowDirtyBuild: true lets game-ci proceed regardless.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
game-ci runs Docker internally and doesn't inherit the runner's login
session. Pass registryUrl/Username/Password so it can pull from GHCR.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant