Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/check-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: 'Build 🏗️'

on:
pull_request:
branches: [develop, staging, master, feature/**]
branches: [develop, master, feature/**]
push:
branches: [develop, staging, master, feature/**]
branches: [develop, master, feature/**]

workflow_dispatch:

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: 'Clean 🧹'

on:
pull_request:
branches: [develop, staging, master, feature/**]
branches: [develop, master, feature/**]

workflow_dispatch:

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: 'Scan 🔎'

on:
pull_request:
branches: [develop, staging, master, feature/**]
branches: [develop, master, feature/**]

schedule:
# ┌───────────── minute (0 - 59)
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ on:
workflow_dispatch:

pull_request:
branches: [develop, staging, master, feature/**]
branches: [develop, master, feature/**]

push:
branches: [develop, staging, master, feature/**]
branches: [develop, master, feature/**]

jobs:
build_code:
Expand Down
9 changes: 6 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,12 @@ yarn generate:release # Review version bumps and changelog

### Branch Strategy

- Main development branch: `develop`
- Main branch for releases: `master`
- Release PRs should start with `[RELEASE]` in title
Two-branch model (the previous `staging` branch was retired May 2026):

- **`develop`** — main development branch. All feature, fix, and chore PRs target it. Every push to `develop` deploys to the staging Netlify environment (`develop--tangle-{cloud,dapp,leaderboard}.netlify.app`, aliased at `staging.{cloud,app,leaderboard}.tangle.tools` when configured).
- **`master`** — production. Promotions happen automatically via the `auto-sync-master-with-develop.yml` workflow: a push to `develop` whose head commit message starts with `[RELEASE]` fast-forwards `master` to that commit and fires the production Netlify deploy. No manual cherry-pick, no separate release branch.
- **Release PR titles must start with `[RELEASE]`** so the auto-sync workflow promotes the merge commit to master.
- Hotfixes follow the same flow: PR into `develop` with a `[RELEASE]`-tagged final commit (e.g. via `gh pr merge --squash --subject "[RELEASE] fix: …"`).

### Prerequisites

Expand Down
7 changes: 6 additions & 1 deletion apps/leaderboard/netlify.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,10 @@
# covered (it's inside apps/leaderboard/), and any source/config/
# lockfile change also re-triggers.
#
# Non-master branches always build (gives PR-preview deploys).
# Non-master branches always build (gives PR-preview + develop-branch
# deploys). The `develop` branch deploy is our staging environment —
# surfaced at develop--tangle-leaderboard.netlify.app and, when DNS
# aliases are configured, at staging.leaderboard.tangle.tools. The
# legacy `staging` git branch has been retired (May 2026); promotions
# go develop → master via the `[RELEASE]`-tagged auto-sync workflow.
ignore = "[ \"$BRANCH\" != \"master\" ] && exit 1 || git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF -- apps/leaderboard/ libs/ package.json yarn.lock tsconfig.base.json nx.json && exit 0 || exit 1"
10 changes: 8 additions & 2 deletions apps/tangle-cloud/netlify.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,12 @@
# implicitly covered (it's inside apps/tangle-cloud/), and any source/
# config/lockfile change also re-triggers.
#
# Non-master branches always build (gives PR-preview deploys).
# Non-master branches always build (gives PR-preview + develop-branch
# deploys). The `develop` branch deploy is our staging environment —
# surfaced at develop--tangle-cloud.netlify.app and, when DNS aliases
# are configured, at staging.cloud.tangle.tools. The legacy `staging`
# git branch has been retired (May 2026); promotions go develop → master
# via the `[RELEASE]`-tagged auto-sync workflow.
ignore = "[ \"$BRANCH\" != \"master\" ] && exit 1 || git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF -- apps/tangle-cloud/ libs/ package.json yarn.lock tsconfig.base.json nx.json && exit 0 || exit 1"

# ─── Per-context environment ───────────────────────────────────────────
Expand All @@ -36,7 +41,8 @@
VITE_BLUEPRINT_IFRAME_ENABLED = "true"

[context.branch-deploy.environment]
# Same default for any non-master branch deploy (e.g. staging).
# Same default for any non-master branch deploy. The primary branch
# deploy is `develop`, which serves as our staging environment.
VITE_BLUEPRINT_IFRAME_ENABLED = "true"

# ─── Security headers ───────────────────────────────────────────────────
Expand Down
7 changes: 6 additions & 1 deletion apps/tangle-dapp/netlify.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,12 @@
# implicitly covered (it's inside apps/tangle-dapp/), and any source/
# config/lockfile change also re-triggers.
#
# Non-master branches always build (gives PR-preview deploys).
# Non-master branches always build (gives PR-preview + develop-branch
# deploys). The `develop` branch deploy is our staging environment —
# surfaced at develop--tangle-dapp.netlify.app and, when DNS aliases
# are configured, at staging.app.tangle.tools. The legacy `staging` git
# branch has been retired (May 2026); promotions go develop → master
# via the `[RELEASE]`-tagged auto-sync workflow.
ignore = "[ \"$BRANCH\" != \"master\" ] && exit 1 || git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF -- apps/tangle-dapp/ libs/ package.json yarn.lock tsconfig.base.json nx.json && exit 0 || exit 1"

# ─── Cache headers ──────────────────────────────────────────────────────
Expand Down
Loading