mirror of
https://github.com/Sea-Haven-Industries/.github.git
synced 2026-09-30 05:53:12 +00:00
feat(workflow-templates): add release and ci-mobile-ios templates, pass node-version on ci-python
release.yml / release.properties.json and ci-mobile-ios.yml / ci-mobile-ios.properties.json are new caller templates for the two reusable workflows added in9389e51. Both pin the reusable to9389e51, the commit that introduces the workflow files. release.yml triggers on workflow_dispatch with a required `version` input and declares `permissions: contents: write`, which the reusable needs to push the tag and publish the Release. ci-mobile-ios.yml triggers on pull_request and keys its job `ci` so the check context resolves to `ci / ci`. ci-python.yml now passes `node-version: "24"`. Its target, ci-python-sam.yaml, declares that input at line 34 with default "24"; the ci-static, ci-typescript-frontend, ci-node, cdk-deploy and mobile-ios-deploy templates already pass the same value. Both new .properties.json files carry the same five keys as the thirteen existing ones: categories, description, filePatterns, iconName, name.
This commit is contained in:
parent
9389e51c10
commit
ead0b6cf6c
5 changed files with 63 additions and 0 deletions
7
workflow-templates/ci-mobile-ios.properties.json
Normal file
7
workflow-templates/ci-mobile-ios.properties.json
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "Sea Haven — CI (Mobile / iOS)",
|
||||
"description": "Runs npm ci, typecheck, optional lint and optional unit tests on Linux, then compiles the iOS app on macOS with signing disabled and no upload, via the org reusable ci-mobile-ios workflow. The pre-merge counterpart to the iOS TestFlight deploy.",
|
||||
"iconName": "octicon-checklist",
|
||||
"categories": ["Mobile", "TypeScript", "JavaScript", "Continuous integration"],
|
||||
"filePatterns": ["metro\\.config\\.[cm]?js$", "app\\.json$", "Podfile$"]
|
||||
}
|
||||
21
workflow-templates/ci-mobile-ios.yml
Normal file
21
workflow-templates/ci-mobile-ios.yml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
name: CI (Mobile / iOS)
|
||||
on:
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
ci:
|
||||
# Job id MUST stay `ci`: the reusable's aggregator job is also `ci`, so the
|
||||
# check context resolves to the required `ci / ci`.
|
||||
uses: Sea-Haven-Industries/.github/.github/workflows/ci-mobile-ios.yaml@9389e51c10c506caa55f204527452a9e29b0e438 # main
|
||||
with:
|
||||
# Matches local dev (Node 24 / npm 11, lockfileVersion 3). This is also
|
||||
# the reusable workflow's default — passed explicitly to pin against drift.
|
||||
node-version: "24"
|
||||
# Set these two to the app directory when the mobile project is not at
|
||||
# the repo root, matching the values passed to cd-mobile-ios.
|
||||
working-directory: "."
|
||||
cache-dependency-path: "package-lock.json"
|
||||
# Off by default: enable once package.json actually declares the script.
|
||||
run-lint: false
|
||||
run-tests: false
|
||||
|
|
@ -8,3 +8,7 @@ jobs:
|
|||
uses: Sea-Haven-Industries/.github/.github/workflows/ci-python-sam.yaml@555d07c3a240689a81668026787eba089df4c975 # main
|
||||
with:
|
||||
run-tests: true
|
||||
# ci-python-sam.yaml declares a `node-version` input (default "24") that
|
||||
# feeds the CDK CLI when run-cdk-synth is enabled. Passed explicitly so
|
||||
# the pin does not drift from local dev (Node 24 / npm 11).
|
||||
node-version: "24"
|
||||
|
|
|
|||
7
workflow-templates/release.properties.json
Normal file
7
workflow-templates/release.properties.json
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "Sea Haven — Release (tag + GitHub Release)",
|
||||
"description": "Creates an annotated v-prefixed git tag and publishes a GitHub Release for a version supplied on manual dispatch, using the org reusable release workflow. Re-running on a version that is already tagged or released is a no-op.",
|
||||
"iconName": "octicon-tag",
|
||||
"categories": ["Deployment", "Utilities"],
|
||||
"filePatterns": ["README\\.md$"]
|
||||
}
|
||||
24
workflow-templates/release.yml
Normal file
24
workflow-templates/release.yml
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
name: Release
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'Version to release, e.g. 1.4.0 (a leading "v" is accepted)'
|
||||
type: string
|
||||
required: true
|
||||
|
||||
permissions:
|
||||
# The reusable workflow pushes an annotated tag and publishes a Release.
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
release:
|
||||
uses: Sea-Haven-Industries/.github/.github/workflows/release.yaml@9389e51c10c506caa55f204527452a9e29b0e438 # main
|
||||
with:
|
||||
version: ${{ inputs.version }}
|
||||
# Tags in this org are v-prefixed MAJOR.MINOR.PATCH; "v" is the default
|
||||
# and is passed explicitly so a repo can see what it is producing.
|
||||
tag-prefix: "v"
|
||||
# Notes come from GitHub's commit-history generator. Set notes-file
|
||||
# instead to publish the contents of a file as the release notes.
|
||||
generate-notes: true
|
||||
Loading…
Add table
Reference in a new issue