Skip to content

Instantly share code, notes, and snippets.

@varqasim
Created November 22, 2020 16:44
Show Gist options
  • Save varqasim/fea1f6169145cf33e7b00a937c352202 to your computer and use it in GitHub Desktop.
Save varqasim/fea1f6169145cf33e7b00a937c352202 to your computer and use it in GitHub Desktop.
name: Pulumi Preview
on:
pull_request:
branches: [master, release, staging, development]
jobs:
preview:
name: Preview
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
fetch-depth: 1
- uses: actions/setup-node@v1
with:
node-version: "12"
- name: Install infra dependencies
run: cd infra && npm ci
- name: Run pulumi preview
uses: docker://pulumi/actions
with:
args: preview
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
MONGODB_ATLAS_PUBLIC_KEY: ${{ secrets.MONGODB_ATLAS_PUBLIC_KEY }}
MONGODB_ATLAS_PRIVATE_KEY: ${{ secrets.MONGODB_ATLAS_PRIVATE_KEY }}
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_ROOT: infra
PULUMI_CI: pr
- name: Inject slug/short variables
uses: rlespinasse/github-slug-action@v2.x
- name: Create PR_STACK_NAME env variable
run: echo "PR_STACK_NAME=$(echo $GITHUB_BASE_REF_SLUG | cut -c 1-3)-$(echo $GITHUB_HEAD_REF_SLUG | cut -c 1-15 | sed 's:-*$::')" >> $GITHUB_ENV
- name: Create a new stack and deploy resources
run: cd infra/automation && node index.js
env:
PR_STACK_NAME: ${{ env.PR_STACK_NAME }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
MONGODB_ATLAS_PUBLIC_KEY: ${{ secrets.MONGODB_ATLAS_PUBLIC_KEY }}
MONGODB_ATLAS_PRIVATE_KEY: ${{ secrets.MONGODB_ATLAS_PRIVATE_KEY }}
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_ROOT: infra
PULUMI_CI: pr
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment