The team was accidentally deleted when both auth-wg and auth-maintainers existed in state pointing to the same GitHub team. Need to clear stale state so Pulumi can create fresh resources.
82 lines
No EOL
3.1 KiB
YAML
82 lines
No EOL
3.1 KiB
YAML
name: Deploy
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
PULUMI_VERSION: "3.197.0"
|
|
|
|
jobs:
|
|
deploy-production:
|
|
name: Deploy to Production
|
|
runs-on: ubuntu-latest
|
|
environment: production
|
|
concurrency:
|
|
group: deploy-production
|
|
cancel-in-progress: false
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '22'
|
|
cache: 'npm'
|
|
|
|
- name: Setup Pulumi
|
|
uses: pulumi/actions@v6
|
|
with:
|
|
pulumi-version: ${{ env.PULUMI_VERSION }}
|
|
|
|
- name: Cache Pulumi plugins
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.pulumi/plugins
|
|
key: pulumi-plugins-${{ hashFiles('Pulumi.yaml') }}
|
|
restore-keys: |
|
|
pulumi-plugins-
|
|
|
|
- name: Install Pulumi packages
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
run: pulumi install
|
|
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
|
|
- name: Build
|
|
run: npm run build
|
|
|
|
- name: Authenticate to Google Cloud
|
|
uses: google-github-actions/auth@v2
|
|
with:
|
|
credentials_json: ${{ secrets.GCP_PROD_SERVICE_ACCOUNT_KEY }}
|
|
|
|
- name: Deploy to Production
|
|
env:
|
|
PULUMI_PASSPHRASE: ${{ secrets.PULUMI_PROD_PASSPHRASE }}
|
|
GITHUB_TOKEN: ${{ secrets.PULUMI_GITHUB_TOKEN }}
|
|
DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_BOT_TOKEN }}
|
|
DISCORD_GUILD_ID: ${{ secrets.DISCORD_GUILD_ID }}
|
|
run: |
|
|
echo "$PULUMI_PASSPHRASE" > passphrase.prod.txt
|
|
export PULUMI_CONFIG_PASSPHRASE_FILE=passphrase.prod.txt
|
|
pulumi login gs://mcp-access-prod-pulumi-state
|
|
pulumi config set discord:guildId "$DISCORD_GUILD_ID" --stack prod
|
|
pulumi config set discord:botToken "$DISCORD_BOT_TOKEN" --secret --stack prod
|
|
# Delete stale auth-maintainers resources from state (team was deleted, need fresh creation)
|
|
pulumi state delete 'urn:pulumi:prod::mcp-access::github:index/team:Team::auth-maintainers' --stack prod --yes || true
|
|
pulumi state delete 'urn:pulumi:prod::mcp-access::github:index/teamMembership:TeamMembership::dsp-auth-maintainers' --stack prod --yes || true
|
|
pulumi state delete 'urn:pulumi:prod::mcp-access::github:index/teamMembership:TeamMembership::dsp-ant-auth-maintainers' --stack prod --yes || true
|
|
pulumi state delete 'urn:pulumi:prod::mcp-access::github:index/teamMembership:TeamMembership::pcarleton-auth-maintainers' --stack prod --yes || true
|
|
pulumi state delete 'urn:pulumi:prod::mcp-access::github:index/teamMembership:TeamMembership::aaronpk-auth-maintainers' --stack prod --yes || true
|
|
pulumi state delete 'urn:pulumi:prod::mcp-access::github:index/teamMembership:TeamMembership::localden-auth-maintainers' --stack prod --yes || true
|
|
pulumi state delete 'urn:pulumi:prod::mcp-access::github:index/teamMembership:TeamMembership::D-McAdams-auth-maintainers' --stack prod --yes || true
|
|
make up |