Add GitHub Actions deploy workflow #28
1 changed files with 20 additions and 0 deletions
20
.github/workflows/deploy.yaml
vendored
Normal file
20
.github/workflows/deploy.yaml
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
name: Deploy
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
id-token: write
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: deploy
|
||||||
|
cancel-in-progress: false
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
uses: Sea-Haven-Industries/.github/.github/workflows/cd-cdk.yaml@main
|
||||||
|
with:
|
||||||
|
enable-qemu: true
|
||||||
|
secrets:
|
||||||
|
deploy-role-arn: ${{ secrets.AWS_DEPLOY_ROLE_ARN }}
|
||||||
Missing concurrency control risks parallel deploy failuresMedium Severity This deploy workflow lacks a Reviewed by Cursor Bugbot for commit ### Missing concurrency control risks parallel deploy failures
**Medium Severity**
<!-- DESCRIPTION START -->
This deploy workflow lacks a `concurrency` group. The CodePipeline it replaces (in `pipeline.yaml`) natively serializes executions, but GitHub Actions does not — rapid successive merges to `main` trigger parallel runs. CloudFormation rejects concurrent stack updates, so the second `cdk deploy` would fail, leaving the latest changes undeployed with no automatic retry.
<!-- DESCRIPTION END -->
<!-- BUGBOT_BUG_ID: ref1_ee430734-7e84-4da7-be37-35a2aba2ee21 -->
<!-- LOCATIONS START
.github/workflows/deploy.yaml#L1-L16
LOCATIONS END -->
<div><a href="https://cursor.com/open?data=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJ1Z2JvdC12MiJ9.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiQlVHQk9UX0ZJWF9JTl9DVVJTT1IiLCJkYXRhIjp7InJlZGlzS2V5IjoiYnVnYm90OmM0YzM4ODM5LTJmODQtNDBlMC1iMzY1LTM4NTIyZWJjZDc5NiIsImVuY3J5cHRpb25LZXkiOiI0bjlZQUhmMFZPdUR5bW5LbHA2eFc5N2pNN3RvTmFPakVNbU02NURPSkVJIiwiYnJhbmNoIjoiZmVhdHVyZS9hZGQtZGVwbG95LXdvcmtmbG93IiwicmVwb093bmVyIjoiU2VhLUhhdmVuLUluZHVzdHJpZXMiLCJyZXBvTmFtZSI6ImV4ZWMtYWlkZSJ9LCJpYXQiOjE3NzgyNzM5NjcsImV4cCI6MTc4MDg2NTk2N30.oSWN5zyV6VgbT_jS9EAIkfX2RugVSof5jLzv1fL9UuCz1dso2-HT21DQzAZFEEuTh4IHSJIYXi5pDGPeKElRvHcKyTZzdLuRZnlLLliwCCTdIFWIcp6ijP1gJijYWsEpqzVwR18pe7j52dWnJWplltYsvu2KsZ2bWNqUSqvjQikaVIx0C1LQe4pkCvJw1bl_YElHNqKAxwQA3KWycyTmS-o0N7T6tRIQ82WvlGnHQdCik4mnlh3_jCCopl_GvHsYwxwCTnxel1imp3dAvf94e_iBXO6cXF1ODy34wQw_Xosu-zoH4QzoPmVpYnWucRV0lkUCv8eJOyjFLbnibBJ-Xw" target="_blank" rel="noopener noreferrer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/fix-in-cursor-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/fix-in-cursor-light.png"><img alt="Fix in Cursor" width="115" height="28" src="https://cursor.com/assets/images/fix-in-cursor-dark.png"></picture></a> <a href="https://cursor.com/agents?data=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJ1Z2JvdC12MiJ9.eyJ2ZXJzaW9uIjoxLCJ0eXBlIjoiQlVHQk9UX0ZJWF9JTl9XRUIiLCJkYXRhIjp7InJlZGlzS2V5IjoiYnVnYm90OmM0YzM4ODM5LTJmODQtNDBlMC1iMzY1LTM4NTIyZWJjZDc5NiIsImVuY3J5cHRpb25LZXkiOiI0bjlZQUhmMFZPdUR5bW5LbHA2eFc5N2pNN3RvTmFPakVNbU02NURPSkVJIiwiYnJhbmNoIjoiZmVhdHVyZS9hZGQtZGVwbG95LXdvcmtmbG93IiwicmVwb093bmVyIjoiU2VhLUhhdmVuLUluZHVzdHJpZXMiLCJyZXBvTmFtZSI6ImV4ZWMtYWlkZSIsInByTnVtYmVyIjoyOCwiY29tbWl0U2hhIjoiZjY1YzVmZTNlYjhlMjJjN2VkODE1NWQwZTk5NTFkNDhiZTJjZDdkMyIsInByb3ZpZGVyIjoiZ2l0aHViIn0sImlhdCI6MTc3ODI3Mzk2NywiZXhwIjoxNzgwODY1OTY3fQ.yIPiMedF-HnW6iBKDTvL03bDx8DQG4XWDoK1x1Emu9iy2djvye30nrM1xBbmGIlqBvJrDtNlCdjWm1H6YaOANKgty3ZDOMULpRZpfd_rR2NpRCV5_GVr0PjUIaM2C9xHRUwC4HnBOM4-aqzfnsWzVWwIsvyE-bJ-__YC8-0_KyIZGgF7VVxe8AxH2R2wBXOseze5dg0pzAN3AlT1fWTGRGphljrg69yb-Fm0aUeQGof_kHnqLv3prjsl3LLfcd1pl9sCuSD5vw1uYnPTpze9JpjnpQD6RSGoVro7RFGyiARZxBym7dFgnvhhKr_9Y6oDq46Lko4BwiR4SVBshCwdIg" target="_blank" rel="noopener noreferrer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/fix-in-web-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/fix-in-web-light.png"><img alt="Fix in Web" width="99" height="28" src="https://cursor.com/assets/images/fix-in-web-dark.png"></picture></a></div>
<sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit f65c5fe3eb8e22c7ed8155d0e9951d48be2cd7d3. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup>
|
|||||||
Reference in a new issue
Missing
id-token: writepermission breaks OIDC deployHigh Severity
This workflow uses OIDC-based AWS authentication via a reusable workflow (
cd-cdk.yaml), but the caller workflow does not declarepermissions: id-token: write. GitHub Actions requires the calling workflow to explicitly grant this permission — the reusable workflow's own permissions are constrained to the intersection with the caller's. Without it, the OIDC token request will fail and the deploy job will error out when attempting to assume thedeploy-role-arn.Reviewed by Cursor Bugbot for commit
1a17640003. Configure here.