diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 49758b6..4895664 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -10,7 +10,8 @@ on: jobs: # define job to build and publish docker image - build-and-push-docker-image: + + build-docker-image: name: Build Docker image and push to repositories # run only when code is compiling and tests are passing runs-on: ubuntu-latest @@ -23,6 +24,46 @@ jobs: - name: Checkout code uses: actions/checkout@v2 + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1 + + - name: Image digest + run: echo ${{ steps.docker_build.outputs.digest }} + + - name: Build image and push to Docker Hub and GitHub Container Registry + uses: docker/build-push-action@v2 + with: + # relative path to the place where source code with Dockerfile + # is located + context: . + file: docker/Dockerfile + # Note: tags has to be all lower-case + tags: | + glenux/teaching-boilerplate:latest + outputs: type=docker,dest=/tmp/teaching-boilerplate.image.tar + + - name: Set current date as env variable + run: echo "BUILD_VERSION=v$(date +'%Y%m%d_%H%M')" >> /tmp/env + + - name: Upload artifact + uses: actions/upload-artifact@v2 + with: + name: myimage + path: /tmp/teaching-boilerplate.image.tar + + test-docker-image: + name: Build Docker image and push to repositories + needs: build-docker-image + runs-on: ubuntu-latest + + steps: + + push-docker-image: + needs: test-docker-image + name: Build Docker image and push to repositories + runs-on: ubuntu-latest + steps: # setup Docker buld action - name: Set up Docker Buildx id: buildx @@ -48,6 +89,4 @@ jobs: # build on feature branches, push only on main branch push: ${{ github.ref == 'refs/heads/master' }} - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} - +#