| name: unlock |
|
|
| on: |
| workflow_dispatch: |
| inputs: |
| stage: |
| description: SST stage to unlock |
| required: true |
| type: choice |
| options: |
| - dev |
| - production |
|
|
| concurrency: deploy-${{ inputs.stage }} |
|
|
| permissions: |
| contents: read |
| id-token: write |
|
|
| jobs: |
| unlock: |
| runs-on: ubuntu-latest |
| environment: ${{ inputs.stage }} |
| steps: |
| - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 |
|
|
| - uses: ./.github/actions/setup-bun |
|
|
| - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 |
| with: |
| node-version: "24" |
|
|
| - uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a |
| with: |
| role-to-assume: ${{ vars.AWS_DEPLOY_ROLE_ARN }} |
| role-session-name: opencode-${{ github.run_id }} |
| aws-region: us-east-1 |
|
|
| - run: bun sst unlock --stage=${{ inputs.stage }} |
| env: |
| GITHUB_TOKEN: ${{ github.token }} |
| CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} |
| PLANETSCALE_SERVICE_TOKEN_NAME: ${{ secrets.PLANETSCALE_SERVICE_TOKEN_NAME }} |
| PLANETSCALE_SERVICE_TOKEN: ${{ secrets.PLANETSCALE_SERVICE_TOKEN }} |
| STRIPE_SECRET_KEY: ${{ inputs.stage == 'production' && secrets.STRIPE_SECRET_KEY_PROD || secrets.STRIPE_SECRET_KEY_DEV }} |
| HONEYCOMB_API_KEY: ${{ secrets.HONEYCOMB_API_KEY }} |
| SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} |
| SENTRY_ORG: ${{ vars.SENTRY_ORG }} |
| SENTRY_PROJECT: ${{ vars.WEB_SENTRY_PROJECT }} |
| SENTRY_RELEASE: unlock@${{ github.sha }} |
| VITE_SENTRY_DSN: ${{ vars.WEB_SENTRY_DSN }} |
| VITE_SENTRY_RELEASE: unlock@${{ github.sha }} |
|
|