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 93%
rename from .github/workflows/verify-push.yaml
rename to .github/workflows/quay-push.yaml
index 72cc4c5..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:
@@ -9,15 +9,14 @@ on:
- cron: '0 0 * * *' # every day at midnight
env:
- IMAGE_REGISTRY: quay.io
- IMAGE_NAMESPACE: redhat-github-actions
IMAGE_NAME: ptr-test
IMAGE_TAGS: v1 ${{ github.sha }}
- MVN_REPO_DIR: ~/.m2/repository
+ IMAGE_REGISTRY: quay.io
+ IMAGE_NAMESPACE: redhat-github-actions
jobs:
- build-and-push:
- name: Build and push image to Quay.io
+ push-quay:
+ name: Build and push image
runs-on: ubuntu-20.04
strategy:
fail-fast: false
diff --git a/README.md b/README.md
index 96371b7..bc5da29 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,12 @@
# push-to-registry
[](https://github.com/redhat-actions/push-to-registry/actions?query=workflow%3A%22CI+checks%22)
-[](https://github.com/redhat-actions/push-to-registry/actions?query=workflow%3A%22Build+and+Push%22)
+[](https://github.com/redhat-actions/push-to-registry/actions?query=workflow%3A%22Link+checker%22)
+
+[](https://github.com/redhat-actions/push-to-registry/actions/workflows/quay-push.yaml)
+[](https://github.com/redhat-actions/push-to-registry/actions/workflows/ghcr-push.yaml)
[](https://github.com/redhat-actions/push-to-registry/actions?query=workflow%3A%22Login+and+Push%22)
[](https://github.com/redhat-actions/push-to-registry/actions?query=workflow%3A%22Multiple+container+CLI+build+tests%22)
-[](https://github.com/redhat-actions/push-to-registry/actions?query=workflow%3A%22Link+checker%22)
[](https://github.com/redhat-actions/push-to-registry/tags)
[](./LICENSE)
@@ -94,6 +96,8 @@ jobs:
run: echo "Image pushed to ${{ steps.push-to-quay.outputs.registry-paths }}"
```
+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
This action uses `Podman` to push, but can also push images built with `Docker`. However, Docker and Podman store their images in different locations, and Podman can only push images in its own storage.