diff --git a/.github/workflows/docker-images.yml b/.github/workflows/docker-images.yml index 3df903d346..c471a13b88 100644 --- a/.github/workflows/docker-images.yml +++ b/.github/workflows/docker-images.yml @@ -22,12 +22,13 @@ jobs: fail-fast: false matrix: debian: - - 'buster' # 10 - 'bullseye' # 11 + - 'bookworm' # 12 node: ['18', '20'] - include: - - debian: 'bookworm' #12 - node: '20' + exclude: + # We publish bullseye only with Node >= 20 + - debian: 'bullseye' + node: '18' env: # Node version whose images will be aliased without the -nodeXX segment DEFAULT_NODE_MAJOR_VERSION: 18 @@ -95,14 +96,21 @@ jobs: aws ecr-public get-login-password --region=us-east-1 \ | docker login --username AWS --password-stdin public.ecr.aws + - name: Slice DockerHub credentials + id: credentials + run: |- + echo "username=$(cut -d: -f1 <<< '${{ secrets.DOCKER_CREDENTIALS }}')" >> "$GITHUB_OUTPUT" + echo "password=$(cut -d: -f2 <<< '${{ secrets.DOCKER_CREDENTIALS }}')" >> "$GITHUB_OUTPUT" + echo "::add-mask::$(cut -d: -f2 <<< '${{ secrets.DOCKER_CREDENTIALS }}')" + # We only authenticate to Docker on the 'aws/jsii' repo, as forks will not have the secret - name: Login to Docker Hub if: steps.should-run.outputs.result == 'true' && github.repository == 'aws/jsii' # The DOCKER_CREDENTIALS secret is expected to contain a username:token pair run: |- docker login \ - --username=$(cut -d: -f1 <<< '${{ secrets.DOCKER_CREDENTIALS }}') \ - --password=$(cut -d: -f2 <<< '${{ secrets.DOCKER_CREDENTIALS }}') + --username=${{ steps.credentials.outputs.username }} \ + --password=${{ steps.credentials.outputs.password }} # Ensure we run with bash, because that's the syntax we're using here... shell: bash @@ -216,6 +224,15 @@ jobs: . fi + - name: Update README (nightly) + if: steps.should-run.outputs.result == 'true' && github.event_name == 'push' && github.ref == 'refs/heads/main' + uses: peter-evans/dockerhub-description@v3 + with: + username: ${{ steps.credentials.outputs.username }} + password: ${{ steps.credentials.outputs.password }} + repository: jsii/superchain + readme-filepath: ./superchain/README.md + - name: Publish (latest) if: steps.should-run.outputs.result == 'true' && github.event_name == 'push' && github.ref == 'refs/heads/release' # NOTE BELOW: The `--tag` flags can be provided multiple times... we use that capability... diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index c6fce8593b..68402c7d35 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -20,7 +20,7 @@ jobs: - name: Check out uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: cache: 'pip' cache-dependency-path: 'gh-pages/requirements-dev.txt' diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0efe8e7a11..32cafb7fa9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,15 +30,15 @@ jobs: uses: actions/checkout@v4 # Set up all of our standard runtimes - name: Set up .NET 6 - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: dotnet-version: '6.0.x' - name: Set up Go 1.18 - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: '1.18' - name: Set up Java 8 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '8' @@ -48,7 +48,7 @@ jobs: cache: yarn node-version: '18' - name: Set up Python 3.8 - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.8' cache: pip @@ -113,15 +113,15 @@ jobs: uses: actions/checkout@v4 # Set up all of our standard runtimes - name: Set up .NET 6 - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: dotnet-version: '6.0.x' - name: Set up Go 1.18 - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: '1.18' - name: Set up Java 8 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '8' @@ -131,7 +131,7 @@ jobs: cache: yarn node-version: '18' - name: Set up Python 3.8 - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.8' cache: pip @@ -302,15 +302,15 @@ jobs: rm built-tree.tgz # Set up all of our standard runtimes (this is matrix-based) - name: Set up .NET ${{ matrix.dotnet }} - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: dotnet-version: ${{ matrix.dotnet }} - name: Set up Go ${{ matrix.go }} - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ matrix.go }} - name: Set up Java ${{ matrix.java }} - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: ${{ matrix.java }} @@ -320,7 +320,7 @@ jobs: cache: yarn node-version: ${{ matrix.node }} - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} cache: pip @@ -432,15 +432,15 @@ jobs: path: ${{ runner.temp }}/release-package # Set up all of our standard runtimes - name: Set up .NET 7 - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: dotnet-version: '7.0.x' - name: Set up Go 1.20 - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: '1.20' - name: Set up Java 20 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'corretto' java-version: '20' @@ -449,7 +449,7 @@ jobs: with: node-version: '20' - name: Set up Python 3.11 - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install python3-venv diff --git a/.github/workflows/yarn-upgrade.yml b/.github/workflows/yarn-upgrade.yml index 04456ae054..6fbef87768 100644 --- a/.github/workflows/yarn-upgrade.yml +++ b/.github/workflows/yarn-upgrade.yml @@ -21,7 +21,7 @@ jobs: uses: actions/setup-node@v4 with: cache: yarn - node-version: 16 + node-version: 18 - name: Install Tools run: |- diff --git a/.mergify/config.yml b/.mergify/config.yml index 1fb8434fc7..e06510673b 100644 --- a/.mergify/config.yml +++ b/.mergify/config.yml @@ -11,7 +11,7 @@ pull_request_rules: label: add: [contribution/core] conditions: - - author~=^(RomainMuller|rix0rrr|MrArnoldPalmer|iliapolo|madeline-k|comcalvi|kaizencc|corymhall|otaviomacedo|TheRealAmazonKendra|vinayak-kukreja|mrgrain|colifran|mikewrighton)$ + - author~=^(RomainMuller|rix0rrr|MrArnoldPalmer|iliapolo|madeline-k|comcalvi|kaizencc|corymhall|otaviomacedo|TheRealAmazonKendra|vinayak-kukreja|mrgrain|colifran|mikewrighton|paulhcsun)$ - -label~="contribution/core" - name: Tell them we're good now actions: diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c428182b2..533bfa5ff9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,19 @@ 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. +## [1.93.0](https://github.com/aws/jsii/compare/v1.92.0...v1.93.0) (2023-12-08) + + +### Features + +* deprecate `jsii/superchain:buster-slim-*` images ([#4359](https://github.com/aws/jsii/issues/4359)) ([b580244](https://github.com/aws/jsii/commit/b5802449f4b9292b3396353f1fa3fa768a779cd7)) +* **go:** add jsii.Sprintf helper ([#4345](https://github.com/aws/jsii/issues/4345)) ([2ecfb77](https://github.com/aws/jsii/commit/2ecfb778130c1a2fdd6b4932216e144a0d079d5c)) + + +### Bug Fixes + +* **check-node:** unstable node 21 is incorrectly listed as supported ([#4362](https://github.com/aws/jsii/issues/4362)) ([886e465](https://github.com/aws/jsii/commit/886e465e60a5b6208a862a20af087cbd924416a9)) + ## [1.92.0](https://github.com/aws/jsii/compare/v1.91.0...v1.92.0) (2023-11-16) diff --git a/gh-pages/requirements-dev.txt b/gh-pages/requirements-dev.txt index 3b3f489d37..1e38c5b606 100644 --- a/gh-pages/requirements-dev.txt +++ b/gh-pages/requirements-dev.txt @@ -1,4 +1,4 @@ mkdocs~=1.5.3 mkdocs-awesome-pages-plugin~=2.9.2 -mkdocs-material~=9.4.8 +mkdocs-material~=9.4.14 mkdocs-git-revision-date-plugin~=0.3.2 diff --git a/lerna.json b/lerna.json index 69c784d5bf..649bd2352f 100644 --- a/lerna.json +++ b/lerna.json @@ -12,6 +12,6 @@ "rejectCycles": true } }, - "version": "1.92.0", + "version": "1.93.0", "$schema": "node_modules/lerna/schemas/lerna-schema.json" } diff --git a/packages/@jsii/Directory.Build.targets b/packages/@jsii/Directory.Build.targets index 623fa429de..a750280a90 100644 --- a/packages/@jsii/Directory.Build.targets +++ b/packages/@jsii/Directory.Build.targets @@ -2,18 +2,18 @@ - - - + + + - + - + diff --git a/packages/@jsii/check-node/src/constants.ts b/packages/@jsii/check-node/src/constants.ts index def0d5f8eb..2ead106ac9 100644 --- a/packages/@jsii/check-node/src/constants.ts +++ b/packages/@jsii/check-node/src/constants.ts @@ -25,16 +25,16 @@ export class NodeRelease { ), // Past end-of-life releases - new NodeRelease(13, { endOfLife: new Date('2020-06-01') }), - new NodeRelease(14, { - endOfLife: new Date('2023-04-30'), - supportedRange: '^14.17.0', - }), - new NodeRelease(15, { endOfLife: new Date('2021-06-01') }), new NodeRelease(12, { endOfLife: new Date('2022-04-30'), supportedRange: '^12.7.0', }), + new NodeRelease(13, { endOfLife: new Date('2020-06-01'), untested: true }), + new NodeRelease(14, { + endOfLife: new Date('2023-04-30'), + supportedRange: '^14.17.0', + }), + new NodeRelease(15, { endOfLife: new Date('2021-06-01'), untested: true }), new NodeRelease(16, { endOfLife: new Date('2023-09-11'), supportedRange: '^16.3.0', @@ -42,13 +42,14 @@ export class NodeRelease { new NodeRelease(17, { endOfLife: new Date('2022-06-01'), supportedRange: '^17.3.0', + untested: true, }), - new NodeRelease(19, { endOfLife: new Date('2023-06-01') }), + new NodeRelease(19, { endOfLife: new Date('2023-06-01'), untested: true }), // Currently active releases (as of last edit to this file...) new NodeRelease(18, { endOfLife: new Date('2025-04-30') }), new NodeRelease(20, { endOfLife: new Date('2026-04-30') }), - new NodeRelease(21, { endOfLife: new Date('2024-06-01') }), + new NodeRelease(21, { endOfLife: new Date('2024-06-01'), untested: true }), // Future (planned releases) ]; diff --git a/packages/@jsii/go-runtime-test/project/go.mod b/packages/@jsii/go-runtime-test/project/go.mod index e6de3322f6..a3a895128c 100644 --- a/packages/@jsii/go-runtime-test/project/go.mod +++ b/packages/@jsii/go-runtime-test/project/go.mod @@ -9,7 +9,7 @@ require ( github.com/aws/jsii/jsii-calc/go/scopejsiicalclib v0.0.0-devpreview github.com/stretchr/testify v1.8.4 golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 - golang.org/x/tools v0.15.0 + golang.org/x/tools v0.16.0 ) require ( diff --git a/packages/@jsii/go-runtime-test/project/go.sum b/packages/@jsii/go-runtime-test/project/go.sum index 95448607a6..0e54aacb05 100644 --- a/packages/@jsii/go-runtime-test/project/go.sum +++ b/packages/@jsii/go-runtime-test/project/go.sum @@ -34,8 +34,8 @@ golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8= -golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk= +golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM= +golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/packages/@jsii/go-runtime/jsii-runtime-go/go.mod b/packages/@jsii/go-runtime/jsii-runtime-go/go.mod index 8311a01cbc..e44221d5dc 100644 --- a/packages/@jsii/go-runtime/jsii-runtime-go/go.mod +++ b/packages/@jsii/go-runtime/jsii-runtime-go/go.mod @@ -8,7 +8,7 @@ require ( github.com/mattn/go-isatty v0.0.20 github.com/stretchr/testify v1.8.4 golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 - golang.org/x/tools v0.15.0 + golang.org/x/tools v0.16.0 ) require ( diff --git a/packages/@jsii/go-runtime/jsii-runtime-go/go.sum b/packages/@jsii/go-runtime/jsii-runtime-go/go.sum index 95448607a6..0e54aacb05 100644 --- a/packages/@jsii/go-runtime/jsii-runtime-go/go.sum +++ b/packages/@jsii/go-runtime/jsii-runtime-go/go.sum @@ -34,8 +34,8 @@ golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8= -golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk= +golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM= +golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/packages/@jsii/go-runtime/jsii-runtime-go/helpers.go b/packages/@jsii/go-runtime/jsii-runtime-go/helpers.go index 54f7bc2fce..088e161460 100644 --- a/packages/@jsii/go-runtime/jsii-runtime-go/helpers.go +++ b/packages/@jsii/go-runtime/jsii-runtime-go/helpers.go @@ -1,6 +1,9 @@ package jsii -import "time" +import ( + "fmt" + "time" +) type basicType interface { bool | string | float64 | time.Time @@ -51,6 +54,12 @@ func Numbers[T numberType](v ...T) *[]*float64 { // String returns a pointer to the provided string. func String(v string) *string { return Ptr(v) } +// Sprintf returns a pointer to a fomratted string (semantics are the same as fmt.Sprintf). +func Sprintf(format string, a ...interface{}) *string { + res := fmt.Sprintf(format, a...) + return &res +} + // Strings returns a pointer to a slice of pointers to all of the provided strings. func Strings(v ...string) *[]*string { return PtrSlice(v...) diff --git a/packages/@jsii/go-runtime/jsii-runtime-go/helpers_test.go b/packages/@jsii/go-runtime/jsii-runtime-go/helpers_test.go index 4287dbeda9..edb6cbf0d3 100644 --- a/packages/@jsii/go-runtime/jsii-runtime-go/helpers_test.go +++ b/packages/@jsii/go-runtime/jsii-runtime-go/helpers_test.go @@ -64,6 +64,10 @@ func TestString(t *testing.T) { assert.Equal(t, "Hello", *String("Hello")) } +func TestSprintf(t *testing.T) { + assert.Equal(t, "formatted: 42", *Sprintf("formatted: %d", 42)) +} + func TestStrings(t *testing.T) { assert.Equal(t, []*string{String("Hello"), String("World")}, *Strings("Hello", "World")) } diff --git a/packages/@jsii/python-runtime/requirements.txt b/packages/@jsii/python-runtime/requirements.txt index 40c1cb7234..63853ed2f3 100644 --- a/packages/@jsii/python-runtime/requirements.txt +++ b/packages/@jsii/python-runtime/requirements.txt @@ -1,10 +1,10 @@ black~=23.11 -mypy==1.7.0 +mypy==1.7.1 pip~=23.3 pytest~=7.4 pytest-mypy~=0.10 -setuptools~=68.2.2 +setuptools~=69.0.2 types-python-dateutil~=2.8 -wheel~=0.41 +wheel~=0.42 -e . diff --git a/packages/@jsii/python-runtime/setup.py b/packages/@jsii/python-runtime/setup.py index c5378575c3..55f021b2e4 100644 --- a/packages/@jsii/python-runtime/setup.py +++ b/packages/@jsii/python-runtime/setup.py @@ -31,7 +31,7 @@ }, install_requires=[ "attrs>=21.2,<24.0", - "cattrs>=1.8,<23.2", + "cattrs>=1.8,<23.3", "importlib_resources>=5.2.0", "publication>=0.0.3", # This is used by all generated code. "typeguard~=2.13.3", # This is used by all generated code. diff --git a/packages/jsii-pacmak/lib/targets/python/requirements-dev.txt b/packages/jsii-pacmak/lib/targets/python/requirements-dev.txt index 2d9112e712..db72a00e0d 100644 --- a/packages/jsii-pacmak/lib/targets/python/requirements-dev.txt +++ b/packages/jsii-pacmak/lib/targets/python/requirements-dev.txt @@ -4,6 +4,6 @@ # package (wheel, sdist), but not declared as build-system dependencies. setuptools~=67.3.2 # build-system -wheel~=0.41 # build-system +wheel~=0.42 # build-system twine~=4.0.2 diff --git a/packages/jsii-pacmak/test/generated-code/__snapshots__/examples.test.js.snap b/packages/jsii-pacmak/test/generated-code/__snapshots__/examples.test.js.snap index cbc750ca01..140caa467f 100644 --- a/packages/jsii-pacmak/test/generated-code/__snapshots__/examples.test.js.snap +++ b/packages/jsii-pacmak/test/generated-code/__snapshots__/examples.test.js.snap @@ -1220,7 +1220,7 @@ testpkg.FooBar=example.test.demo.FooBar exports[`diamond-struct-parameter.ts: /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=67.3.2", "wheel~=0.41"] +requires = ["setuptools~=67.3.2", "wheel~=0.42"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -2641,7 +2641,7 @@ testpkg.Namespace2.Foo.Final=example.test.demo.Namespace2$Foo.Final exports[`nested-types.ts: /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=67.3.2", "wheel~=0.41"] +requires = ["setuptools~=67.3.2", "wheel~=0.42"] build-backend = "setuptools.build_meta" [tool.pyright] diff --git a/packages/jsii-pacmak/test/generated-code/__snapshots__/prerelease-identifiers.test.js.snap b/packages/jsii-pacmak/test/generated-code/__snapshots__/prerelease-identifiers.test.js.snap index 473d5cfe94..9a87703a37 100644 --- a/packages/jsii-pacmak/test/generated-code/__snapshots__/prerelease-identifiers.test.js.snap +++ b/packages/jsii-pacmak/test/generated-code/__snapshots__/prerelease-identifiers.test.js.snap @@ -412,7 +412,7 @@ foo exports[`foo@1.2.3 depends on bar@^2.0.0-rc.42: /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=67.3.2", "wheel~=0.41"] +requires = ["setuptools~=67.3.2", "wheel~=0.42"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -926,7 +926,7 @@ foo exports[`foo@1.2.3 depends on bar@^4.5.6-pre.1337: /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=67.3.2", "wheel~=0.41"] +requires = ["setuptools~=67.3.2", "wheel~=0.42"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -1420,7 +1420,7 @@ foo exports[`foo@2.0.0-rc.42: /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=67.3.2", "wheel~=0.41"] +requires = ["setuptools~=67.3.2", "wheel~=0.42"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -1911,7 +1911,7 @@ foo exports[`foo@4.5.6-pre.1337: /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=67.3.2", "wheel~=0.41"] +requires = ["setuptools~=67.3.2", "wheel~=0.42"] build-backend = "setuptools.build_meta" [tool.pyright] diff --git a/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap b/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap index b0d3531ebb..dac58bf1dd 100644 --- a/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap +++ b/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap @@ -243,7 +243,7 @@ scope.jsii-calc-base exports[`Generated code for "@scope/jsii-calc-base": /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=67.3.2", "wheel~=0.41"] +requires = ["setuptools~=67.3.2", "wheel~=0.42"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -797,7 +797,7 @@ scope.jsii-calc-base-of-base exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=67.3.2", "wheel~=0.41"] +requires = ["setuptools~=67.3.2", "wheel~=0.42"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -1324,7 +1324,7 @@ scope.jsii-calc-lib exports[`Generated code for "@scope/jsii-calc-lib": /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=67.3.2", "wheel~=0.41"] +requires = ["setuptools~=67.3.2", "wheel~=0.42"] build-backend = "setuptools.build_meta" [tool.pyright] @@ -2984,7 +2984,7 @@ foo = "bar" exports[`Generated code for "jsii-calc": /python/pyproject.toml 1`] = ` [build-system] -requires = ["setuptools~=67.3.2", "wheel~=0.41"] +requires = ["setuptools~=67.3.2", "wheel~=0.42"] build-backend = "setuptools.build_meta" [tool.pyright] diff --git a/packages/jsii-pacmak/test/generated-code/requirements-dev.txt b/packages/jsii-pacmak/test/generated-code/requirements-dev.txt index 953c8fa1f9..55c36a61a3 100644 --- a/packages/jsii-pacmak/test/generated-code/requirements-dev.txt +++ b/packages/jsii-pacmak/test/generated-code/requirements-dev.txt @@ -1,2 +1,2 @@ -mypy==1.7.0 +mypy==1.7.1 pip==23.3.1 # required to use --config-settings diff --git a/superchain/README.md b/superchain/README.md index c1a718be7b..2a1e7db58f 100644 --- a/superchain/README.md +++ b/superchain/README.md @@ -6,16 +6,25 @@ required in order to package [jsii] projects in all supported languages. [debian]: https://gallery.ecr.aws/debian/debian [jsii]: https://github.com/aws/jsii +## Recommended image + +We recommend the following image for most users. +See [Image tags](#image-tags) for further details. + +``` +public.ecr.aws/jsii/superchain:1-bullseye-slim +``` + ## Included Language SDKs | SDK | Version | | ------------ | ---------------------------------------- | -| `OpenJDK 20` | Amazon Corretto `>= 20.0.0` | +| `OpenJDK 20` | Amazon Corretto `>= 20.0.2` | | `.NET SDK` | `>= 6.0.14` | -| `mono` | `>= 6.8.0.105` | +| `mono` | `>= 6.12.0.200` | | `Javascript` | see [NodeJS and NPM](#nodejs-and-npm) | -| `PowerShell` | `pwsh >= 7.1.3` | -| `Python 3` | `python3 >= 3.7.4` with `pip3 >= 20.0.2` | +| `PowerShell` | `pwsh >= 7.2.16` | +| `Python 3` | see [Python'](#python) | | `Go` | `go >= 1.18` | ## Image tags @@ -26,17 +35,21 @@ Maintained image tags are named using the following pattern: public.ecr.aws/jsii/superchain:-(-node)(-nightly) ``` -- `` is the major line of the jsii toolchain - - The only supported value is `1` -- `` is the base image tag (e.g: `buster-slim`, `bullseye-slim`, `bookworm-slim`) - - The only supported value is `buster-slim` +- `` is the major line of the jsii toolchain (must be `1`) +- `` is the base image tag, currently supported base images are + - `bookworm-slim` + - `bullseye-slim` - `` is the major version of node contained in the image - `18` corresponds to node 18.x, this is the default - `20` corresponds to node 20.x - `-nightly` images are released from the `HEAD` of the [`aws/jsii`][jsii] repository and should typically not be used for production workloads -The previous image tags have been discontinued: +**The following base image lines have been deprecated and are not updated anymore. Users are adviced to upgrade to :** + +- `:1-buster-slim-*` + +**The previous image tags have been discontinued and must NOT BE USED ANYMORE:** - `:latest` (users should migrate to `:1-bullseye-slim`) - `:nightly` (users should migrate to `:1-bullseye-slim-nightly`) @@ -60,10 +73,20 @@ jsii$ docker build . -f superchain/Dockerfile -t jsii/superchain:local --target= ## NodeJS and NPM -We build multiple versions of this image, for different versions of Node. They are available as: +We build multiple versions of this image, for different versions of Node. +You can use a specific Node version like this: + +``` +public.ecr.aws/jsii/superchain:1-bullseye-slim-node20 +``` -* `public.ecr.aws/jsii/superchain:1-bullseye-slim-node18(-nightly)` -* `public.ecr.aws/jsii/superchain:1-bullseye-slim-node20(-nightly)` +We will stop publishing images for Node versions that are EOL. + +| Debian | Node versions | +| ----------------------------| -----------------| +| `bookworm-slim` | `20` | +| `bullseye-slim` | `20`, `18` | +| `buster-slim` (deprecated) | `18`, `16`, `14` | If you are building this image from source, you can control the Node version with the `NODE_MAJOR_VERSION` build argument: @@ -72,22 +95,37 @@ If you are building this image from source, you can control the Node version wit jsii$ docker build [...] --build-arg NODE_MAJOR_VERSION=16 ``` +## Python + +The image includes the most recent Python version available for the respecitve Debian distribution. +A complete list can be viewed on the [Debian website](https://wiki.debian.org/Python#Supported_Python_Versions). + +| Debian | Python version | +| ----------------------------| ---------------| +| `bookworm-slim` | `3.11` | +| `bullseye-slim` | `3.9` | +| `buster-slim` (deprecated) | `3.7` | + + ## Included Tools & Utilities +The following tools & utilities are available for your convinience. +Versions are generally the latest available for the respective Debian distribution. + | Tool / Utility | Version | | --------------- | -------------------------- | | `aws` | `>= 2.11.17` | | `bundler` | `>= 1.17.3` and `>= 2.1.4` | -| `docker` | `>= 18.09.9-ce` | -| `git` | `>= 2.23.1` | -| `make` | `>= 3.82` | -| `maven` | `>= 3.6.3` | -| `openssl` | `>= 1.0.2k-fips` | -| `rsync` | `>= 3.1.2` | -| `yarn` | `>= 1.21.1` | +| `docker` | `>= 24.0.7-ce` | +| `git` | `>= 2.30.2` | +| `make` | `>= 4.3` | +| `maven` | `>= 6.4.15` | +| `openssl` | `>= 1.1.1w` | +| `rsync` | `>= 3.2.3` | +| `yarn` | `>= 1.22.19` | | `zip` & `unzip` | `>= 6.0-19` | -| `gh` | `>= 1.9.2` | -| `sam` | `>= 1.37.0` | +| `gh` | `>= 1.13.1` | +| `sam` | `>= 1.102.0` | ## License