Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bulk backports to v4-main (3/7 edition) #9751

Merged
merged 61 commits into from
Mar 10, 2025
Merged
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
4d24763
Add perf info for re-materialization (#9681)
gitKrystan Feb 13, 2025
3ffb4bc
feat: runtime logging activation (#9683)
runspired Feb 19, 2025
9b80ccb
Fix bug where race condition causes errors during Request refresh (#9…
gitKrystan Feb 20, 2025
9532b93
feat(cache): add peekRemoteState to cache to view remote state (#9624)
richgt Feb 21, 2025
7a73dbb
feat: add patchRecord util to JSON:API (#9687)
runspired Feb 22, 2025
2b1cf4b
feat: immutable records should show only remote state, make builder t…
runspired Feb 22, 2025
ead24ba
Fix: support all known http methods (#9689)
runspired Feb 22, 2025
1af9a68
chore: fixup SchemaRecord readme (#9690)
runspired Feb 22, 2025
5e83d6e
chore: minor docs fixes
runspired Feb 22, 2025
7da6373
Feat: hasMany linksMode (#9676)
leoeuclids Feb 22, 2025
8738378
fix: make serialize utils smarter (#9692)
runspired Feb 22, 2025
7ac6b20
chore: add env vars to turbo config (#9693)
runspired Feb 23, 2025
6c8eae4
docs: small cleanup for SchemaRecord intro (#9694)
runspired Feb 23, 2025
d0a034b
chore: [BREAKING to prior alpha/betas] prepare SchemaRecord for stabl…
runspired Feb 23, 2025
fc7c9b4
doc: link to jsonapi.org when referencing
runspired Feb 23, 2025
dc1a602
doc: cleanup wording in SchemaRecord README
runspired Feb 23, 2025
83c1ce6
fix: Don't notify changes for attributes not registered with the sche…
gitKrystan Feb 25, 2025
cb4e391
internal: fixup diagnostic reporting (#9704)
runspired Mar 1, 2025
aac9918
chore: update to pnpm 10 (#9699)
runspired Mar 1, 2025
834a32e
chore: make diagnostic shutdown safer, use bun for holodeck server (#…
runspired Mar 4, 2025
f4e871b
fix(deps): update dependency vite to ^5.4.14 (#9666)
renovate[bot] Mar 4, 2025
76d9eca
chore(deps): update dependency globby to ^14.1.0 (#9708)
renovate[bot] Mar 4, 2025
060ad0b
chore(deps): update dependency bun-types to v1.2.4 (#9706)
renovate[bot] Mar 4, 2025
ed6388c
fix(deps): update dependency inflection to ~3.0.2 (#9664)
renovate[bot] Mar 4, 2025
c70d130
chore(deps): update dependency terser-webpack-plugin to ^5.3.12 (#9710)
renovate[bot] Mar 4, 2025
80b1ac2
chore(deps): update node.js to >= 18.20.7 (#9711)
renovate[bot] Mar 4, 2025
727caaf
fix(deps): update dependency globals to ^15.15.0 (#9715)
renovate[bot] Mar 4, 2025
893a89a
fix(deps): update dependency rollup to ^4.34.9 (#9716)
renovate[bot] Mar 4, 2025
4ea2c59
fix(deps): update dependency semver to ^7.7.1 (#9717)
renovate[bot] Mar 4, 2025
a0294b8
chore(deps): update ember-core (#9719)
renovate[bot] Mar 4, 2025
35459b9
fix(deps): update dependency debug to ^4.4.0 (#9714)
renovate[bot] Mar 4, 2025
2f762d6
fix(deps): update dependency @ember/optional-features to ^2.2.0 (#9713)
renovate[bot] Mar 4, 2025
9f41388
fix(deps): update asset-compilation (#9712)
renovate[bot] Mar 4, 2025
bd69798
chore(deps): update dependency @ember/string to v4.0.1 (#9721)
renovate[bot] Mar 4, 2025
eef0f66
chore(deps): update dependency command-line-args to v6 (#9722)
renovate[bot] Mar 4, 2025
1686b9e
chore(deps): update dependency expect-type to v1 (#9724)
renovate[bot] Mar 4, 2025
2222b67
chore(deps): update dependency ember-inflector to v5 (#9723)
renovate[bot] Mar 4, 2025
55dbced
chore(deps): update dependency mocha to v11 (#9726)
renovate[bot] Mar 4, 2025
194c709
chore(deps): update dependency rimraf to v6 (#9727)
renovate[bot] Mar 4, 2025
2638a3f
chore(deps): update oven-sh/setup-bun action to v2 (#9729)
renovate[bot] Mar 4, 2025
9e2269f
fix(deps): update dependency ember-cli to v6 (#9733)
renovate[bot] Mar 4, 2025
095178f
fix(deps): update build-tools (#9570)
renovate[bot] Mar 4, 2025
a6b8622
fix(deps): update dependency ember-load-initializers to v3 (#9736)
renovate[bot] Mar 4, 2025
65d051f
fix(deps): update dependency globals to v16 (#9737)
renovate[bot] Mar 4, 2025
a4f3ba8
Fix metric count data typo
gitKrystan Mar 4, 2025
f381240
fix(deps): update code-quality (#9571)
renovate[bot] Mar 4, 2025
cc65a28
bump version of tracerbench
runspired Mar 5, 2025
29e95f4
chore: add logging to proxy server for debugging
runspired Mar 5, 2025
780e2ea
chore: Modernize Performance App (use Vite) (#9707)
runspired Mar 5, 2025
7aa8cdd
chore: update main version of perf checks
runspired Mar 5, 2025
64c5e18
chore: fixup vite config for perf (#9744)
runspired Mar 5, 2025
f5e474e
feat: new perf scenario for complex records (#9745)
runspired Mar 6, 2025
ff35399
chore: update scenario
runspired Mar 6, 2025
8d0b992
chore: remove mixin workaround
runspired Mar 6, 2025
410f733
More dramatic update for update-with-same-state perf test (#9743)
gitKrystan Mar 6, 2025
ecc3574
chore: bump size of benchmark (#9746)
runspired Mar 6, 2025
8835a34
Actually add the m2m test case to the perf test output (#9748)
gitKrystan Mar 6, 2025
3121543
chore: update perf suite (#9749)
runspired Mar 7, 2025
499dff2
Don't overnotify for updates to added state that match local updates …
gitKrystan Mar 8, 2025
355e99d
Backport tests/main/tsconfig
gitKrystan Mar 9, 2025
acd9114
Remove unneccessary test assertions
gitKrystan Mar 10, 2025
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
7 changes: 6 additions & 1 deletion .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
@@ -70,7 +70,7 @@ runs:
node-version-file: 'package.json'
cache: 'pnpm'

- uses: oven-sh/setup-bun@v1
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

@@ -101,6 +101,11 @@ runs:
sudo apt install libnss3-tools
brew install mkcert

- name: 'Setup DBus for Chrome'
shell: bash
run: |
echo "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus" >> $GITHUB_ENV

- name: Configure Parallel Builds
if: ${{ inputs.parallel-build == 'true' }}
shell: bash
30 changes: 18 additions & 12 deletions .github/workflows/compat-tests.yml
Original file line number Diff line number Diff line change
@@ -54,18 +54,24 @@ jobs:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Run Tests
run: pnpm test:vite
floating-dependencies:
timeout-minutes: 9
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: ./.github/actions/setup
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies w/o lockfile
run: pnpm install --no-lockfile
- name: Basic Tests
run: pnpm test
###
# This Test No Longer Works Because pnpm install --no-lockfile
# returns exit code 1 whenever there is a lockfile present and
# changes are made to node_modules. This is probably a bug in pnpm.
###
#
# floating-dependencies:
# timeout-minutes: 9
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
# - uses: ./.github/actions/setup
# with:
# repo-token: ${{ secrets.GITHUB_TOKEN }}
# - name: Install dependencies w/o lockfile
# run: pnpm install --no-lockfile
# - name: Basic Tests
# run: pnpm test
node-version-test:
name: Use Node.js ${{ matrix.node-version }}
timeout-minutes: 10
12 changes: 10 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -174,7 +174,11 @@ jobs:
timeout-minutes: 12
env:
CI: true
run: pnpm test:try-one ${{ matrix.scenario }} -- ember test --test-port=0
run: |
cd tests/main;
pnpm exec ember try:one ${{ matrix.scenario }} --skip-cleanup;
pnpm build:tests;
pnpm run test;

releases:
timeout-minutes: 12
@@ -201,4 +205,8 @@ jobs:
- name: Basic tests with ${{ matrix.release }}
env:
CI: true
run: pnpm test:try-one ${{ matrix.release }} -- ember test --test-port=0
run: |
cd tests/main;
pnpm exec ember try:one ${{ matrix.release }} --skip-cleanup;
pnpm build:tests;
pnpm run test;
43 changes: 37 additions & 6 deletions .github/workflows/perf-check.yml
Original file line number Diff line number Diff line change
@@ -53,12 +53,14 @@ jobs:
run: |
BROWSER_FLAGS=$(node ./scripts/perf-tracking/browser-flags.mjs)
echo "BROWSER_FLAGS=$BROWSER_FLAGS" >> $GITHUB_OUTPUT
- uses: tracerbench/tracerbench-compare-action@35f3ab44b512fd2caffbe81adf875ab47272b5b5
#env:
# DEBUG: true
- uses: tracerbench/tracerbench-compare-action@6b56fb774f78e4a85cf02396412b0164870cdab3
with:
experiment-build-command: pnpm install && pnpm --filter performance-test-app exec ember build -e production --output-path dist-experiment --suppress-sizes
experiment-serve-command: pnpm --filter performance-test-app exec ember s --path dist-experiment --port 4201
control-build-command: pnpm install && pnpm --filter performance-test-app exec ember build -e production --output-path dist-control --suppress-sizes
control-serve-command: pnpm --filter performance-test-app exec ember s --path dist-control
experiment-build-command: pnpm --filter performance-test-app build --outDir dist-experiment
experiment-serve-command: pnpm --filter performance-test-app start dist-experiment -p 4201
control-build-command: pnpm --filter performance-test-app build --outDir dist-control
control-serve-command: pnpm --filter performance-test-app start dist-control -p 4200
control-sha: origin/main
sample-timeout: 60
use-pnpm: true
@@ -70,6 +72,16 @@ jobs:
"experiment": "http://localhost:4201/basic-record-materialization",
"markers": "start-data-generation,start-push-payload,start-peek-records,start-record-materialization,end-record-materialization"
},
"complex-record-materialization": {
"control": "http://localhost:4200/complex-record-materialization",
"experiment": "http://localhost:4201/complex-record-materialization",
"markers": "start-data-generation,start-push-payload,start-peek-records,start-record-materialization,end-record-materialization"
},
"complex-record-materialization-with-relationship-materialization": {
"control": "http://localhost:4200/complex-record-materialization-with-relationship-materialization",
"experiment": "http://localhost:4201/complex-record-materialization-with-relationship-materialization",
"markers": "start-data-generation,start-push-payload,start-peek-records,start-record-materialization,start-field-access,start-relationship-access,end-relationship-access"
},
"relationship-materialization-simple": {
"control": "http://localhost:4200/relationship-materialization-simple",
"experiment": "http://localhost:4201/relationship-materialization-simple",
@@ -78,7 +90,7 @@ jobs:
"relationship-materialization-complex": {
"control": "http://localhost:4200/relationship-materialization-complex",
"experiment": "http://localhost:4201/relationship-materialization-complex",
"markers": "start-data-generation,start-push-payload,start-peek-records,start-record-materialization,start-relationship-materialization,end-relationship-materialization"
"markers": "start-data-generation,start-push-payload,start-peek-records,start-record-materialization,start-relationship-materialization,start-push-payload2,start-relationship-materialization2,end-relationship-materialization2"
},
"unload": {
"control": "http://localhost:4200/unload",
@@ -104,11 +116,30 @@ jobs:
"control": "http://localhost:4200/unused-relationships",
"experiment": "http://localhost:4201/unused-relationships",
"markers": "start-push-payload,end-push-payload"
},
"update-with-same-state": {
"control": "http://localhost:4200/update-with-same-state",
"experiment": "http://localhost:4201/update-with-same-state",
"markers": "start-data-generation,start-push-initial-payload,start-peek-records,start-record-materialization,start-relationship-materialization,start-local-removal,start-push-minus-one-payload,start-local-addition,start-push-plus-one-payload,end-push-plus-one-payload"
},
"update-with-same-state-m2m": {
"control": "http://localhost:4200/update-with-same-state-m2m",
"experiment": "http://localhost:4201/update-with-same-state-m2m",
"markers": "start-data-generation,start-push-initial-payload,start-peek-records,start-record-materialization,start-relationship-materialization,start-local-removal,start-push-minus-one-payload,start-local-addition,start-push-plus-one-payload,end-push-plus-one-payload"
}
}
fidelity: 60
upload-traces: true
upload-results: true
# env:
# DEBUG: '*,-babel*,-vite*,-rollup*,-ember*,-broccoli*,-pnpm*,-embroider*,-tree-sync*,-fs-tree-diff*'
# - name: Upload Assets
# if: failure() || success()
# uses: actions/upload-artifact@v4
# with:
# name: built-files
# path: 'tests/performance/dist-*'
# retention-days: 1
- name: Report TracerBench Results
if: failure() || success()
env:
40 changes: 33 additions & 7 deletions .github/workflows/perf-over-release.yml
Original file line number Diff line number Diff line change
@@ -45,20 +45,22 @@ jobs:
registry-url: 'https://registry.npmjs.org'
node-version-file: 'package.json'
cache: 'pnpm'
- uses: oven-sh/setup-bun@v1
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Get Browser Flags
id: browser-flags
run: |
BROWSER_FLAGS=$(node ./scripts/perf-tracking/browser-flags.mjs)
echo "BROWSER_FLAGS=$BROWSER_FLAGS" >> $GITHUB_OUTPUT
- uses: tracerbench/tracerbench-compare-action@35f3ab44b512fd2caffbe81adf875ab47272b5b5
# env:
# DEBUG: true
- uses: tracerbench/tracerbench-compare-action@6b56fb774f78e4a85cf02396412b0164870cdab3
with:
experiment-build-command: pnpm install && pnpm --filter performance-test-app exec ember build -e production --output-path dist-experiment --suppress-sizes
experiment-serve-command: pnpm --filter performance-test-app exec ember s --path dist-experiment --port 4201
control-build-command: pnpm install && pnpm --filter performance-test-app exec ember build -e production --output-path dist-control --suppress-sizes
control-serve-command: pnpm --filter performance-test-app exec ember s --path dist-control
experiment-build-command: pnpm --filter performance-test-app build --outDir dist-experiment
experiment-serve-command: pnpm --filter performance-test-app start dist-experiment -p 4201
control-build-command: pnpm --filter performance-test-app build --outDir dist-control
control-serve-command: pnpm --filter performance-test-app start dist-control -p 4200
sample-timeout: 60
use-pnpm: true
browser-args: ${{ steps.browser-flags.outputs.BROWSER_FLAGS }}
@@ -69,6 +71,16 @@ jobs:
"experiment": "http://localhost:4201/basic-record-materialization",
"markers": "start-data-generation,start-push-payload,start-peek-records,start-record-materialization,end-record-materialization"
},
"complex-record-materialization": {
"control": "http://localhost:4200/complex-record-materialization",
"experiment": "http://localhost:4201/complex-record-materialization",
"markers": "start-data-generation,start-push-payload,start-peek-records,start-record-materialization,end-record-materialization"
},
"complex-record-materialization-with-relationship-materialization": {
"control": "http://localhost:4200/complex-record-materialization-with-relationship-materialization",
"experiment": "http://localhost:4201/complex-record-materialization-with-relationship-materialization",
"markers": "start-data-generation,start-push-payload,start-peek-records,start-record-materialization,start-field-access,start-relationship-access,end-relationship-access"
},
"relationship-materialization-simple": {
"control": "http://localhost:4200/relationship-materialization-simple",
"experiment": "http://localhost:4201/relationship-materialization-simple",
@@ -77,7 +89,7 @@ jobs:
"relationship-materialization-complex": {
"control": "http://localhost:4200/relationship-materialization-complex",
"experiment": "http://localhost:4201/relationship-materialization-complex",
"markers": "start-data-generation,start-push-payload,start-peek-records,start-record-materialization,start-relationship-materialization,end-relationship-materialization"
"markers": "start-data-generation,start-push-payload,start-peek-records,start-record-materialization,start-relationship-materialization,start-push-payload2,start-relationship-materialization2,end-relationship-materialization2"
},
"unload": {
"control": "http://localhost:4200/unload",
@@ -104,11 +116,25 @@ jobs:
"experiment": "http://localhost:4201/unused-relationships",
"markers": "start-push-payload,end-push-payload"
}
"update-with-same-state-m2m": {
"control": "http://localhost:4200/update-with-same-state-m2m",
"experiment": "http://localhost:4201/update-with-same-state-m2m",
"markers": "start-data-generation,start-push-initial-payload,start-peek-records,start-record-materialization,start-relationship-materialization,start-local-removal,start-push-minus-one-payload,start-local-addition,start-push-plus-one-payload,end-push-plus-one-payload"
}
}
fidelity: 60
control-sha: origin/release
upload-traces: true
upload-results: true
# env:
# DEBUG: '*,-babel*,-vite*,-rollup*,-ember*,-broccoli*,-pnpm*,-embroider*,-tree-sync*,-fs-tree-diff*'
# - name: Upload Assets
# if: failure() || success()
# uses: actions/upload-artifact@v4
# with:
# name: built-files
# path: 'tests/performance/dist-*'
# retention-days: 1
- name: Report TracerBench Results
if: failure() || success()
env:
Loading
Oops, something went wrong.
Loading