diff --git a/.github/workflows/pull-request-kotlin.yml b/.github/workflows/pull-request-kotlin.yml index 64742fa..cb2285d 100644 --- a/.github/workflows/pull-request-kotlin.yml +++ b/.github/workflows/pull-request-kotlin.yml @@ -73,6 +73,11 @@ on: type: boolean default: false description: 'Skip PR title check' + migration-naming-pattern: + required: false + type: string + default: '^[BV][0-9]{4}\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}(\.[0-9]{2})?__.+\.sql$' + description: 'Extended regular expression every newly added Flyway migration filename must match. Committed migrations are not checked against it.' secrets: GH_ACTION_ACCESS_KEY_ID: required: false @@ -131,6 +136,8 @@ jobs: # with no migrations pass trivially. - name: Check migration order uses: monta-app/github-workflows/.github/actions/check-migration-order@main + with: + naming-pattern: ${{ inputs.migration-naming-pattern }} lint: name: Lint needs: setup diff --git a/CLAUDE.md b/CLAUDE.md index 91056dd..a518afc 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -6,6 +6,7 @@ - **Changes**: Removed the `code-coverage-kotlin.yml` workflow (and with it `monta-app/push-kover-prometheus-action`) ## Recent Changes (2026-10-01) +1. **`migration-naming-pattern` on `pull-request-kotlin.yml`**: forwarded to `check-migration-order`'s `naming-pattern`. Its default duplicates the action's, because a composite action receives an empty `with:` value as `''` rather than falling back to its own default, and the script requires a non-empty pattern; keep the two defaults in sync. 1. **ARC is the default for every shared workflow; public repos use GitHub's standard runner**: `deploy-generic(-v2)`, `deploy-python`, `pull-request-bun`, `pull-request-react` and `component-test-python` gain `use-arc-runners` (default `true`), and `component-build`'s default flips to `true` (its direct callers move too). Every read is `(inputs.use-arc-runners && github.event.repository.private)`, as in the Kotlin workflows. `runner-size-converter` returns `ubuntu-24.04-arm` whenever `github.event.repository.private` is `false`, so public repos never land on ARC or Blacksmith (library-ocpp and ocpp-emulator were on Blacksmith through the Kotlin workflows' fallback). `component-build`'s Blacksmith builder job is skipped in public repos, since `useblacksmith/*` needs a Blacksmith runner. Events without a repository in the payload (`schedule`) keep the previous behaviour. Repos pinned to an older github-workflows SHA are unaffected. ## Recent Changes (2026-09-30) diff --git a/docs/workflow-guide.md b/docs/workflow-guide.md index c63bea6..f7bc598 100644 --- a/docs/workflow-guide.md +++ b/docs/workflow-guide.md @@ -816,6 +816,7 @@ jobs: | `test-timeout-minutes` | No | 30 | Test timeout | | `skip-sonar` | No | false | Skip SonarCloud analysis | | `sonar-non-blocking` | No | true | When true, a failure of the Tailscale bring-up or the SonarQube upload does not fail the job (tests still gate). Set to false to make SonarQube a hard gate. | +| `migration-naming-pattern` | No | `^[BV][0-9]{4}\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}(\.[0-9]{2})?__.+\.sql$` | ERE every newly added Flyway migration filename must match (Check Migration Order job). Committed migrations are not checked against it. | ### Secrets: | Secret | Required | Description |