From 59be158ae1d43200ba1d809486ea54f1de4de008 Mon Sep 17 00:00:00 2001 From: Momo Kornher Date: Wed, 14 Jun 2023 16:13:43 +0100 Subject: [PATCH] chore: use cdklabs-projen-project-types (#285) * chore: use cdklabs-projen-project-types We are standardizing repository setups to improve maintainability. If you have any questions regarding this change, please reach out to us. * fixup * fixup --- .gitattributes | 3 +- .github/workflows/auto-approve.yml | 2 +- .github/workflows/auto-merge.yml | 22 ++ .github/workflows/build.yml | 7 + .github/workflows/pull-request-lint.yml | 4 + .github/workflows/release.yml | 4 + ...rade-cdklabs-projen-project-types-main.yml | 87 +++++ .github/workflows/upgrade-main.yml | 4 + .gitignore | 3 +- .mergify.yml | 354 ------------------ .npmignore | 24 -- .projen/deps.json | 4 + .projen/files.json | 4 +- .projen/tasks.json | 26 +- .projenrc.ts | 13 +- package.json | 7 + yarn.lock | 29 +- 17 files changed, 202 insertions(+), 395 deletions(-) create mode 100644 .github/workflows/auto-merge.yml create mode 100644 .github/workflows/upgrade-cdklabs-projen-project-types-main.yml delete mode 100644 .mergify.yml delete mode 100644 .npmignore diff --git a/.gitattributes b/.gitattributes index c0a68ab4f..9550d447a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,6 +5,7 @@ /.gitattributes linguist-generated /.github/pull_request_template.md linguist-generated /.github/workflows/auto-approve.yml linguist-generated +/.github/workflows/auto-merge.yml linguist-generated /.github/workflows/build-individual.yml linguist-generated /.github/workflows/build.yml linguist-generated /.github/workflows/pull-request-lint.yml linguist-generated @@ -175,9 +176,9 @@ /.github/workflows/release-zmk-iam-lambdabasicrole-module.yml linguist-generated /.github/workflows/release.yml linguist-generated /.github/workflows/update-registry.yml linguist-generated +/.github/workflows/upgrade-cdklabs-projen-project-types-main.yml linguist-generated /.github/workflows/upgrade-main.yml linguist-generated /.gitignore linguist-generated -/.mergify.yml linguist-generated /.npmignore linguist-generated /.npmrc linguist-generated /.projen/** linguist-generated diff --git a/.github/workflows/auto-approve.yml b/.github/workflows/auto-approve.yml index 2c0aa2901..815b9a4e6 100644 --- a/.github/workflows/auto-approve.yml +++ b/.github/workflows/auto-approve.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest permissions: pull-requests: write - if: contains(github.event.pull_request.labels.*.name, 'auto-approve') && (github.event.pull_request.user.login == 'cdklabs-automation') + if: contains(github.event.pull_request.labels.*.name, 'auto-approve') && (github.event.pull_request.user.login == 'cdklabs-automation' || github.event.pull_request.user.login == 'dependabot[bot]') steps: - uses: hmarr/auto-approve-action@v2.2.1 with: diff --git a/.github/workflows/auto-merge.yml b/.github/workflows/auto-merge.yml new file mode 100644 index 000000000..21ff89c1e --- /dev/null +++ b/.github/workflows/auto-merge.yml @@ -0,0 +1,22 @@ +# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". + +name: auto-merge +on: + pull_request_target: + types: + - opened + - reopened + - ready_for_review +jobs: + enableAutoMerge: + name: "Set AutoMerge on PR #${{ github.event.number }}" + runs-on: ubuntu-latest + permissions: + pull-requests: write + contents: write + steps: + - uses: peter-evans/enable-pull-request-automerge@v2 + with: + token: ${{ secrets.PROJEN_GITHUB_TOKEN }} + pull-request-number: ${{ github.event.number }} + merge-method: squash diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3d76a7513..3bcaf4c59 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,6 +4,9 @@ name: build on: pull_request: {} workflow_dispatch: {} + merge_group: + branches: + - main jobs: build: runs-on: ubuntu-latest @@ -19,6 +22,10 @@ jobs: with: ref: ${{ github.event.pull_request.head.ref }} repository: ${{ github.event.pull_request.head.repo.full_name }} + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 16.x - name: Install dependencies run: yarn install --check-files - name: build diff --git a/.github/workflows/pull-request-lint.yml b/.github/workflows/pull-request-lint.yml index 062108a6d..4930efaf6 100644 --- a/.github/workflows/pull-request-lint.yml +++ b/.github/workflows/pull-request-lint.yml @@ -10,6 +10,9 @@ on: - reopened - ready_for_review - edited + merge_group: + branches: + - main jobs: validate: name: Validate PR title @@ -26,3 +29,4 @@ jobs: fix chore requireScope: false + if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 74316db65..92dae999b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,6 +24,10 @@ jobs: run: |- git config user.name "github-actions" git config user.email "github-actions@github.com" + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 16.x - name: Install dependencies run: yarn install --check-files --frozen-lockfile - name: release diff --git a/.github/workflows/upgrade-cdklabs-projen-project-types-main.yml b/.github/workflows/upgrade-cdklabs-projen-project-types-main.yml new file mode 100644 index 000000000..c08a9fc1e --- /dev/null +++ b/.github/workflows/upgrade-cdklabs-projen-project-types-main.yml @@ -0,0 +1,87 @@ +# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". + +name: upgrade-cdklabs-projen-project-types-main +on: + workflow_dispatch: {} +jobs: + upgrade: + name: Upgrade + runs-on: ubuntu-latest + permissions: + contents: read + outputs: + patch_created: ${{ steps.create_patch.outputs.patch_created }} + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: main + - name: Setup Node.js + uses: actions/setup-node@v3 + - name: Install dependencies + run: yarn install --check-files --frozen-lockfile + - name: Upgrade dependencies + run: npx projen upgrade-cdklabs-projen-project-types + - name: Find mutations + id: create_patch + run: |- + git add . + git diff --staged --patch --exit-code > .repo.patch || echo "patch_created=true" >> $GITHUB_OUTPUT + - name: Upload patch + if: steps.create_patch.outputs.patch_created + uses: actions/upload-artifact@v3 + with: + name: .repo.patch + path: .repo.patch + pr: + name: Create Pull Request + needs: upgrade + runs-on: ubuntu-latest + permissions: + contents: read + if: ${{ needs.upgrade.outputs.patch_created }} + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: main + - name: Download patch + uses: actions/download-artifact@v3 + with: + name: .repo.patch + path: ${{ runner.temp }} + - name: Apply patch + run: '[ -s ${{ runner.temp }}/.repo.patch ] && git apply ${{ runner.temp }}/.repo.patch || echo "Empty patch. Skipping."' + - name: Set git identity + run: |- + git config user.name "github-actions" + git config user.email "github-actions@github.com" + - name: Create Pull Request + id: create-pr + uses: peter-evans/create-pull-request@v4 + with: + token: ${{ secrets.PROJEN_GITHUB_TOKEN }} + commit-message: |- + chore(deps): upgrade cdklabs-projen-project-types + + Upgrades cdklabs-projen-project-types dependency. See details in [workflow run]. + + [Workflow Run]: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} + + ------ + + *Automatically created by projen via the "upgrade-cdklabs-projen-project-types-main" workflow* + branch: github-actions/upgrade-cdklabs-projen-project-types-main + title: "chore(deps): upgrade cdklabs-projen-project-types" + labels: auto-approve + body: |- + Upgrades cdklabs-projen-project-types dependency. See details in [workflow run]. + + [Workflow Run]: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} + + ------ + + *Automatically created by projen via the "upgrade-cdklabs-projen-project-types-main" workflow* + author: github-actions + committer: github-actions + signoff: true diff --git a/.github/workflows/upgrade-main.yml b/.github/workflows/upgrade-main.yml index 01851f207..f7873ffab 100644 --- a/.github/workflows/upgrade-main.yml +++ b/.github/workflows/upgrade-main.yml @@ -18,6 +18,10 @@ jobs: uses: actions/checkout@v3 with: ref: main + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 16.x - name: Install dependencies run: yarn install --check-files --frozen-lockfile - name: Upgrade dependencies diff --git a/.gitignore b/.gitignore index 72ac1b00b..105a46dbe 100644 --- a/.gitignore +++ b/.gitignore @@ -39,7 +39,6 @@ junit.xml /dist/changelog.md /dist/version.txt !/.github/workflows/release.yml -!/.mergify.yml !/.github/workflows/upgrade-main.yml !/.github/pull_request_template.md !/.npmrc @@ -50,6 +49,8 @@ junit.xml /lib /dist/ !/.eslintrc.json +!/.github/workflows/auto-merge.yml +!/.github/workflows/upgrade-cdklabs-projen-project-types-main.yml !/.github/workflows/build-individual.yml /packages/@cdk-cloudformation/alexa-ask-skill/dist/ /packages/@cdk-cloudformation/alexa-ask-skill/lib/ diff --git a/.mergify.yml b/.mergify.yml deleted file mode 100644 index c58109243..000000000 --- a/.mergify.yml +++ /dev/null @@ -1,354 +0,0 @@ -# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". - -queue_rules: - - name: default - update_method: merge - conditions: - - "#approved-reviews-by>=1" - - -label~=(do-not-merge) - - status-success=build - - status-success=alexa-ask-skill - - status-success=aqua-enterprise-enforcer - - status-success=aqua-enterprise-kubeenforcer - - status-success=aqua-enterprise-scanner - - status-success=aqua-enterprise-server - - status-success=atlassian-opsgenie-integration - - status-success=atlassian-opsgenie-team - - status-success=atlassian-opsgenie-user - - status-success=awscommunity-account-alternatecontact - - status-success=awscommunity-applicationautoscaling-scheduledaction - - status-success=awscommunity-cloudfront-s3website-module - - status-success=awscommunity-dynamodb-item - - status-success=awscommunity-resource-lookup - - status-success=awscommunity-s3-bucket-module - - status-success=awscommunity-s3-deletebucketcontents - - status-success=awscommunity-time-offset - - status-success=awscommunity-time-sleep - - status-success=awscommunity-time-static - - status-success=awsqs-checkpoint-cloudguardqs-module - - status-success=awsqs-ec2-linuxbastionqs-module - - status-success=awsqs-eks-cluster - - status-success=awsqs-iridium-cloudconnectqs-module - - status-success=awsqs-kubernetes-get - - status-success=awsqs-kubernetes-helm - - status-success=awsqs-kubernetes-resource - - status-success=awsqs-vpc-vpcqs-module - - status-success=bigid-datasource-dynamodb - - status-success=bigid-datasource-s3 - - status-success=cloudflare-dns-record - - status-success=cloudflare-loadbalancer-loadbalancer - - status-success=cloudflare-loadbalancer-monitor - - status-success=cloudflare-loadbalancer-pool - - status-success=confluentcloud-iam-serviceaccount - - status-success=databricks-clusters-cluster - - status-success=databricks-clusters-job - - status-success=datadog-dashboards-dashboard - - status-success=datadog-integrations-aws - - status-success=datadog-monitors-downtime - - status-success=datadog-monitors-monitor - - status-success=datadog-slos-slo - - status-success=dynatrace-configuration-dashboard - - status-success=dynatrace-environment-metric - - status-success=dynatrace-environment-servicelevelobjective - - status-success=dynatrace-environment-syntheticlocation - - status-success=dynatrace-environment-syntheticmonitor - - status-success=fastly-dictionary-dictionary - - status-success=fastly-dictionary-dictionaryitem - - status-success=fastly-logging-s3 - - status-success=fastly-logging-splunk - - status-success=fastly-services-backend - - status-success=fastly-services-domain - - status-success=fastly-services-healthcheck - - status-success=fastly-services-service - - status-success=fastly-tls-certificate - - status-success=fastly-tls-domain - - status-success=fastly-tls-privatekeys - - status-success=fireeye-cloudintegrations-cloudwatch - - status-success=freyraim-impactapi-apigateway-module - - status-success=freyraim-impactapi-apihandle-module - - status-success=freyraim-impactapi-ec2instance-module - - status-success=freyraim-impactapi-lambdafunction-module - - status-success=freyraim-impactapi-loadbalancer-module - - status-success=freyraim-spider-cloudfront-module - - status-success=freyraim-spider-ec2instance-module - - status-success=freyraim-spider-ecs-module - - status-success=freyraim-spider-loadbalancer-module - - status-success=freyraim-spider-postgresql-module - - status-success=freyraim-spider-s3bucket-module - - status-success=generic-database-schema - - status-success=generic-transcribe-vocabulary - - status-success=github-git-tag - - status-success=github-organizations-membership - - status-success=github-repositories-collaborator - - status-success=github-repositories-repository - - status-success=github-repositories-webhook - - status-success=github-teams-membership - - status-success=github-teams-repositoryaccess - - status-success=github-teams-team - - status-success=gitlab-code-tag - - status-success=gitlab-groups-group - - status-success=gitlab-groups-groupaccesstogroup - - status-success=gitlab-groups-usermemberofgroup - - status-success=gitlab-projects-accesstoken - - status-success=gitlab-projects-groupaccesstoproject - - status-success=gitlab-projects-project - - status-success=gitlab-projects-usermemberofproject - - status-success=gremlin-agent-helm - - status-success=jfrog-artifactory-core-module - - status-success=jfrog-artifactory-ec2instance-module - - status-success=jfrog-artifactory-existingvpc-module - - status-success=jfrog-artifactory-newvpc-module - - status-success=jfrog-linux-bastion-module - - status-success=jfrog-vpc-multiaz-module - - status-success=jfrog-xray-ec2instance-module - - status-success=karte-eventbridge-documentdb-module - - status-success=logzio-autodeploymentlogzio-cloudwatch-module - - status-success=logzio-awscostandusage-cur-module - - status-success=logzio-awssecurityhub-collector-module - - status-success=logzio-kinesisshipper-kinesisshipper-module - - status-success=logzio-myservice-myname-module - - status-success=mongodb-atlas-cluster - - status-success=mongodb-atlas-databaseuser - - status-success=mongodb-atlas-networkpeering - - status-success=mongodb-atlas-project - - status-success=mongodb-atlas-projectipaccesslist - - status-success=newrelic-agent-configuration - - status-success=newrelic-alert-alertspolicy - - status-success=newrelic-alert-nrqlconditionstatic - - status-success=newrelic-cloudformation-dashboards - - status-success=newrelic-cloudformation-tagging - - status-success=newrelic-cloudformation-workloads - - status-success=newrelic-observability-ainotificationschannel - - status-success=newrelic-observability-dashboards - - status-success=newrelic-observability-workloads - - status-success=okta-application-application - - status-success=okta-group-group - - status-success=okta-group-groupapplicationassociation - - status-success=okta-group-membership - - status-success=okta-policy-policy - - status-success=org-test-sample-module - - status-success=pagerduty-escalationpolicies-escalationpolicy - - status-success=pagerduty-responseplays-responseplay - - status-success=pagerduty-schedules-schedule - - status-success=pagerduty-teams-membership - - status-success=pagerduty-teams-team - - status-success=pagerduty-users-user - - status-success=paloaltonetworks-cloudngfw-ngfw - - status-success=paloaltonetworks-cloudngfw-rulestack - - status-success=poc-azure-blobstorage - - status-success=registry-test-resource1-module - - status-success=rollbar-notifications-rule - - status-success=rollbar-projects-accesstoken - - status-success=rollbar-projects-project - - status-success=rollbar-teams-membership - - status-success=rollbar-teams-team - - status-success=snowflake-database-database - - status-success=snowflake-database-grant - - status-success=snowflake-role-grant - - status-success=snowflake-role-role - - status-success=snowflake-user-user - - status-success=snowflake-warehouse-grant - - status-success=snyk-container-helm - - status-success=splunk-enterprise-quickstart-module - - status-success=spot-elastigroup-group - - status-success=stackery-open-bastion-module - - status-success=stocks-orders-marketorder - - status-success=symphonia-opensource-cloudformationartifactsbucket-module - - status-success=sysdig-helm-agent - - status-success=tf-ad-computer - - status-success=tf-ad-user - - status-success=tf-aws-keypair - - status-success=tf-aws-s3bucket - - status-success=tf-aws-s3bucketobject - - status-success=tf-azuread-application - - status-success=tf-azuread-user - - status-success=tf-cloudflare-record - - status-success=tf-digitalocean-droplet - - status-success=tf-github-repository - - status-success=tf-google-storagebucket - - status-success=tf-pagerduty-service - - status-success=tf-random-string - - status-success=tf-random-uuid - - status-success=trendmicro-cloudonecontainer-helm - - status-success=unxpose-iam-integration-module - - status-success=zmk-iam-lambdabasicrole-module -pull_request_rules: - - name: Automatic merge on approval and successful build - actions: - delete_head_branch: {} - queue: - method: squash - name: default - commit_message_template: |- - {{ title }} (#{{ number }}) - - {{ body }} - conditions: - - "#approved-reviews-by>=1" - - -label~=(do-not-merge) - - status-success=build - - status-success=alexa-ask-skill - - status-success=aqua-enterprise-enforcer - - status-success=aqua-enterprise-kubeenforcer - - status-success=aqua-enterprise-scanner - - status-success=aqua-enterprise-server - - status-success=atlassian-opsgenie-integration - - status-success=atlassian-opsgenie-team - - status-success=atlassian-opsgenie-user - - status-success=awscommunity-account-alternatecontact - - status-success=awscommunity-applicationautoscaling-scheduledaction - - status-success=awscommunity-cloudfront-s3website-module - - status-success=awscommunity-dynamodb-item - - status-success=awscommunity-resource-lookup - - status-success=awscommunity-s3-bucket-module - - status-success=awscommunity-s3-deletebucketcontents - - status-success=awscommunity-time-offset - - status-success=awscommunity-time-sleep - - status-success=awscommunity-time-static - - status-success=awsqs-checkpoint-cloudguardqs-module - - status-success=awsqs-ec2-linuxbastionqs-module - - status-success=awsqs-eks-cluster - - status-success=awsqs-iridium-cloudconnectqs-module - - status-success=awsqs-kubernetes-get - - status-success=awsqs-kubernetes-helm - - status-success=awsqs-kubernetes-resource - - status-success=awsqs-vpc-vpcqs-module - - status-success=bigid-datasource-dynamodb - - status-success=bigid-datasource-s3 - - status-success=cloudflare-dns-record - - status-success=cloudflare-loadbalancer-loadbalancer - - status-success=cloudflare-loadbalancer-monitor - - status-success=cloudflare-loadbalancer-pool - - status-success=confluentcloud-iam-serviceaccount - - status-success=databricks-clusters-cluster - - status-success=databricks-clusters-job - - status-success=datadog-dashboards-dashboard - - status-success=datadog-integrations-aws - - status-success=datadog-monitors-downtime - - status-success=datadog-monitors-monitor - - status-success=datadog-slos-slo - - status-success=dynatrace-configuration-dashboard - - status-success=dynatrace-environment-metric - - status-success=dynatrace-environment-servicelevelobjective - - status-success=dynatrace-environment-syntheticlocation - - status-success=dynatrace-environment-syntheticmonitor - - status-success=fastly-dictionary-dictionary - - status-success=fastly-dictionary-dictionaryitem - - status-success=fastly-logging-s3 - - status-success=fastly-logging-splunk - - status-success=fastly-services-backend - - status-success=fastly-services-domain - - status-success=fastly-services-healthcheck - - status-success=fastly-services-service - - status-success=fastly-tls-certificate - - status-success=fastly-tls-domain - - status-success=fastly-tls-privatekeys - - status-success=fireeye-cloudintegrations-cloudwatch - - status-success=freyraim-impactapi-apigateway-module - - status-success=freyraim-impactapi-apihandle-module - - status-success=freyraim-impactapi-ec2instance-module - - status-success=freyraim-impactapi-lambdafunction-module - - status-success=freyraim-impactapi-loadbalancer-module - - status-success=freyraim-spider-cloudfront-module - - status-success=freyraim-spider-ec2instance-module - - status-success=freyraim-spider-ecs-module - - status-success=freyraim-spider-loadbalancer-module - - status-success=freyraim-spider-postgresql-module - - status-success=freyraim-spider-s3bucket-module - - status-success=generic-database-schema - - status-success=generic-transcribe-vocabulary - - status-success=github-git-tag - - status-success=github-organizations-membership - - status-success=github-repositories-collaborator - - status-success=github-repositories-repository - - status-success=github-repositories-webhook - - status-success=github-teams-membership - - status-success=github-teams-repositoryaccess - - status-success=github-teams-team - - status-success=gitlab-code-tag - - status-success=gitlab-groups-group - - status-success=gitlab-groups-groupaccesstogroup - - status-success=gitlab-groups-usermemberofgroup - - status-success=gitlab-projects-accesstoken - - status-success=gitlab-projects-groupaccesstoproject - - status-success=gitlab-projects-project - - status-success=gitlab-projects-usermemberofproject - - status-success=gremlin-agent-helm - - status-success=jfrog-artifactory-core-module - - status-success=jfrog-artifactory-ec2instance-module - - status-success=jfrog-artifactory-existingvpc-module - - status-success=jfrog-artifactory-newvpc-module - - status-success=jfrog-linux-bastion-module - - status-success=jfrog-vpc-multiaz-module - - status-success=jfrog-xray-ec2instance-module - - status-success=karte-eventbridge-documentdb-module - - status-success=logzio-autodeploymentlogzio-cloudwatch-module - - status-success=logzio-awscostandusage-cur-module - - status-success=logzio-awssecurityhub-collector-module - - status-success=logzio-kinesisshipper-kinesisshipper-module - - status-success=logzio-myservice-myname-module - - status-success=mongodb-atlas-cluster - - status-success=mongodb-atlas-databaseuser - - status-success=mongodb-atlas-networkpeering - - status-success=mongodb-atlas-project - - status-success=mongodb-atlas-projectipaccesslist - - status-success=newrelic-agent-configuration - - status-success=newrelic-alert-alertspolicy - - status-success=newrelic-alert-nrqlconditionstatic - - status-success=newrelic-cloudformation-dashboards - - status-success=newrelic-cloudformation-tagging - - status-success=newrelic-cloudformation-workloads - - status-success=newrelic-observability-ainotificationschannel - - status-success=newrelic-observability-dashboards - - status-success=newrelic-observability-workloads - - status-success=okta-application-application - - status-success=okta-group-group - - status-success=okta-group-groupapplicationassociation - - status-success=okta-group-membership - - status-success=okta-policy-policy - - status-success=org-test-sample-module - - status-success=pagerduty-escalationpolicies-escalationpolicy - - status-success=pagerduty-responseplays-responseplay - - status-success=pagerduty-schedules-schedule - - status-success=pagerduty-teams-membership - - status-success=pagerduty-teams-team - - status-success=pagerduty-users-user - - status-success=paloaltonetworks-cloudngfw-ngfw - - status-success=paloaltonetworks-cloudngfw-rulestack - - status-success=poc-azure-blobstorage - - status-success=registry-test-resource1-module - - status-success=rollbar-notifications-rule - - status-success=rollbar-projects-accesstoken - - status-success=rollbar-projects-project - - status-success=rollbar-teams-membership - - status-success=rollbar-teams-team - - status-success=snowflake-database-database - - status-success=snowflake-database-grant - - status-success=snowflake-role-grant - - status-success=snowflake-role-role - - status-success=snowflake-user-user - - status-success=snowflake-warehouse-grant - - status-success=snyk-container-helm - - status-success=splunk-enterprise-quickstart-module - - status-success=spot-elastigroup-group - - status-success=stackery-open-bastion-module - - status-success=stocks-orders-marketorder - - status-success=symphonia-opensource-cloudformationartifactsbucket-module - - status-success=sysdig-helm-agent - - status-success=tf-ad-computer - - status-success=tf-ad-user - - status-success=tf-aws-keypair - - status-success=tf-aws-s3bucket - - status-success=tf-aws-s3bucketobject - - status-success=tf-azuread-application - - status-success=tf-azuread-user - - status-success=tf-cloudflare-record - - status-success=tf-digitalocean-droplet - - status-success=tf-github-repository - - status-success=tf-google-storagebucket - - status-success=tf-pagerduty-service - - status-success=tf-random-string - - status-success=tf-random-uuid - - status-success=trendmicro-cloudonecontainer-helm - - status-success=unxpose-iam-integration-module - - status-success=zmk-iam-lambdabasicrole-module diff --git a/.npmignore b/.npmignore deleted file mode 100644 index a0e4ab66d..000000000 --- a/.npmignore +++ /dev/null @@ -1,24 +0,0 @@ -# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". -/.projen/ -/test-reports/ -junit.xml -/coverage/ -permissions-backup.acl -/dist/changelog.md -/dist/version.txt -/.mergify.yml -/test/ -/tsconfig.dev.json -/src/ -!/lib/ -!/lib/**/*.js -!/lib/**/*.d.ts -dist -/tsconfig.json -/.github/ -/.vscode/ -/.idea/ -/.projenrc.js -tsconfig.tsbuildinfo -/.eslintrc.json -/.awscdk/ diff --git a/.projen/deps.json b/.projen/deps.json index c8bca21b0..d8ed9550c 100644 --- a/.projen/deps.json +++ b/.projen/deps.json @@ -41,6 +41,10 @@ "version": "^0.2.112", "type": "build" }, + { + "name": "cdklabs-projen-project-types", + "type": "build" + }, { "name": "constructs", "version": "^10.0.5", diff --git a/.projen/files.json b/.projen/files.json index 8e863497c..0fc1bc6cb 100644 --- a/.projen/files.json +++ b/.projen/files.json @@ -4,6 +4,7 @@ ".gitattributes", ".github/pull_request_template.md", ".github/workflows/auto-approve.yml", + ".github/workflows/auto-merge.yml", ".github/workflows/build-individual.yml", ".github/workflows/build.yml", ".github/workflows/pull-request-lint.yml", @@ -174,10 +175,9 @@ ".github/workflows/release-zmk-iam-lambdabasicrole-module.yml", ".github/workflows/release.yml", ".github/workflows/update-registry.yml", + ".github/workflows/upgrade-cdklabs-projen-project-types-main.yml", ".github/workflows/upgrade-main.yml", ".gitignore", - ".mergify.yml", - ".npmignore", ".npmrc", ".projen/deps.json", ".projen/files.json", diff --git a/.projen/tasks.json b/.projen/tasks.json index fdcae68b3..7290d1ab8 100644 --- a/.projen/tasks.json +++ b/.projen/tasks.json @@ -5461,7 +5461,7 @@ "description": "Run tests", "steps": [ { - "exec": "jest --passWithNoTests --updateSnapshot", + "exec": "jest --passWithNoTests --coverageProvider=v8 --updateSnapshot", "receiveArgs": true }, { @@ -5541,6 +5541,30 @@ } ] }, + "upgrade-cdklabs-projen-project-types": { + "name": "upgrade-cdklabs-projen-project-types", + "description": "upgrade cdklabs-projen-project-types", + "env": { + "CI": "0" + }, + "steps": [ + { + "exec": "yarn upgrade npm-check-updates" + }, + { + "exec": "npm-check-updates --filter=cdklabs-projen-project-types,projen --upgrade" + }, + { + "exec": "yarn install --check-files" + }, + { + "exec": "yarn upgrade cdklabs-projen-project-types projen" + }, + { + "exec": "npx projen" + } + ] + }, "watch": { "name": "watch", "description": "Watch & compile in the background", diff --git a/.projenrc.ts b/.projenrc.ts index adfe8ba68..7d179c3d1 100644 --- a/.projenrc.ts +++ b/.projenrc.ts @@ -1,22 +1,16 @@ -import { typescript } from 'projen'; +import { CdklabsTypeScriptProject } from 'cdklabs-projen-project-types'; import { DeprecatedTypes } from './projenrc/deprecated-types'; import { generatePackages, updateReadme } from './projenrc/generate-packages'; import { UpdateRegistry } from './projenrc/update-registry'; -const project = new typescript.TypeScriptProject({ +const project = new CdklabsTypeScriptProject({ + setNodeEngineVersion: false, defaultReleaseBranch: 'main', name: 'cdk-cloudformation', projenrcTs: true, sampleCode: false, - autoApproveOptions: { - allowedUsernames: ['cdklabs-automation'], - secret: 'GITHUB_TOKEN', - }, - autoApproveUpgrades: true, }); -project.package.addField('private', true); - project.addDevDeps('cdk-import@^0.2.112'); project.addDevDeps('case'); project.addDevDeps('aws-sdk'); @@ -34,7 +28,6 @@ project.packageTask.reset(); const packagesDir = 'packages'; const scope = '@cdk-cloudformation'; -project.package.addField('private', true); project.package.addField('workspaces', { packages: [`${packagesDir}/${scope}/*`], }); diff --git a/package.json b/package.json index 85650f9a6..4b349c3a9 100644 --- a/package.json +++ b/package.json @@ -514,9 +514,15 @@ "unbump": "npx projen unbump", "update-registry": "npx projen update-registry", "upgrade": "npx projen upgrade", + "upgrade-cdklabs-projen-project-types": "npx projen upgrade-cdklabs-projen-project-types", "watch": "npx projen watch", "projen": "npx projen" }, + "author": { + "name": "Amazon Web Services", + "email": "aws-cdk-dev@amazon.com", + "organization": true + }, "devDependencies": { "@types/jest": "^27.5.2", "@types/node": "^16", @@ -527,6 +533,7 @@ "aws-sdk": "^2.1397.0", "case": "^1.6.3", "cdk-import": "^0.2.112", + "cdklabs-projen-project-types": "^0.1.138", "constructs": "^10.0.5", "eslint": "^8", "eslint-import-resolver-node": "^0.3.7", diff --git a/yarn.lock b/yarn.lock index 93bf80f78..a6dcbcb69 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1656,6 +1656,14 @@ cdk-import@^0.2.112: minimist-subcommand "^3.0.2" proxy-agent "^5.0.0" +cdklabs-projen-project-types@^0.1.138: + version "0.1.138" + resolved "https://registry.yarnpkg.com/cdklabs-projen-project-types/-/cdklabs-projen-project-types-0.1.138.tgz#428f252383825c2f99587b17b6022f07b6257d95" + integrity sha512-l04PeDpu/P3TI1ahXDlr3qqvv7sqrdaxFYc/ssJrW5cUR+W4ZHHnHxiJwE5aGT7o49rBsRrLh1nbrKduftGn1Q== + dependencies: + projen "^0.71.91" + yaml "^2.3.1" + chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -5437,6 +5445,25 @@ progress@^2.0.3: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== +projen@^0.71.91: + version "0.71.95" + resolved "https://registry.yarnpkg.com/projen/-/projen-0.71.95.tgz#2c2e4d6983e3a112caa8226649d637ad819d8ca7" + integrity sha512-ggemQltOWHD6SQrEGcOuCkT0S0X6rMlVVhIJH1w3g7yL39dWCH1NPT4WKOgObprr75NGhgeepPnNbMsR81sfzQ== + dependencies: + "@iarna/toml" "^2.2.5" + case "^1.6.3" + chalk "^4.1.2" + comment-json "4.2.2" + conventional-changelog-config-spec "^2.1.0" + fast-json-patch "^3.1.1" + glob "^8" + ini "^2.0.0" + semver "^7.5.1" + shx "^0.3.4" + xmlbuilder2 "^3.1.1" + yaml "^2.2.2" + yargs "^17.7.2" + projen@^0.71.94: version "0.71.94" resolved "https://registry.yarnpkg.com/projen/-/projen-0.71.94.tgz#c730a1511cdf415d508543196d7d0d54f04ae854" @@ -7059,7 +7086,7 @@ yaml@1.10.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.2.2: +yaml@^2.2.2, yaml@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==