From 44380a6431c8319011878c0423aed697a3c3ce33 Mon Sep 17 00:00:00 2001 From: Shwetha Radhakrishna Date: Fri, 4 Feb 2022 09:18:57 -0600 Subject: [PATCH] chore: merge test and gh release workflows (#452) * chore: merge test and gh release workflows --- .../{test.yml => test-and-deploy.yml} | 29 ++++++++++++++----- README.md | 2 +- sendgrid_test.go | 3 +- 3 files changed, 24 insertions(+), 10 deletions(-) rename .github/workflows/{test.yml => test-and-deploy.yml} (58%) diff --git a/.github/workflows/test.yml b/.github/workflows/test-and-deploy.yml similarity index 58% rename from .github/workflows/test.yml rename to .github/workflows/test-and-deploy.yml index edc8bcd9..51924384 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test-and-deploy.yml @@ -1,7 +1,8 @@ -name: Run Tests +name: Test and Deploy on: push: branches: [ '*' ] + tags: [ '*' ] pull_request: branches: [ main ] schedule: @@ -10,7 +11,7 @@ on: workflow_dispatch: jobs: - tests: + test: name: Build & Test runs-on: ubuntu-latest timeout-minutes: 20 @@ -35,18 +36,32 @@ jobs: - name: Run Tests run: make test-docker + deploy: + name: Deploy + if: success() && github.ref_type == 'tag' + needs: [ test ] + runs-on: ubuntu-latest + steps: + - name: Checkout sendgrid-go + uses: actions/checkout@v2 + + - name: Create GitHub Release + uses: sendgrid/dx-automator/actions/release@main + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + notify-on-failure: name: Slack notify on failure - if: ${{ failure() && github.ref == 'refs/heads/main' && github.event_name != 'pull_request' }} - needs: [ tests ] + if: failure() && github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref_type == 'tag') + needs: [ test, deploy ] runs-on: ubuntu-latest steps: - uses: rtCamp/action-slack-notify@v2 env: - SLACK_COLOR: 'failure' + SLACK_COLOR: failure SLACK_ICON_EMOJI: ':github:' - SLACK_MESSAGE: ${{ format('Failed running build on {1}{3} {0}/{1}/actions/runs/{2}', github.server_url, github.repository, github.run_id, ':') }} - SLACK_TITLE: Build Failure + SLACK_MESSAGE: ${{ format('Tests *{0}*, Deploy *{1}*, {2}/{3}/actions/runs/{4}', needs.test.result, needs.deploy.result, github.server_url, github.repository, github.run_id) }} + SLACK_TITLE: Action Failure - ${{ github.repository }} SLACK_USERNAME: GitHub Actions SLACK_MSG_AUTHOR: twilio-dx SLACK_FOOTER: Posted automatically using GitHub Actions diff --git a/README.md b/README.md index 62e0a7cc..60e502ee 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![Twilio SendGrid Logo](twilio_sendgrid_logo.png) -[![BuildStatus](https://github.com/sendgrid/sendgrid-go/actions/workflows/test.yml/badge.svg)](https://github.com/sendgrid/sendgrid-go/actions/workflows/test.yml) +[![Test and Deploy](https://github.com/sendgrid/sendgrid-go/actions/workflows/test-and-deploy.yml/badge.svg)](https://github.com/sendgrid/sendgrid-go/actions/workflows/test-and-deploy.yml) [![GoDoc](https://godoc.org/github.com/sendgrid/sendgrid-go?status.svg)](https://godoc.org/github.com/sendgrid/sendgrid-go) [![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Twitter Follow](https://img.shields.io/twitter/follow/sendgrid.svg?style=social&label=Follow)](https://twitter.com/sendgrid) diff --git a/sendgrid_test.go b/sendgrid_test.go index bae188ae..5c0070f9 100644 --- a/sendgrid_test.go +++ b/sendgrid_test.go @@ -30,8 +30,7 @@ func TestRepoFiles(t *testing.T) { "Dockerfile", ".env_sample", ".gitignore", - ".github/workflows/test.yml", - // ".codeclimate.yml", // TODO: uncomment this file + ".github/workflows/test-and-deploy.yml", "CHANGELOG.md", "CODE_OF_CONDUCT.md", "CONTRIBUTING.md",