diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5ca33ae0..4040dad6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,3 +76,24 @@ jobs: chmod u+x .github/workflows/freebsd-build.sh .github/workflows/ci-run-tests.sh .github/workflows/freebsd-build.sh x86_64 .github/workflows/ci-run-tests.sh + + build-and-push-docker-image: + needs: [build-linux, build-osx, build-freebsd] + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/master' + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Docker Hub login + env: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + run: echo $DOCKER_PASSWORD | docker login --username $DOCKER_USERNAME --password-stdin + + - name: Build docker image + run: docker build -t kcov/kcov:latest . + + - name: Push to Docker Hub + run: docker push kcov/kcov:latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c46e169c..30555213 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,9 +28,34 @@ jobs: name: kcov-${{ matrix.arch }}.tar.gz path: kcov-${{ matrix.arch }}.tar.gz + + build-and-push-docker-image: + needs: [build] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Get git tag + id: tag + uses: dawidd6/action-get-tag@v1 + + - name: Docker Hub login + env: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + run: echo $DOCKER_PASSWORD | docker login --username $DOCKER_USERNAME --password-stdin + + - name: Build docker image + run: docker build -t kcov/kcov:${{ steps.tag.outputs.tag }} . + + - name: Push to Docker Hub + run: docker push kcov/kcov:${{ steps.tag.outputs.tag }} + create_release: name: Create release - needs: build + needs: [build-and-push-docker-image] runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v2