diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d7299bd46a5..688ae918d37 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -65,8 +65,6 @@ jobs: NIGHTLY_SHA: ${{ github.sha }} NIGHTLY_RUN_NUMBER: ${{ github.run_number }} run: | - fork_marker="tarik02" - trim() { local value="$1" value="${value#"${value%%[![:space:]]*}"}" @@ -79,8 +77,6 @@ jobs: raw="$(trim "$1")" raw="${raw#v}" if [[ "$raw" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then - printf '%s+%s' "$raw" "$fork_marker" - elif [[ "$raw" =~ ^[0-9]+\.[0-9]+\.[0-9]+\+tarik02(\.[0-9]+)?$ ]]; then printf '%s' "$raw" else echo "Invalid stable release version: $1" >&2 @@ -108,7 +104,7 @@ jobs: stable_from_main=false if [[ "${GITHUB_EVENT_NAME}" == "push" && "${GITHUB_REF}" == "refs/heads/main" ]]; then - if [[ "$package_version" =~ ^[0-9]+\.[0-9]+\.[0-9]+\+${fork_marker}(\.[0-9]+)?$ ]] && + if [[ "$package_version" =~ ^[0-9]{4}\.([1-9]|1[0-2])\.([1-9]|[12][0-9]|3[01])[0-9]{2}$ ]] && ! git rev-parse -q --verify "refs/tags/v$package_version" >/dev/null; then stable_from_main=true fi diff --git a/FORK.md b/FORK.md index 3fce1735588..fb57f415cab 100644 --- a/FORK.md +++ b/FORK.md @@ -40,7 +40,7 @@ This repository is a fork of `pingdotgg/t3code`. Keep this file focused on fork - Stable-version pushes wait for the matching release to finish so tag-based version resolution advances past the published version. - Release build jobs skip relay client tracing config because the relay config job is disabled. - Release builds publish updater metadata against the fork repository. -- Fork stable release versions are committed through release PRs before release artifacts are built and tagged. +- Fork stable release versions use date-based `YYYY.M.DDSS` numbers without build metadata. Release PRs commit them before release artifacts are built and tagged. - macOS release signing is separate from Apple notarization. - Self-signed macOS signing certificates are trusted during release builds. - macOS passkey entitlements are only enabled when Apple notarization/profile configuration is present. diff --git a/scripts/resolve-fork-stable-release.ts b/scripts/resolve-fork-stable-release.ts index 10db46f49d4..435f55d4ae2 100644 --- a/scripts/resolve-fork-stable-release.ts +++ b/scripts/resolve-fork-stable-release.ts @@ -11,8 +11,6 @@ export interface ForkStableReleaseMetadata { readonly name: string; } -const forkMarker = "tarik02"; - function parseArgs(argv: ReadonlyArray): { readonly date: string; readonly root: string; @@ -79,9 +77,8 @@ export function resolveForkStableReleaseMetadata( const month = Number(date.slice(4, 6)); const day = Number(date.slice(6, 8)); const daySlot = day * 100; - const tagPattern = new RegExp( - `^v?${year}\\.${month}\\.([0-9]+)\\+${forkMarker}(?:\\.([0-9]+))?$`, - ); + // TODO: Remove +tarik02 matching after the 2026-07-29 release transition. + const tagPattern = new RegExp(`^v?${year}\\.${month}\\.([0-9]+)(?:\\+tarik02(?:\\.[0-9]+)?)?$`); let maxSequence = 0; for (const tag of tags) { @@ -100,7 +97,7 @@ export function resolveForkStableReleaseMetadata( const nextSequence = maxSequence + 1; const patch = daySlot + nextSequence - 1; - const version = `${year}.${month}.${patch}+${forkMarker}`; + const version = `${year}.${month}.${patch}`; return { version, tag: `v${version}`,