From a33cb3f1f09aebd785418414256f53ddf14626e0 Mon Sep 17 00:00:00 2001 From: Attilio Greco Date: Mon, 11 Oct 2021 16:17:08 +0200 Subject: [PATCH] update --- .github/workflows/build-dockerimage.yml | 46 +++++++++++++++++++------ .github/workflows/build-image.yml | 7 +--- 2 files changed, 36 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build-dockerimage.yml b/.github/workflows/build-dockerimage.yml index 711d62e..50b667e 100644 --- a/.github/workflows/build-dockerimage.yml +++ b/.github/workflows/build-dockerimage.yml @@ -1,17 +1,41 @@ name: GitHub Actions Demo on: [push] + +env: + IMAGE_NAME: ghtoken_product_demo + jobs: - Explore-GitHub-Actions: + # Push image to GitHub Packages. + # See also https://docs.docker.com/docker-hub/builds/ + push: runs-on: ubuntu-latest + permissions: + packages: write + contents: read + steps: - - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." - - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" - - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." - - name: Check out repository code - uses: actions/checkout@v2 - - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." - - run: echo "🖥️ The workflow is now ready to test your code on the runner." - - name: List files in the repository + - uses: actions/checkout@v2 + + - name: Build image + run: docker build . --file Dockerfile --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" + + - name: Log in to registry + # This is where you will update the PAT to GITHUB_TOKEN + run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin + + - name: Push image run: | - ls ${{ github.workspace }} - - run: echo "🍏 This job's status is ${{ job.status }}." + IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME + + # Change all uppercase to lowercase + IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') + # Strip git ref prefix from version + VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') + # Strip "v" prefix from tag name + [[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//') + # Use Docker `latest` tag convention + [ "$VERSION" == "master" ] && VERSION=latest + echo IMAGE_ID=$IMAGE_ID + echo VERSION=$VERSION + docker tag $IMAGE_NAME $IMAGE_ID:$VERSION + docker push $IMAGE_ID:$VERSION diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index 63df609..e0be772 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -4,12 +4,7 @@ on: push: # Publish `master` as Docker `latest` image. branches: - - master - - seed - - # Publish `v1.2.3` tags as releases. - tags: - - v* + - main # Run tests for any PRs. pull_request: