From dd01b90afd26b3ade224447ec42374ef47b6d78c Mon Sep 17 00:00:00 2001 From: Alex Miller Date: Thu, 28 Apr 2022 18:19:34 -0400 Subject: [PATCH] github: initial docker workflow Builds a Docker image for tags starting with 'v' The image repository name is defined by environment variable DOCKER_REPO, which defaults to: lightninglabs/loop To override it, if you want to publish the image to your own DockerHub account, define a Github Actions secret named DOCKER_REPO with the full image repo name such as: /loop --- .github/workflows/docker.yml | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/docker.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..1c87d7f --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,44 @@ +name: Docker image build + +on: + push: + tags: + - 'v*' + +defaults: + run: + shell: bash + +jobs: + main: + runs-on: ubuntu-latest + steps: + - name: Set up QEMU + uses: lightninglabs/gh-actions/setup-qemu-action@2021.01.25.00 + + - name: Set up Docker buildx + uses: lightninglabs/gh-actions/setup-buildx-action@2021.01.25.00 + + - name: Login to DockerHub + uses: lightninglabs/gh-actions/login-action@2021.01.25.00 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_API_KEY }} + + - name: Set env + run: | + echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + DOCKER_REPO_DEFAULT=${{secrets.DOCKER_REPO}} + echo "DOCKER_REPO=${DOCKER_REPO_DEFAULT:-lightninglabs/loop}" >> $GITHUB_ENV + + - name: Build and push image + id: docker_build + uses: lightninglabs/gh-actions/build-push-action@2021.01.25.00 + with: + push: true + platforms: linux/amd64,linux/arm64 + tags: "${{ env.DOCKER_REPO }}:${{ env.RELEASE_VERSION }}" + build-args: checkout=${{ env.RELEASE_VERSION }} + + - name: Image digest + run: echo ${{ steps.docker_build.outputs.digest }}