Skip to content

Commit d7a3c8b

Browse files
authored
Merge branch 'main' into automation/yarn-upgrade
2 parents b3532e8 + 5f0578c commit d7a3c8b

27 files changed

+277
-40
lines changed

.github/workflows/gh-pages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- name: Check out
2121
uses: actions/checkout@v5
2222
- name: Set up Python
23-
uses: actions/setup-python@v5
23+
uses: actions/setup-python@v6
2424
with:
2525
cache: 'pip'
2626
cache-dependency-path: 'gh-pages/requirements-dev.txt'

.github/workflows/issue-regression-labeler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
steps:
1212
- name: Fetch template body
1313
id: check_regression
14-
uses: actions/github-script@v7
14+
uses: actions/github-script@v8
1515
env:
1616
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1717
TEMPLATE_BODY: ${{ github.event.issue.body }}

.github/workflows/main.yml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ jobs:
2626
uses: actions/checkout@v5
2727
# Set up all of our standard runtimes
2828
- name: Set up .NET 6
29-
uses: actions/setup-dotnet@v4
29+
uses: actions/setup-dotnet@v5
3030
with:
3131
dotnet-version: '6.0.x'
3232
- name: Set up Go 1.23
33-
uses: actions/setup-go@v5
33+
uses: actions/setup-go@v6
3434
with:
3535
go-version: '1.23'
3636
- name: Set up Java 8
@@ -39,12 +39,12 @@ jobs:
3939
distribution: 'zulu'
4040
java-version: '8'
4141
- name: Set up Node LTS
42-
uses: actions/setup-node@v4
42+
uses: actions/setup-node@v5
4343
with:
4444
cache: yarn
4545
node-version: 'lts/*'
4646
- name: Set up Python 3.9
47-
uses: actions/setup-python@v5
47+
uses: actions/setup-python@v6
4848
with:
4949
python-version: '3.9'
5050
cache: pip
@@ -108,11 +108,11 @@ jobs:
108108
uses: actions/checkout@v5
109109
# Set up all of our standard runtimes
110110
- name: Set up .NET 6
111-
uses: actions/setup-dotnet@v4
111+
uses: actions/setup-dotnet@v5
112112
with:
113113
dotnet-version: '6.0.x'
114114
- name: Set up Go 1.23
115-
uses: actions/setup-go@v5
115+
uses: actions/setup-go@v6
116116
with:
117117
go-version: '1.23'
118118
- name: Set up Java 8
@@ -121,12 +121,12 @@ jobs:
121121
distribution: 'zulu'
122122
java-version: '8'
123123
- name: Set up Node LTS
124-
uses: actions/setup-node@v4
124+
uses: actions/setup-node@v5
125125
with:
126126
cache: yarn
127127
node-version: 'lts/*'
128128
- name: Set up Python 3.9
129-
uses: actions/setup-python@v5
129+
uses: actions/setup-python@v6
130130
with:
131131
python-version: '3.9'
132132
cache: pip
@@ -301,11 +301,11 @@ jobs:
301301
rm built-tree.tgz
302302
# Set up all of our standard runtimes (this is matrix-based)
303303
- name: Set up .NET ${{ matrix.dotnet }}
304-
uses: actions/setup-dotnet@v4
304+
uses: actions/setup-dotnet@v5
305305
with:
306306
dotnet-version: ${{ matrix.dotnet }}
307307
- name: Set up Go ${{ matrix.go }}
308-
uses: actions/setup-go@v5
308+
uses: actions/setup-go@v6
309309
with:
310310
go-version: ${{ matrix.go }}
311311
- name: Set up Java ${{ matrix.java }}
@@ -314,12 +314,12 @@ jobs:
314314
distribution: 'zulu'
315315
java-version: ${{ matrix.java }}
316316
- name: Set up Node ${{ matrix.node }}
317-
uses: actions/setup-node@v4
317+
uses: actions/setup-node@v5
318318
with:
319319
cache: yarn
320320
node-version: ${{ matrix.node }}
321321
- name: Set up Python ${{ matrix.python }}
322-
uses: actions/setup-python@v5
322+
uses: actions/setup-python@v6
323323
with:
324324
python-version: ${{ matrix.python }}
325325
cache: pip
@@ -390,11 +390,11 @@ jobs:
390390
path: ${{ runner.temp }}/release-package
391391
# Set up all of our standard runtimes
392392
- name: Set up .NET 7
393-
uses: actions/setup-dotnet@v4
393+
uses: actions/setup-dotnet@v5
394394
with:
395395
dotnet-version: '7.0.x'
396396
- name: Set up Go 1.23
397-
uses: actions/setup-go@v5
397+
uses: actions/setup-go@v6
398398
with:
399399
go-version: '1.23'
400400
- name: Set up Java 20
@@ -403,11 +403,11 @@ jobs:
403403
distribution: 'corretto'
404404
java-version: '20'
405405
- name: Set up Node 20
406-
uses: actions/setup-node@v4
406+
uses: actions/setup-node@v5
407407
with:
408408
node-version: '20'
409409
- name: Set up Python 3.11
410-
uses: actions/setup-python@v5
410+
uses: actions/setup-python@v6
411411
with:
412412
python-version: '3.11'
413413
- name: Install python3-venv

