.github/workflows/tag_test_push.yml
name: Tag Test Push
on:
push:
tags:
- '*'
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
with:
fetch-depth: '0'
- name: Test
uses: cedrickring/golang-action/go1.14@1.5.2
with:
args: go test ./... -coverprofile=coverage.txt -covermode=atomic -coverpkg=til-autoformat-readme
env:
GO111MODULE: on
GOFLAGS: -mod=vendor
- name: Upload Coverage to CodeCov
run: curl -s https://codecov.io/bash | bash -s -- -t ${{secrets.CODECOV_TOKEN}} -f ./coverage.txt
build_and_push:
name: Build and Push Images
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout
uses: actions/checkout@master
- name: Docker Login
run: |
echo "${{secrets.DOCKER_PASSWORD}}" | docker login -u ${{secrets.DOCKER_USERNAME}} --password-stdin;
- name: Build, Tag and Push
run: |
GITHUB_TAG=$(echo $GITHUB_REF | cut -d / -f 3);
TAG="cflynnus/github-action-til-autoformat-readme";
docker build . --file ./Dockerfile-source -t "$TAG:$GITHUB_TAG";
docker push "$TAG:$GITHUB_TAG";