Skip to content

Instantly share code, notes, and snippets.

@varqasim
Created November 22, 2020 16:44
Show Gist options
  • Select an option

  • Save varqasim/fea1f6169145cf33e7b00a937c352202 to your computer and use it in GitHub Desktop.

Select an option

Save varqasim/fea1f6169145cf33e7b00a937c352202 to your computer and use it in GitHub Desktop.

Revisions

  1. varqasim created this gist Nov 22, 2020.
    50 changes: 50 additions & 0 deletions pull_request.yaml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,50 @@
    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/[email protected]

    - 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