Repository navigation
feat: reusable Flutter CI, release and Pages workflows - #1
Closed
ThePhaseless wants to merge 1 commit into
Closed
ThePhaseless wants to merge 1 commit into
ThePhaseless wants to merge 1 commit into
Conversation
ThePhaseless
force-pushed
the
initial
branch
5 times, most recently
from
October 5, 2026 15:00
98cc17b to
7828001
Compare
Moves the GitHub Actions setup of SilverTimetable2 here so that every Flutter app of the organization can call it instead of keeping a copy. - flutter-ci.yml: lint and test (`mise run check`), optional generated-code check, release APKs and web build, optional unsigned iOS build. - flutter-release.yml: one GitHub release in, every platform out. The tag is the version (X.Y.Z or X.Y.Z-beta.N, optional "v"); the build number is derived from it. A pre-release becomes a public beta (Play open testing, a TestFlight public link after Beta App Review, Pages /beta/); a release goes to production; unticking "pre-release" promotes the same builds without rebuilding. Store jobs turn on per app (android-package, bundle-id) once the store variables are set, and a half-done setup fails before anything is built. Google Play uses Workload Identity Federation, App Store Connect cloud signing; the store scripts are checked out at the commit the caller pinned (job.workflow_sha). - flutter-pages.yml: newest release at the site root, newest build of any kind under /beta/. - tests/: the store scripts against local mocks that check their requests against trimmed copies of the official API descriptions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Superseded by SilverNETGroupSGGW/Infra#1, which merged this branch with its history into the Infra repository. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The CI, release and Pages workflows of SilverTimetable2, moved here so every Flutter app of the organization calls them instead of keeping its own copy. SilverTimetable2's
masteralready calls this branch's head commit.What
flutter-ci.yml:mise run check, an optional check that generated code is committed, release APKs and the web build, and an optional unsigned iOS build on macOS.flutter-release.yml: one GitHub release in, every platform out.X.Y.Zfor a release andX.Y.Z-beta.Nfor a pre-release, with or withoutv. The jobs writeversion: X.Y.Z+Bintopubspec.yamlbefore building. The build numberB = X·1000000 + Y·10000 + Z·100 + N, withN= 99 for a release, so it grows with every tag and a promoted beta keeps its own. Malformed tags, and a pre-release tick that doesn't match the tag, fail before anything is built./beta/on Pages.android-packageturns on Google Play andbundle-idturns on iOS, both only once the store's variables are set, so org-wide variables don't switch a store on for every app. A half-done setup fails in the first job, before any macOS minute.artifact-prefixdefaults to the repository name.Runner.entitlements.job.workflow_sha). An optionalenvironmentinput adds a reviewer gate.flutter-pages.yml: the newest release at the site root, and the newest build of any kind (usually the beta) under/beta/.Tests
tests/runs both scripts against local mock APIs.Trackschema.4.3.0-beta.1. All APKs and the App Bundle reportversionCode 4030001/versionName 4.3.0, and the web build'sversion.jsonmatches.Decisions to check
v1.0.0. Once Renovate is installed, it moves the apps' pins forward (README, "Renovate", has the app config:config:recommendedwith non-major updates merged after CI).🤖 Generated with Claude Code