-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
19 changed files
with
2,742 additions
and
797 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
name: upgrade-node | ||
on: | ||
schedule: | ||
- cron: '39 5 * * *' | ||
workflow_dispatch: {} | ||
concurrency: ${{ github.workflow }}-${{ github.ref }} | ||
jobs: | ||
upgrade: | ||
name: Upgrade Node.js | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | ||
- name: Install | ||
run: yarn install | ||
- name: Get current Node.js version | ||
id: current_version | ||
run: |- | ||
ENGINES_NODE_VERSION=$(npm pkg get engines.node | tr -d '"') | ||
CURRENT_VERSION=$(cut -d " " -f 2 <<< "$ENGINES_NODE_VERSION") | ||
CURRENT_VERSION_SHORT=$(cut -d "." -f 1 <<< "$CURRENT_VERSION") | ||
echo "CURRENT_NODEJS_VERSION=$CURRENT_VERSION" >> $GITHUB_ENV | ||
echo "CURRENT_NODEJS_VERSION_SHORT=$CURRENT_VERSION_SHORT" >> $GITHUB_ENV | ||
echo "value=$CURRENT_VERSION" >> $GITHUB_OUTPUT | ||
echo "short=$CURRENT_VERSION_SHORT" >> $GITHUB_OUTPUT | ||
- name: Get the earliest supported Node.js version whose EOL date is at least a month away | ||
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1 | ||
with: | ||
script: |- | ||
const script = require('./scripts/check-node-versions.js') | ||
await script({github, context, core}) | ||
- name: Update the package with the new minimum Node version and update @types/node | ||
if: env.CURRENT_NODEJS_VERSION_SHORT != env.NEW_NODEJS_VERSION_SHORT | ||
run: |- | ||
npm pkg set engines.node=">= $NEW_NODEJS_VERSION" | ||
yarn add -D @types/node@^$NEW_NODEJS_VERSION_SHORT | ||
- name: Set the new minNodeVersion in the Projen template | ||
if: env.CURRENT_NODEJS_VERSION_SHORT != env.NEW_NODEJS_VERSION_SHORT | ||
run: 'sed -i "s/minNodeVersion: \".*\",/minNodeVersion: \"$NEW_NODEJS_VERSION\",/" ./projenrc.template.js' | ||
- name: Update the Node version used in GitHub Actions workflows | ||
if: env.CURRENT_NODEJS_VERSION_SHORT != env.NEW_NODEJS_VERSION_SHORT | ||
run: 'find ./.github/workflows -type f -name "*.yml" -print0 | xargs -0 sed -i "s/node-version: \".*\"/node-version: \"$NEW_NODEJS_VERSION_SHORT\"/g"' | ||
- name: Get values for pull request | ||
id: latest_version | ||
if: env.CURRENT_NODEJS_VERSION_SHORT != env.NEW_NODEJS_VERSION_SHORT | ||
run: |- | ||
echo "value=$NEW_NODEJS_VERSION" >> $GITHUB_OUTPUT | ||
echo "short=$NEW_NODEJS_VERSION_SHORT" >> $GITHUB_OUTPUT | ||
- name: Create Pull Request | ||
if: env.CURRENT_NODEJS_VERSION_SHORT != env.NEW_NODEJS_VERSION_SHORT | ||
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # v5.0.1 | ||
with: | ||
commit-message: "chore!: increase minimum supported Node.js version to ${{ steps.latest_version.outputs.short }}" | ||
branch: auto/upgrade-node-${{ steps.latest_version.outputs.short }} | ||
base: main | ||
title: "chore!: increase minimum supported Node.js version to ${{ steps.latest_version.outputs.short }}" | ||
body: This PR increases the minimum supported Node.js version to `${{ steps.latest_version.outputs.value }}` from `${{ steps.current_version.outputs.value }}` because version ${{ steps.current_version.outputs.short }} is less than 30 days away from EOL. | ||
labels: automerge,automated,security | ||
token: ${{ secrets.GH_TOKEN_ACTIONS_UPDATER }} | ||
author: team-tf-cdk <[email protected]> | ||
committer: team-tf-cdk <[email protected]> | ||
signoff: true | ||
delete-branch: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
name: upgrade-terraform | ||
on: | ||
schedule: | ||
- cron: 32 23 * * 0 | ||
workflow_dispatch: {} | ||
concurrency: ${{ github.workflow }}-${{ github.ref }} | ||
jobs: | ||
upgrade: | ||
name: Upgrade Terraform | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | ||
- name: Install | ||
run: yarn install | ||
- name: Get latest Terraform version | ||
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1 | ||
with: | ||
script: |- | ||
const script = require('./scripts/check-terraform-version.js') | ||
await script({github, context, core}) | ||
- name: Parse latest Terraform version into variables | ||
id: latest_version | ||
run: |- | ||
TERRAFORM_VERSION_MINOR=$(cut -d "." -f 2 <<< "$NEW_TERRAFORM_VERSION") | ||
echo "NEW_TERRAFORM_VERSION_MINOR=$TERRAFORM_VERSION_MINOR" >> $GITHUB_ENV | ||
echo "value=$NEW_TERRAFORM_VERSION" >> $GITHUB_OUTPUT | ||
echo "minor=$TERRAFORM_VERSION_MINOR" >> $GITHUB_OUTPUT | ||
- name: Update the Terraform version used in GitHub Actions workflows | ||
run: |- | ||
find ./.github/workflows -type f -name "*.yml" -print0 | xargs -0 sed -i "s/terraform_version: \".*\"/terraform_version: \"$NEW_TERRAFORM_VERSION\"/g" | ||
- name: Create pull request | ||
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 | ||
with: | ||
base: main | ||
branch: auto/upgrade-terraform-1-${{ steps.latest_version.outputs.minor }} | ||
commit-message: "chore: upgrade Terraform to ${{ steps.latest_version.outputs.value }}" | ||
title: "chore: upgrade Terraform to ${{ steps.latest_version.outputs.value }}" | ||
body: |- | ||
This PR increases the version of Terraform used by this project's `diff` and `deploy` workflows to version `${{ steps.latest_version.outputs.value }}`. | ||
Please carefully inspect the diff output resulting from the checks below before merging this PR. | ||
labels: automated,dependencies | ||
token: ${{ secrets.GH_TOKEN_ACTIONS_UPDATER }} | ||
author: team-tf-cdk <[email protected]> | ||
committer: team-tf-cdk <[email protected]> | ||
signoff: true | ||
delete-branch: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
{ | ||
"language": "typescript", | ||
"app": "npm run --silent compile && node main.js", | ||
"app": "npx tsx main.ts", | ||
"projectId": "46fb4da5-e0c7-486d-aba8-24e91527e550" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
/** | ||
* Copyright (c) HashiCorp, Inc. | ||
* SPDX-License-Identifier: MPL-2.0 | ||
*/ | ||
|
||
import { TerraformElement } from "cdktf"; | ||
import { Node } from "constructs"; | ||
import { makeUniqueId } from "./unique-id-override"; | ||
|
||
function allocateLogicalId(tfElement: TerraformElement | Node): string { | ||
const node = TerraformElement.isTerraformElement(tfElement) | ||
? tfElement.node | ||
: tfElement; | ||
|
||
// This is the previous behavior, which we want for now. | ||
const stackIndex = 0; | ||
|
||
const components = node.scopes.slice(stackIndex + 1).map((c) => c.node.id); | ||
return components.length > 0 ? makeUniqueId(components, false) : ""; | ||
} | ||
|
||
export function setOldId(tfElement: TerraformElement): void { | ||
tfElement.overrideLogicalId(allocateLogicalId(tfElement)); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.