From 9a50bdf27cac29ec6bd79732b447cf2de8b254ea Mon Sep 17 00:00:00 2001 From: Jossef Harush Date: Tue, 16 Mar 2021 11:13:18 +0200 Subject: [PATCH] ci(): push to dockerhub + automatic release --- .github/workflows/docker-image.yml | 58 ++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .github/workflows/docker-image.yml diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 0000000..424fac8 --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,58 @@ +name: Docker Image CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Get semantic release info + id: semantic_release_info + uses: jossef/action-semantic-release-info@v1 + env: + GITHUB_TOKEN: ${{ github.token }} + + - name: Build the Docker image + run: docker build . --file Dockerfile --tag dustico/dusti-lock:${{ steps.semantic_release_info.outputs.git_tag }} + + - name: Tag version + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git tag ${{ steps.semantic_release_info.outputs.git_tag }} + + - name: Push changes + uses: ad-m/github-push-action@v0.6.0 + with: + github_token: ${{ github.token }} + tags: true + + - name: Create GitHub release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ github.token }} + with: + tag_name: ${{ steps.semantic_release_info.outputs.git_tag }} + release_name: ${{ steps.semantic_release_info.outputs.git_tag }} + body: ${{ steps.semantic_release_info.outputs.notes }} + draft: false + prerelease: false + + - name: Docker login + env: + DOCKER_USER: ${{secrets.DOCKER_USER}} + DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}} + run: | + docker login -u $DOCKER_USER -p $DOCKER_PASSWORD + + - name: Docker push + run: docker push dustico/dusti-lock