Select Git revision
continuous_delivery.yaml
-
Will McCutchen authored
* Fix installation of deps * Rebuild static assets w/ newest go-bindata * Update go versions for CI * Fix deploy on merge * Bump golangci-lint version
Will McCutchen authored* Fix installation of deps * Rebuild static assets w/ newest go-bindata * Update go versions for CI * Fix deploy on merge * Bump golangci-lint version
continuous_delivery.yaml 2.25 KiB
# This workflow implements continuous delivery with automated testing and fully
# autonomous deploys to production on merge.
name: CD
# Translated: "Execute this workflow on pushes to main OR on pull requests
# opened against main"
#
# See this question and answer for what we're solving here:
# https://github.community/t5/GitHub-Actions/How-to-trigger-an-action-on-push-or-pull-request-but-not-both/m-p/36155#M2460
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: '1.18'
- name: Checkout
uses: actions/checkout@v2
- name: Build
run: make build
- name: Build docker image
run: make image
- name: Test
run: git show --stat && make testci
- name: Code coverage
uses: codecov/codecov-action@v1
with:
file: ./coverage.txt
regression_test:
name: Regression Tests
runs-on: ubuntu-latest
strategy:
matrix:
go_version:
- '1.17'
- '1.16'
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{matrix.go_version}}
- name: Checkout
uses: actions/checkout@v2
- name: Build
run: make build
- name: Test
run: make test
production_deploy:
name: Production Deploy
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest