name: CI on: push: branches: - main tags: - '*' pull_request: jobs: tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: install go uses: actions/setup-go@v2 with: go-version: 1.17 - name: Lint run: make lint - name: Tests run: make test deploy: runs-on: ubuntu-latest needs: tests if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') steps: - uses: actions/checkout@v2 - name: Set env run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV - name: Sign in to dockerhub run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin - name: Deploy image run: make docker-build VERSION=$RELEASE_VERSION