@crossdelta/platform-sdk 0.26.13 → 0.26.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,32 @@ All notable changes to `@crossdelta/platform-sdk` will be documented in this fil
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.26.15] - 2026-11-04
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **The generated `lint-and-tests.yml` follows the workspace workflow again.** The template missed the
|
|
12
|
+
split lint steps (Biome lint, Biome format, custom lint rules and their tests) and the new
|
|
13
|
+
`typecheck` job, which type-checks the affected packages with each package's own tsconfig.
|
|
14
|
+
The sync leaves out what only exists in the source repository: the Biome format step for
|
|
15
|
+
`packages/jackherd` and `packages/pf-mcp`, the custom lint rule steps and the `KNOWN_RED` skip
|
|
16
|
+
list of the typecheck job, so a generated workspace has no step pointing at a missing path.
|
|
17
|
+
|
|
18
|
+
## [0.26.14] - 2026-11-02
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
- **The generated `build-and-deploy.yml` installs the Pulumi CLI before its first pulumi call.**
|
|
22
|
+
Only `Pulumi up` installed the CLI through `pulumi/actions`; the client build upload reads the
|
|
23
|
+
bucket from `pulumi stack output` and the deploy job's image comparison runs ahead of `Pulumi up`,
|
|
24
|
+
both relying on a CLI the runner image used to ship. On `ubuntu-26.04` they failed with
|
|
25
|
+
`pulumi: command not found` (exit 127). The template's deploy job now installs the CLI
|
|
26
|
+
unconditionally; its build job has no client build upload to need it.
|
|
27
|
+
|
|
28
|
+
## [0.26.13] - 2026-10-31
|
|
29
|
+
|
|
30
|
+
### Removed
|
|
31
|
+
- **The `cap:build:android:pilot` task is gone from the workspace `turbo.json` template.** The script
|
|
32
|
+
built debug-signed production APKs, which a properly signed release cannot update.
|
|
33
|
+
|
|
8
34
|
## [0.26.12] - 2026-10-28
|
|
9
35
|
|
|
10
36
|
### Fixed
|
|
@@ -483,6 +483,12 @@ jobs:
|
|
|
483
483
|
npm-token: $\{{ github.token }}
|
|
484
484
|
ignore-scripts: 'true'
|
|
485
485
|
|
|
486
|
+
# The runner image no longer ships the Pulumi CLI (ubuntu-26.04, 2026-11-02), and the first
|
|
487
|
+
# `pulumi` call of this job is the comparison below, ahead of `Pulumi up`. Without a `command`
|
|
488
|
+
# the action only installs it.
|
|
489
|
+
- name: Install the Pulumi CLI
|
|
490
|
+
uses: pulumi/actions@v7
|
|
491
|
+
|
|
486
492
|
# The scopes this deploy moves to another image than the stack runs, from the stack's
|
|
487
493
|
# `scopeImages` output of the last `up`. The steps that follow a new image (the Studio smoke
|
|
488
494
|
# check among them) hang off this list rather than off a build marker: a dispatch that builds
|
|
@@ -17,7 +17,7 @@ permissions:
|
|
|
17
17
|
contents: read
|
|
18
18
|
pull-requests: read
|
|
19
19
|
|
|
20
|
-
# A draft skips lint and
|
|
20
|
+
# A draft skips lint, test and typecheck under their own check names: GitHub shows the newest check run per
|
|
21
21
|
# name, and a draft push followed at once by `gh pr ready` leaves two runs on one commit, so a
|
|
22
22
|
# skipped "lint" could land after, and hide, the real one. A docs-only PR runs them but skips every
|
|
23
23
|
# step after the file check, so both end as a success and a required check never waits for a run
|
|
@@ -49,9 +49,9 @@ jobs:
|
|
|
49
49
|
cache-restore-keys: bun-v4-$\{{ runner.os }}-
|
|
50
50
|
ignore-scripts: 'true'
|
|
51
51
|
|
|
52
|
-
- name:
|
|
52
|
+
- name: Biome lint
|
|
53
53
|
if: steps.docs-only.outputs.docs_only != 'true'
|
|
54
|
-
run:
|
|
54
|
+
run: bunx biome lint .
|
|
55
55
|
|
|
56
56
|
- name: Component manifest
|
|
57
57
|
if: steps.docs-only.outputs.docs_only != 'true'
|
|
@@ -131,6 +131,64 @@ jobs:
|
|
|
131
131
|
bun run --if-present test
|
|
132
132
|
fi
|
|
133
133
|
|
|
134
|
+
# Types are checked per package with the package's own tsconfig, as `scripts/pre-commit-checks.ts`
|
|
135
|
+
# does. The packages are built first (the install runs the root `prepare`): a package's types
|
|
136
|
+
# resolve through its dependencies' dist.
|
|
137
|
+
typecheck:
|
|
138
|
+
name: $\{{ github.event.pull_request.draft && 'typecheck (draft)' || 'typecheck' }}
|
|
139
|
+
if: github.event.pull_request.draft == false
|
|
140
|
+
runs-on: ubuntu-latest
|
|
141
|
+
timeout-minutes: 15
|
|
142
|
+
steps:
|
|
143
|
+
- name: Checkout code
|
|
144
|
+
uses: actions/checkout@v6
|
|
145
|
+
with:
|
|
146
|
+
fetch-depth: 2
|
|
147
|
+
|
|
148
|
+
- name: Check for docs-only changes
|
|
149
|
+
id: docs-only
|
|
150
|
+
uses: ./.github/actions/pr-docs-only
|
|
151
|
+
with:
|
|
152
|
+
patterns: docs/**/*.md
|
|
153
|
+
github-token: $\{{ github.token }}
|
|
154
|
+
|
|
155
|
+
- name: Setup Bun and install dependencies
|
|
156
|
+
if: steps.docs-only.outputs.docs_only != 'true'
|
|
157
|
+
uses: ./.github/actions/setup-bun-install
|
|
158
|
+
with:
|
|
159
|
+
enable-cache: 'true'
|
|
160
|
+
cache-key: bun-v4-$\{{ runner.os }}-$\{{ hashFiles('bun.lock', 'bunfig.toml') }}
|
|
161
|
+
cache-restore-keys: bun-v4-$\{{ runner.os }}-
|
|
162
|
+
|
|
163
|
+
# Same scope rule as the test job: `turbo ls --affected` names the changed packages and their
|
|
164
|
+
# dependents, and a change to a root file every package reads checks them all.
|
|
165
|
+
- name: Run Typecheck
|
|
166
|
+
if: steps.docs-only.outputs.docs_only != 'true'
|
|
167
|
+
env:
|
|
168
|
+
GLOBAL_PATHS: package.json bunfig.toml tsconfig.json .npmrc .bun-version patches/ .github/workflows/lint-and-tests.yml .github/actions/setup-bun-install/
|
|
169
|
+
TURBO_SCM_BASE: HEAD^1
|
|
170
|
+
TURBO_SCM_HEAD: HEAD
|
|
171
|
+
run: |
|
|
172
|
+
# shellcheck disable=SC2086 # GLOBAL_PATHS is a space-separated pathspec list
|
|
173
|
+
CHANGED=$(git diff --name-only HEAD^1 HEAD -- $GLOBAL_PATHS | head -1)
|
|
174
|
+
if [ -n "$CHANGED" ]; then
|
|
175
|
+
echo "::notice::${CHANGED} changed: typechecking every package."
|
|
176
|
+
PACKAGES=$(bunx turbo ls --output=json | jq -r '.packages.items[].path')
|
|
177
|
+
else
|
|
178
|
+
PACKAGES=$(bunx turbo ls --affected --output=json | jq -r '.packages.items[].path')
|
|
179
|
+
fi
|
|
180
|
+
FAILED=""
|
|
181
|
+
for PACKAGE in $PACKAGES; do
|
|
182
|
+
[ -f "$PACKAGE/tsconfig.json" ] || continue
|
|
183
|
+
echo "::group::tsc $PACKAGE"
|
|
184
|
+
(cd "$PACKAGE" && bunx tsc --noEmit) || FAILED="$FAILED $PACKAGE"
|
|
185
|
+
echo "::endgroup::"
|
|
186
|
+
done
|
|
187
|
+
if [ -n "$FAILED" ]; then
|
|
188
|
+
echo "::error::Type errors in:${FAILED}"
|
|
189
|
+
exit 1
|
|
190
|
+
fi
|
|
191
|
+
|
|
134
192
|
e2e:
|
|
135
193
|
runs-on: ubuntu-latest
|
|
136
194
|
timeout-minutes: 30
|