name: Release Server on: release: types: - created jobs: docker: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v1 - id: get_tag name: Get Tag env: GITHUB_HEAD_REF: $${{ github.head_ref }} GITHUB_BASE_REF: ${{ github.base_ref }} run: | TAG=$(jq --raw-output '.release.tag_name' $GITHUB_EVENT_PATH) echo ::set-output name=TAG::$TAG - name: Push Tag to Docker Hub uses: opspresso/action-docker@master with: args: --docker env: USERNAME: ${{ secrets.DOCKER_USERNAME }} PASSWORD: ${{ secrets.DOCKER_PASSWORD }} BUILD_PATH: "server" DOCKERFILE: "server/Dockerfile" IMAGE_NAME: "josephbmanley/defend-together" TAG_NAME: ${{ steps.get_tag.outputs.TAG }} LATEST: "false" - name: Push Latest to Docker Hub uses: opspresso/action-docker@master with: args: --docker env: USERNAME: ${{ secrets.DOCKER_USERNAME }} PASSWORD: ${{ secrets.DOCKER_PASSWORD }} BUILD_PATH: "server" DOCKERFILE: "server/Dockerfile" IMAGE_NAME: "josephbmanley/defend-together" TAG_NAME: ${{ steps.get_tag.outputs.TAG }} LATEST: "true" - name: Push Tag to GitHub Package uses: opspresso/action-docker@master with: args: --docker env: USERNAME: ${{ github.actor }} PASSWORD: ${{ secrets.GITHUB_TOKEN }} REGISTRY: "docker.pkg.github.com" BUILD_PATH: "server" DOCKERFILE: "server/Dockerfile" IMAGE_NAME: "defend-together" TAG_NAME: ${{ steps.get_tag.outputs.TAG }} LATEST: "false" - name: Push Latest to GitHub Package uses: opspresso/action-docker@master with: args: --docker env: USERNAME: ${{ github.actor }} PASSWORD: ${{ secrets.GITHUB_TOKEN }} REGISTRY: "docker.pkg.github.com" BUILD_PATH: "server" DOCKERFILE: "server/Dockerfile" IMAGE_NAME: "defend-together" TAG_NAME: ${{ steps.get_tag.outputs.TAG }} LATEST: "true" cloudformation: runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@v2.1.0 with: submodules: 'true' - name: Ship to S3 uses: jakejarvis/s3-sync-action@master with: args: --follow-symlinks --delete env: SOURCE_DIR: infrastructure/cloudformation AWS_REGION: "us-east-1" DEST_DIR: dt/production/cloudformation AWS_S3_BUCKET: sumu-stacks AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: us-east-1 - name: Deploy to AWS CloudFormation uses: aws-actions/aws-cloudformation-github-deploy@v1 with: name: dt-infrastructure template: infrastructure/cloudformation/dt/top.yaml capabilities: "CAPABILITY_NAMED_IAM,CAPABILITY_IAM" parameter-overrides: VpcId=${{ secrets.VPC_ID }},Domain=${{ secrets.DOMAIN }},PublicSubnets=${{ secrets.SUBNET_IDS }}