diff --git a/.github/cdk/.gitignore b/.github/cdk/.gitignore deleted file mode 100644 index 794fce50..00000000 --- a/.github/cdk/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -main.js -main.d.ts diff --git a/.github/cdk/cdkactions.yaml b/.github/cdk/cdkactions.yaml deleted file mode 100644 index 62676794..00000000 --- a/.github/cdk/cdkactions.yaml +++ /dev/null @@ -1,2 +0,0 @@ -language: typescript -app: node main.js diff --git a/.github/cdk/main.ts b/.github/cdk/main.ts deleted file mode 100644 index 201995a2..00000000 --- a/.github/cdk/main.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Construct } from "constructs"; -import { App, Stack, Workflow } from "cdkactions"; -import { DeployJob, ReactProject } from "@pennlabs/kraken"; - -export class WebsiteStack extends Stack { - constructor(scope: Construct, name: string) { - super(scope, name); - const workflow = new Workflow(this, 'build-and-deploy', { - name: 'Build and Deploy', - on: 'push', - }); - - const websiteJob = new ReactProject(workflow, { - imageName: 'website', - }); - - new DeployJob(workflow, {}, { - needs: [websiteJob.publishJobId] - }); - } -} - -const app = new App(); -new WebsiteStack(app, 'website'); -app.synth(); diff --git a/.github/cdk/package.json b/.github/cdk/package.json deleted file mode 100644 index ee4fab49..00000000 --- a/.github/cdk/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "cdk", - "version": "0.1.0", - "main": "main.js", - "types": "main.ts", - "license": "Apache-2.0", - "private": true, - "scripts": { - "synth": "cdkactions synth", - "compile": "tsc", - "watch": "tsc -w", - "build": "yarn compile && yarn synth", - "upgrade-cdk": "yarn upgrade cdkactions@latest cdkactions-cli@latest" - }, - "dependencies": { - "@pennlabs/kraken": "^0.8.6", - "cdkactions": "^0.2.3", - "constructs": "^3.2.109" - }, - "devDependencies": { - "@types/node": "^14.14.22", - "cdkactions-cli": "^0.2.3", - "typescript": "^4.1.3" - } -} diff --git a/.github/cdk/tsconfig.json b/.github/cdk/tsconfig.json deleted file mode 100644 index 936e05ce..00000000 --- a/.github/cdk/tsconfig.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "compilerOptions": { - "alwaysStrict": true, - "charset": "utf8", - "declaration": true, - "experimentalDecorators": true, - "inlineSourceMap": true, - "inlineSources": true, - "lib": [ - "es2018" - ], - "module": "CommonJS", - "noEmitOnError": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "resolveJsonModule": true, - "strict": true, - "strictNullChecks": true, - "strictPropertyInitialization": true, - "stripInternal": true, - "target": "ES2018" - }, - "include": [ - "**/*.ts" - ], - "exclude": [ - "node_modules" - ] -} diff --git a/.github/cdk/yarn.lock b/.github/cdk/yarn.lock deleted file mode 100644 index 0205c82f..00000000 --- a/.github/cdk/yarn.lock +++ /dev/null @@ -1,216 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@pennlabs/kraken@^0.8.6": - version "0.8.6" - resolved "https://registry.yarnpkg.com/@pennlabs/kraken/-/kraken-0.8.6.tgz#79a9d10bed36b699c526556cd69b6d81341847d1" - integrity sha512-aBblQa/661DJ2GP3Dq1KEzCZ72ZV/Jw7z4HNZoWPxGWn+tSPwvaPkSNDpK7tT+nJmu427giGU8DLyciU79hKbA== - dependencies: - cdkactions "^0.2.3" - constructs "^3.2.80" - ts-dedent "^2.2.0" - -"@types/node@^14.14.22": - version "14.14.22" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.22.tgz#0d29f382472c4ccf3bd96ff0ce47daf5b7b84b18" - integrity sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-styles@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -cdkactions-cli@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/cdkactions-cli/-/cdkactions-cli-0.2.3.tgz#2393682b37ab0b04c6964160b393e8d71b08118f" - integrity sha512-qYPbzuQ1M5gQGa8NRnaWwm3iXmdqMoiHR7YTh6oYROpfBGER7kwBBb6ydFlSwKK62hE0B++by43hbEBXlHvr8A== - dependencies: - cdkactions "^0.2.3" - constructs "^3.2.109" - fs-extra "^8.1.0" - sscaff "^1.2.0" - yaml "^1.10.0" - yargs "^16.2.0" - -cdkactions@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/cdkactions/-/cdkactions-0.2.3.tgz#aa27bf720962376d54f8ef95cdfb0ab46458b966" - integrity sha512-/DYQ2qsT6fzgZB+cmQjtPqR4aAWCqAytWbFpJK+iJLQ4jQrl6l4uMf01TLiWY3mAILS0YGlwPcoBbGvq9Jnz5g== - dependencies: - js-yaml "^4.0.0" - ts-dedent "^2.0.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -constructs@^3.2.109: - version "3.2.113" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.113.tgz#b7f6d11ad00e787558924158164adab2a7386502" - integrity sha512-yNq5+bZFzNuygzC0nTbJ9cfktMTF7EwUerHWHSc+2sxJELhA5C2j/Ucu+fHmKIr+3TF6j2JCJiK/mO0SoRkdSQ== - -constructs@^3.2.80: - version "3.3.263" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.3.263.tgz#d1c0391155d28e34534d2ab4266199f260258ba6" - integrity sha512-PZFnpaTjn7lHSk1+D4B6/pu1M0l+IRHt/lMIk2kkUMgsuhCSu2iFEh0uSw/PsDO4oZ1WaT9FZpvOoRJpC5jcJA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -js-yaml@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" - integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== - dependencies: - argparse "^2.0.1" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -sscaff@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/sscaff/-/sscaff-1.2.0.tgz#d015f199ac53c2df66c4b6135b29bd01f7885445" - integrity sha512-Xyf2tWLnO0Z297FKag0e8IXFIpnYRWZ3FBn4dN2qlMRsOcpf0P54FPhvdcb1Es0Fm4hbhYYXa23jR+VPGPQhSg== - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -ts-dedent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.0.0.tgz#47c5eb23d9096f3237cc413bc82d387d36dbe690" - integrity sha512-DfxKjSFQfw9+uf7N9Cy8Ebx9fv5fquK4hZ6SD3Rzr+1jKP6AVA6H8+B5457ZpUs0JKsGpGqIevbpZ9DMQJDp1A== - -ts-dedent@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.2.0.tgz#39e4bd297cd036292ae2394eb3412be63f563bb5" - integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== - -typescript@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" - integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -y18n@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" - integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== - -yaml@^1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== - -yargs-parser@^20.2.2: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" diff --git a/.github/workflows/build-and-deploy.yaml b/.github/workflows/build-and-deploy.yaml new file mode 100644 index 00000000..3d863b71 --- /dev/null +++ b/.github/workflows/build-and-deploy.yaml @@ -0,0 +1,25 @@ +# ======================================== +# Note: If you make changes to this CI/CD, please include someone from DevOps in the list of reviewers for the PR. +# ======================================== +name: Build and Deploy +on: push +jobs: + react-check-and-publish: + name: React Check & Publish Frontend + runs-on: ubuntu-latest + steps: + - uses: pennlabs/shared-actions/.github/workflows/react.yaml@v0.1.2 + with: + imageName: website + githubRef: ${{ github.ref }} + gitSha: ${{ github.sha }} + deploy: + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/master' + steps: + - uses: pennlabs/shared-actions/.github/workflows/deployment.yaml@v0.1.2 + with: + githubRef: ${{ github.ref }} + gitSha: ${{ github.sha }} + needs: + - react-check-and-publish diff --git a/.github/workflows/cdkactions_build-and-deploy.yaml b/.github/workflows/cdkactions_build-and-deploy.yaml deleted file mode 100644 index c0176d9c..00000000 --- a/.github/workflows/cdkactions_build-and-deploy.yaml +++ /dev/null @@ -1,98 +0,0 @@ -# Generated by cdkactions. Do not modify -# Generated as part of the 'website' stack. -name: Build and Deploy -on: push -jobs: - react-check: - name: React Check - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Cache - uses: actions/cache@v2 - with: - path: "**/node_modules" - key: v0-${{ hashFiles('./yarn.lock') }} - - name: Install Dependencies - run: |- - cd . - yarn install --frozen-lockfile - - name: Lint - run: |- - cd . - yarn lint - - name: Test - run: |- - cd . - yarn test - - name: Upload Code Coverage - run: |- - ROOT=$(pwd) - cd . - yarn run codecov -p $ROOT -F frontend - container: - image: node:14 - publish-frontend: - name: Publish frontend - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: docker/setup-qemu-action@v1 - - uses: docker/setup-buildx-action@v1 - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache - key: buildx-publish-frontend - - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - name: Build/Publish - uses: docker/build-push-action@v2 - with: - context: . - file: ./Dockerfile - push: ${{ github.ref == 'refs/heads/master' }} - cache-from: type=local,src=/tmp/.buildx-cache,type=registry,ref=pennlabs/website:latest - cache-to: type=local,dest=/tmp/.buildx-cache - tags: pennlabs/website:latest,pennlabs/website:${{ github.sha }} - needs: react-check - deploy: - runs-on: ubuntu-latest - if: github.ref == 'refs/heads/master' - steps: - - uses: actions/checkout@v2 - - id: synth - name: Synth cdk8s manifests - run: |- - cd k8s - yarn install --frozen-lockfile - - # get repo name (by removing owner/organization) - export RELEASE_NAME=${REPOSITORY#*/} - - # Export RELEASE_NAME as an output - echo "::set-output name=RELEASE_NAME::$RELEASE_NAME" - - yarn build - env: - GIT_SHA: ${{ github.sha }} - REPOSITORY: ${{ github.repository }} - AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }} - - name: Deploy - run: |- - aws eks --region us-east-1 update-kubeconfig --name production --role-arn arn:aws:iam::${AWS_ACCOUNT_ID}:role/kubectl - - # get repo name from synth step - RELEASE_NAME=${{ steps.synth.outputs.RELEASE_NAME }} - - # Deploy - kubectl apply -f k8s/dist/ -l app.kubernetes.io/component=certificate - kubectl apply -f k8s/dist/ --prune -l app.kubernetes.io/part-of=$RELEASE_NAME - env: - AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }} - AWS_ACCESS_KEY_ID: ${{ secrets.GH_AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.GH_AWS_SECRET_ACCESS_KEY }} - needs: - - publish-frontend diff --git a/.github/workflows/cdkactions_validate.yaml b/.github/workflows/cdkactions_validate.yaml deleted file mode 100644 index 73834d77..00000000 --- a/.github/workflows/cdkactions_validate.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by cdkactions. Do not modify -# Generated as part of the 'validate' stack. -name: Validate cdkactions manifests -on: push -jobs: - validate: - name: Validate cdkactions manifests - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - token: ${{ github.token }} - - name: Validate manifests - run: |- - cd .github/cdk - yarn install - yarn build - git --no-pager diff ../workflows - git diff-index --quiet HEAD -- ../workflows - - name: Push updated manifests - if: "false" - run: |- - cd .github/workflows - git config user.name github-actions - git config user.email github-actions[bot]@users.noreply.github.com - git add . - git commit -m "Update cdkactions manifests" || exit 0 - git push