Skip to content

fix(cloud-assembly-schema/cli): manifest validation fails on Node <18.17 #63

fix(cloud-assembly-schema/cli): manifest validation fails on Node <18.17

fix(cloud-assembly-schema/cli): manifest validation fails on Node <18.17 #63

Workflow file for this run

# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
name: integ
on:
pull_request_target:
branches:
- main
merge_group: {}
workflow_dispatch: {}
jobs:
prepare:
runs-on: aws-cdk_ubuntu-latest_4-core
permissions:
contents: read
environment: integ-approval
env:
CI: "true"
if: github.event_name != 'merge_group'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Install dependencies
run: yarn install --check-files
- name: Bump to realistic versions
env:
TESTING_CANDIDATE: "true"
run: yarn workspaces run bump
- name: build
env:
RELEASE: "true"
run: npx projen build
- name: Upload artifact
uses: actions/upload-artifact@v4.4.0
with:
name: build-artifact
path: packages/**/dist/js/*.tgz
overwrite: "true"
integ_matrix:
needs: prepare
runs-on: aws-cdk_ubuntu-latest_4-core
permissions:
contents: read
id-token: write
environment: run-tests
env:
MAVEN_ARGS: --no-transfer-progress
IS_CANARY: "true"
CI: "true"
CLI_LIB_VERSION_MIRRORS_CLI: "true"
if: github.event_name != 'merge_group'
steps:
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifact
path: packages
- name: Set up JDK 18
if: matrix.suite == 'init-java' || matrix.suite == 'cli-integ-tests'
uses: actions/setup-java@v4
with:
java-version: "18"
distribution: corretto
- name: Authenticate Via OIDC Role
id: creds
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: us-east-1
role-duration-seconds: 14400
role-to-assume: ${{ vars.AWS_ROLE_TO_ASSUME_FOR_TESTING }}
role-session-name: run-tests@aws-cdk-cli-integ
output-credentials: true
- name: Set git identity
run: |-
git config --global user.name "aws-cdk-cli-integ"
git config --global user.email "noreply@example.com"
- name: Install Verdaccio
run: npm install -g verdaccio pm2
- name: Create Verdaccio config
run: |-
mkdir -p $HOME/.config/verdaccio
echo '{"storage":"./storage","auth":{"htpasswd":{"file":"./htpasswd"}},"uplinks":{"npmjs":{"url":"https://registry.npmjs.org/"}},"packages":{"@aws-cdk/cloudformation-diff":{"access":"$all","publish":"$all","proxy":"none"},"cdk-assets":{"access":"$all","publish":"$all","proxy":"none"},"aws-cdk":{"access":"$all","publish":"$all","proxy":"none"},"@aws-cdk/cli-lib-alpha":{"access":"$all","publish":"$all","proxy":"none"},"cdk":{"access":"$all","publish":"$all","proxy":"none"},"**":{"access":"$all","proxy":"npmjs"}}}' > $HOME/.config/verdaccio/config.yaml
- name: Start Verdaccio
run: |-
pm2 start verdaccio -- --config $HOME/.config/verdaccio/config.yaml
sleep 5 # Wait for Verdaccio to start
- name: Configure npm to use local registry
run: |-
echo '//localhost:4873/:_authToken="MWRjNDU3OTE1NTljYWUyOTFkMWJkOGUyYTIwZWMwNTI6YTgwZjkyNDE0NzgwYWQzNQ=="' > ~/.npmrc
echo 'registry=http://localhost:4873/' >> ~/.npmrc
- name: Find an locally publish all tarballs
run: |-
for pkg in packages/{@aws-cdk/cloudformation-diff,cdk-assets,aws-cdk,@aws-cdk/cli-lib-alpha,cdk}/dist/js/*.tgz; do
npm publish $pkg
done
- name: Download and install the test artifact
run: |-
npm install @aws-cdk-testing/cli-integ
mv ./node_modules/@aws-cdk-testing/cli-integ/* .
- name: Determine latest package versions
id: versions
run: |-
CLI_VERSION=$(cd ${TMPDIR:-/tmp} && npm view aws-cdk version)
echo "CLI version: ${CLI_VERSION}"
echo "cli_version=${CLI_VERSION}" >> $GITHUB_OUTPUT
LIB_VERSION=$(cd ${TMPDIR:-/tmp} && npm view aws-cdk-lib version)
echo "lib version: ${LIB_VERSION}"
echo "lib_version=${LIB_VERSION}" >> $GITHUB_OUTPUT
- name: "Run the test suite: ${{ matrix.suite }}"
env:
JEST_TEST_CONCURRENT: ${{ matrix.suite == 'cli-integ-tests' && 'true' || 'false' }}
JSII_SILENCE_WARNING_DEPRECATED_NODE_VERSION: "true"
JSII_SILENCE_WARNING_UNTESTED_NODE_VERSION: "true"
JSII_SILENCE_WARNING_KNOWN_BROKEN_NODE_VERSION: "true"
DOCKERHUB_DISABLED: "true"
AWS_REGIONS: us-east-2,eu-west-1,eu-north-1,ap-northeast-1,ap-south-1
CDK_MAJOR_VERSION: "2"
RELEASE_TAG: latest
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: bin/run-suite --use-cli-release=${{ steps.versions.outputs.cli_version }} --framework-version=${{ steps.versions.outputs.lib_version }} ${{ matrix.suite }}
strategy:
fail-fast: false
matrix:
suite:
- cli-integ-tests
- init-csharp
- init-fsharp
- init-go
- init-java
- init-javascript
- init-python
- init-typescript-app
- init-typescript-lib
- tool-integrations
integ:
needs: integ_matrix
runs-on: aws-cdk_ubuntu-latest_4-core
permissions: {}
if: always()
steps:
- name: Integ test result
run: echo ${{ needs.integ_matrix.result }}
- name: Set status based on matrix job
if: ${{ !contains(fromJSON('["success", "skipped"]'), needs.integ_matrix.result) }}
run: exit 1