Skip to content

publish-stable-aws

publish-stable-aws #84

name: publish-stable-aws
on:
repository_dispatch:
types: [publish-stable-aws]
jobs:
aws-publish:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12
registry-url: https://registry.npmjs.org/
- name: 'Install makensis (apt)'
run: sudo apt update && sudo apt install -y nsis nsis-pluginapi
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: ${{ secrets.AWS_ROLE_NAME }}
role-session-name: github-actions-from-toolbelt
aws-region: us-east-1
- name: Deploy on AWS
run: |
yarn install --ignore-scripts
yarn release
yarn release:win
env:
IS_CI: "true"
publish-success:
runs-on: ubuntu-latest
needs: [aws-publish]
steps:
- name: Get deploy version
id: deployed-version
run: echo '::set-output name=SOURCE_TAG::$(curl https://api.github.com/repos/vtex/toolbelt/releases/latest -s | jq .tag_name -r)'
- name: Trigger publish-stable-brew
uses: peter-evans/repository-dispatch@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
repository: vtex/homebrew-vtex
event-type: publish-stable-brew
- name: Trigger slack notification bot [Success]
run: 'curl --connect-timeout 30 --retry 3 --retry-delay 120 --data "status=success&user=${{ github.actor }}&platform=AWS-S3&version=${{ steps.deployed-version.outputs.SOURCE_TAG }}" --header "token: ${{ secrets.TOOLBELT_NOTIFICATION_KEY }}" https://master--vtex.myvtex.com/_v/public/toolbelt-notification/status'
publish-failed:
runs-on: ubuntu-latest
needs: [aws-publish]
if: failure()
steps:
- name: Get deploy version
id: deployed-version
run: echo '::set-output name=SOURCE_TAG::$(curl https://api.github.com/repos/vtex/toolbelt/releases/latest -s | jq .tag_name -r)'
- name: Trigger slack notification bot [Fail]
run: 'curl --connect-timeout 30 --retry 3 --retry-delay 120 --data "status=failed&user=${{ github.actor }}&platform=AWS-S3&version=${{ steps.deployed-version.outputs.SOURCE_TAG }}" --header "token: ${{ secrets.TOOLBELT_NOTIFICATION_KEY }}" https://master--vtex.myvtex.com/_v/public/toolbelt-notification/status'