diff --git a/.github/workflows/ghcr-push.yaml b/.github/workflows/ghcr-push.yaml new file mode 100644 index 0000000..40160f2 --- /dev/null +++ b/.github/workflows/ghcr-push.yaml @@ -0,0 +1,65 @@ +# This workflow will perform a test whenever there +# is some change in code done to ensure that the changes +# are not buggy and we are getting the desired output. +name: Push to GHCR +on: + push: + workflow_dispatch: + schedule: + - cron: '0 0 * * *' # every day at midnight +env: + IMAGE_NAME: ptr-test + IMAGE_TAGS: v1 ${{ github.sha }} + IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} + REGISTRY_USER: ${{ github.actor }} + REGISTRY_PASSWORD: ${{ github.token }} + +jobs: + push-ghcr: + name: Build and push image + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + install_latest: [ true, false ] + + steps: + # Checkout push-to-registry action github repository + - name: Checkout Push to Registry action + uses: actions/checkout@v2 + + - name: Install latest podman + if: matrix.install_latest + run: | + bash .github/install_latest_podman.sh + + # Build image using Buildah action + - name: Build Image + id: build_image + uses: redhat-actions/buildah-build@v2 + with: + image: ${{ env.IMAGE_NAME }} + tags: ${{ env.IMAGE_TAGS }} + base-image: busybox:latest + entrypoint: | + bash + -c + echo 'hello world' + oci: true + + # Push the image to GHCR (Image Registry) + - name: Push To GHCR + uses: ./ + id: push + with: + image: ${{ steps.build_image.outputs.image }} + tags: ${{ steps.build_image.outputs.tags }} + registry: ${{ env.IMAGE_REGISTRY }} + username: ${{ env.REGISTRY_USER }} + password: ${{ env.REGISTRY_PASSWORD }} + extra-args: | + --disable-content-trust + + - name: Echo outputs + run: | + echo "${{ toJSON(steps.push.outputs) }}" diff --git a/.github/workflows/verify-push.yaml b/.github/workflows/quay-push.yaml similarity index 50% rename from .github/workflows/verify-push.yaml rename to .github/workflows/quay-push.yaml index 3499549..e8324b1 100644 --- a/.github/workflows/verify-push.yaml +++ b/.github/workflows/quay-push.yaml @@ -1,7 +1,7 @@ # This workflow will perform a test whenever there # is some change in code done to ensure that the changes # are not buggy and we are getting the desired output. -name: Build and Push +name: Push to Quay.io on: push: workflow_dispatch: @@ -11,14 +11,13 @@ on: env: IMAGE_NAME: ptr-test IMAGE_TAGS: v1 ${{ github.sha }} + IMAGE_REGISTRY: quay.io + IMAGE_NAMESPACE: redhat-github-actions jobs: push-quay: - name: Build and push image to Quay.io + name: Build and push image runs-on: ubuntu-20.04 - env: - IMAGE_REGISTRY: quay.io - IMAGE_NAMESPACE: redhat-github-actions strategy: fail-fast: false matrix: @@ -64,56 +63,3 @@ jobs: - name: Echo outputs run: | echo "${{ toJSON(steps.push.outputs) }}" - - push-ghcr: - name: Build and push image to GHCR - runs-on: ubuntu-20.04 - env: - IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} - REGISTRY_USER: ${{ github.actor }} - REGISTRY_PASSWORD: ${{ github.token }} - strategy: - fail-fast: false - matrix: - install_latest: [ true, false ] - - steps: - # Checkout push-to-registry action github repository - - name: Checkout Push to Registry action - uses: actions/checkout@v2 - - - name: Install latest podman - if: matrix.install_latest - run: | - bash .github/install_latest_podman.sh - - # Build image using Buildah action - - name: Build Image - id: build_image - uses: redhat-actions/buildah-build@v2 - with: - image: ${{ env.IMAGE_NAME }} - tags: ${{ env.IMAGE_TAGS }} - base-image: busybox:latest - entrypoint: | - bash - -c - echo 'hello world' - oci: true - - # Push the image to GHCR (Image Registry) - - name: Push To GHCR - uses: ./ - id: push - with: - image: ${{ steps.build_image.outputs.image }} - tags: ${{ steps.build_image.outputs.tags }} - registry: ${{ env.IMAGE_REGISTRY }} - username: ${{ env.REGISTRY_USER }} - password: ${{ env.REGISTRY_PASSWORD }} - extra-args: | - --disable-content-trust - - - name: Echo outputs - run: | - echo "${{ toJSON(steps.push.outputs) }}" diff --git a/README.md b/README.md index b5e2381..bc5da29 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@ # push-to-registry [![CI checks](https://github.com/redhat-actions/push-to-registry/workflows/CI%20checks/badge.svg)](https://github.com/redhat-actions/push-to-registry/actions?query=workflow%3A%22CI+checks%22) -[![Build and Push](https://github.com/redhat-actions/push-to-registry/workflows/Build%20and%20Push/badge.svg)](https://github.com/redhat-actions/push-to-registry/actions?query=workflow%3A%22Build+and+Push%22) +[![Link checker](https://github.com/redhat-actions/push-to-registry/workflows/Link%20checker/badge.svg)](https://github.com/redhat-actions/push-to-registry/actions?query=workflow%3A%22Link+checker%22) +

+[![Push to Quay.io](https://github.com/redhat-actions/push-to-registry/actions/workflows/quay-push.yaml/badge.svg)](https://github.com/redhat-actions/push-to-registry/actions/workflows/quay-push.yaml) +[![Push to GHCR](https://github.com/redhat-actions/push-to-registry/actions/workflows/ghcr-push.yaml/badge.svg)](https://github.com/redhat-actions/push-to-registry/actions/workflows/ghcr-push.yaml) [![Login and Push](https://github.com/redhat-actions/push-to-registry/workflows/Login%20and%20Push/badge.svg)](https://github.com/redhat-actions/push-to-registry/actions?query=workflow%3A%22Login+and+Push%22) [![Multiple container CLI build tests](https://github.com/redhat-actions/push-to-registry/workflows/Multiple%20container%20CLI%20build%20tests/badge.svg)](https://github.com/redhat-actions/push-to-registry/actions?query=workflow%3A%22Multiple+container+CLI+build+tests%22) -[![Link checker](https://github.com/redhat-actions/push-to-registry/workflows/Link%20checker/badge.svg)](https://github.com/redhat-actions/push-to-registry/actions?query=workflow%3A%22Link+checker%22)

[![tag badge](https://img.shields.io/github/v/tag/redhat-actions/push-to-registry)](https://github.com/redhat-actions/push-to-registry/tags) [![license badge](https://img.shields.io/github/license/redhat-actions/push-to-registry)](./LICENSE) @@ -94,7 +96,7 @@ jobs: run: echo "Image pushed to ${{ steps.push-to-quay.outputs.registry-paths }}" ``` -Refer to [examples](./.github/workflows/verify-push.yaml) for complete example of push to [GitHub Container Registry (GHCR)](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry). +Refer to [GHCR push example](./.github/workflows/ghcr-push.yaml) for complete example of push to [GitHub Container Registry (GHCR)](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry). ## Note about images built with Docker