.github/workflows/yarn-upgrade.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
uses: actions/checkout@v5
1818

1919
- name: Set up Node
20-
uses: actions/setup-node@v4
20+
uses: actions/setup-node@v5
2121
with:
2222
cache: yarn
2323
node-version: 'lts/*'

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
44

5+
## [1.114.0](https://github.com/aws/jsii/compare/v1.113.0...v1.114.0) (2025-09-04)
6+
7+
8+
### Features
9+
10+
* jsii and jsii-rosetta v5.9 ([#4885](https://github.com/aws/jsii/issues/4885)) ([fd4385a](https://github.com/aws/jsii/commit/fd4385aa6d15fba2112c673b83511466687603d4))
11+
* prepare support for intersection types ([#4898](https://github.com/aws/jsii/issues/4898)) ([d75658e](https://github.com/aws/jsii/commit/d75658e146a17c26e9cc6294cef00322af683672))
12+
513
## [1.113.0](https://github.com/aws/jsii/compare/v1.112.0...v1.113.0) (2025-07-31)
614

715

buildspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ phases:
1010
commands:
1111
- yarn build && yarn test
1212
- yarn dist-clean
13+
1314
- /bin/bash ./scripts/align-version.sh
1415
- yarn build
1516
post_build:

gh-pages/requirements-dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
mkdocs~=1.6.1
22
mkdocs-awesome-pages-plugin~=2.10.1
3-
mkdocs-material~=9.6.18
3+
mkdocs-material~=9.6.19
44
mkdocs-git-revision-date-plugin~=0.3.2

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
"rejectCycles": true
1313
}
1414
},
15-
"version": "1.113.0",
15+
"version": "1.114.0",
1616
"$schema": "node_modules/lerna/schemas/lerna-schema.json"
1717
}

packages/@jsii/kernel/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"package": "package-js"
3232
},
3333
"dependencies": {
34-
"@jsii/spec": "^0.0.0",
34+
"@jsii/spec": "0.0.0",
3535
"fs-extra": "^10.1.0",
3636
"lockfile": "^1.0.4",
3737
"tar": "^6.2.1"

packages/@jsii/kernel/src/kernel.test.ts

Lines changed: 68 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/* eslint-disable @typescript-eslint/prefer-promise-reject-errors */
2+
import { Assembly, SchemaVersion } from '@jsii/spec';
23
import * as childProcess from 'child_process';
34
import * as fs from 'fs-extra';
45
import * as os from 'os';
@@ -1336,6 +1337,36 @@ defineTest('loading a module twice idepotently succeeds', async (sandbox) => {
13361337
});
13371338
});
13381339

