mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 10:04:21 +00:00
Ensure non-PRs run image build twice. First for a DockerHub image, then to export a local tarball. Since these are different image types they cannot be combined
This commit is contained in:
41
.github/workflows/reusable-docker-build.yml
vendored
41
.github/workflows/reusable-docker-build.yml
vendored
@@ -151,23 +151,10 @@ jobs:
|
||||
context: ${{ inputs.dockerfile_context }}
|
||||
file: ${{ inputs.dockerfile_path }}
|
||||
platforms: ${{ matrix.arch }}
|
||||
push: true
|
||||
# Use tags / labels provided by 'docker/metadata-action' above
|
||||
tags: ${{ steps.meta_build.outputs.tags }}
|
||||
labels: ${{ steps.meta_build.outputs.labels }}
|
||||
# Export image to both Docker registry & to a local TAR file
|
||||
outputs: |
|
||||
registry
|
||||
type=docker,dest=/tmp/${{ inputs.build_id }}.tar
|
||||
|
||||
# Upload the local docker image (in TAR file) to a build Artifact
|
||||
- name: Upload local image to artifact
|
||||
if: ${{ ! matrix.isPr }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: docker-image-${{ inputs.build_id }}-${{ env.ARCH_NAME }}
|
||||
path: /tmp/${{ inputs.build_id }}.tar
|
||||
if-no-files-found: error
|
||||
retention-days: 1
|
||||
|
||||
# Export the digest of Docker build locally (for non PRs only)
|
||||
- name: Export Docker build digest
|
||||
@@ -187,6 +174,32 @@ jobs:
|
||||
if-no-files-found: error
|
||||
retention-days: 1
|
||||
|
||||
# Build local image (again) and store in a TAR file in /tmp directory
|
||||
# NOTE: This cannot be combined with push to DockerHub registry above as it's a different type of output.
|
||||
- name: Build and push image to local image
|
||||
if: ${{ ! matrix.isPr }}
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
build-contexts: |
|
||||
${{ inputs.dockerfile_additional_contexts }}
|
||||
context: ${{ inputs.dockerfile_context }}
|
||||
file: ${{ inputs.dockerfile_path }}
|
||||
platforms: ${{ matrix.arch }}
|
||||
tags: ${{ steps.meta_build.outputs.tags }}
|
||||
labels: ${{ steps.meta_build.outputs.labels }}
|
||||
# Export image to a local TAR file
|
||||
outputs: type=docker,dest=/tmp/${{ inputs.build_id }}.tar
|
||||
|
||||
# Upload the local docker image (in TAR file) to a build Artifact
|
||||
- name: Upload local image to artifact
|
||||
if: ${{ ! matrix.isPr }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: docker-image-${{ inputs.build_id }}-${{ env.ARCH_NAME }}
|
||||
path: /tmp/${{ inputs.build_id }}.tar
|
||||
if-no-files-found: error
|
||||
retention-days: 1
|
||||
|
||||
# If this build is NOT a PR and passed in a REDEPLOY_SANDBOX_URL secret,
|
||||
# Then redeploy https://sandbox.dspace.org if this build is for our deployment architecture and 'main' branch.
|
||||
- name: Redeploy sandbox.dspace.org (based on main branch)
|
||||
|
Reference in New Issue
Block a user