1340+
defineTest.skipIf(!!recordingOutput)(
1341+
'loading an assembly with unsupported features fails',
1342+
async (sandbox) => {
1343+
const testAssembly: Assembly = {
1344+
author: {
1345+
name: 'Me',
1346+
roles: ['owner'],
1347+
},
1348+
description: 'Test',
1349+
fingerprint: 'asdf',
1350+
homepage: 'www.example.com',
1351+
jsiiVersion: '1.20.3',
1352+
license: 'MIT',
1353+
name: 'test',
1354+
repository: { type: 'other', url: 'www.example.com' },
1355+
schema: SchemaVersion.LATEST,
1356+
version: '1.2.3',
1357+
usedFeatures: ['will-never-be-used' as any],
1358+
};
1359+
1360+
await expect(async () =>
1361+
sandbox.load({
1362+
tarball: await makeJsiiTarball(testAssembly),
1363+
name: testAssembly.name,
1364+
version: testAssembly.version,
1365+
}),
1366+
).rejects.toThrow(/will-never-be-used/);
1367+
},
1368+
);
1369+
13391370
defineTest(
13401371
'fails if trying to load two different versions of the same module',
13411372
async (sandbox) => {
@@ -2275,27 +2306,57 @@ async function preparePackage(module: string, useCache = true) {
22752306
}
22762307

22772308
const packageRoot = findPackageRoot(module);
2278-
await new Promise<void>((ok, ko) => {
2279-
const child = childProcess.spawn('npm', ['pack', packageRoot], {
2280-
cwd: staging,
2309+
2310+
await runNpm(['pack', packageRoot], staging);
2311+
2312+
const dir = path.join(staging, (await fs.readdir(staging))[0]);
2313+
cache.set(module, dir);
2314+
return dir;
2315+
}
2316+
2317+
async function makeJsiiTarball(assembly: Assembly) {
2318+
const staging = await fs.mkdtemp(
2319+
path.join(os.tmpdir(), 'jsii-kernel-tests-'),
2320+
);
2321+
2322+
// clean up only if we are not recording, so playback can refer to these
2323+
if (!recordingOutput) {
2324+
process.on('exit', () => fs.removeSync(staging)); // cleanup
2325+
}
2326+
2327+
await fs.writeJson(path.join(staging, 'package.json'), {
2328+
name: assembly.name,
2329+
version: assembly.version,
2330+
});
2331+
2332+
await fs.writeJson(path.join(staging, '.jsii'), assembly);
2333+
2334+
await runNpm(['pack'], staging);
2335+
2336+
const tarballs = (await fs.readdir(staging)).filter((x) => x.endsWith('gz'));
2337+
2338+
return path.join(staging, tarballs[0]);
2339+
}
2340+
2341+
async function runNpm(args: string[], cwd: string): Promise<string> {
2342+
return new Promise<string>((ok, ko) => {
2343+
const child = childProcess.spawn('npm', args, {
2344+
cwd,
22812345
shell: true,
22822346
stdio: ['ignore', 'pipe', 'ignore'],
22832347
});
22842348
const stdout = new Array<Buffer>();
22852349
child.stdout.on('data', (chunk) => stdout.push(Buffer.from(chunk)));
22862350
child.once('close', (code, signal) => {
22872351
if (code === 0) {
2288-
return ok();
2352+
return ok(Buffer.concat(stdout).toString());
22892353
}
22902354
if (code != null) {
22912355
return ko(`'npm pack' exited with code ${code}`);
22922356
}
22932357
return ko(`'npm pack' killed by signal ${signal}`);
22942358
});
22952359
});
2296-
const dir = path.join(staging, (await fs.readdir(staging))[0]);
2297-
cache.set(module, dir);
2298-
return dir;
22992360
}
23002361

23012362
function findPackageRoot(pkg: string) {

0 commit comments

Comments
 (0)