Skip to content

Clarin9/Make default search items-only, configurable via discovery.cf… #3907

Clarin9/Make default search items-only, configurable via discovery.cf…

Clarin9/Make default search items-only, configurable via discovery.cf… #3907

Workflow file for this run

# DSpace Docker image build for hub.docker.com
name: Docker images
# Run this Build for all pushes to 'dtq-dev-9-base' (the CLARIN/DSpace 9 base branch).
# Also run for PRs to ensure PR doesn't break Docker build process (PRs build, but do not push).
# NOTE: uses the "reusable-docker-build.yml" from the 'dtq-dev' branch to actually build each of the
# Docker images. That is the same reusable workflow which builds our 'dtq-dev' and 'customer/*' images,
# and it pushes straight to hub.docker.com/u/dataquest. The vanilla DSpace copy of
# "reusable-docker-build.yml" that lives on this branch is NOT usable here: it builds via
# 'ghcr.io/<image_name>', which resolves to 'ghcr.io/dataquest/...' -- a namespace this org does not own.
on:
push:
branches:
- dtq-dev-9-base
pull_request:
workflow_dispatch:
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
####################################################
# Build/Push the 'dataquest/dspace-dependencies' image.
# This image is used by all other DSpace build jobs.
####################################################
dspace-dependencies:
# Ensure this job never runs on forked repos. It's only executed for 'dataquest-dev/DSpace'
if: github.repository == 'dataquest-dev/dspace'
uses: dataquest-dev/DSpace/.github/workflows/reusable-docker-build.yml@dtq-dev
with:
build_id: dspace-dependencies
image_name: dataquest/dspace-dependencies
dockerfile_path: ./Dockerfile.dependencies
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_ACCESS_TOKEN: ${{ secrets.DOCKER_ACCESS_TOKEN }}
#######################################
# Build/Push the 'dataquest/dspace' image
#######################################
dspace:
# Ensure this job never runs on forked repos. It's only executed for 'dataquest-dev/DSpace'
if: github.repository == 'dataquest-dev/dspace'
# Must run after 'dspace-dependencies' job above
needs: dspace-dependencies
uses: dataquest-dev/DSpace/.github/workflows/reusable-docker-build.yml@dtq-dev
with:
build_id: dspace-prod
image_name: dataquest/dspace
dockerfile_path: ./Dockerfile
run_python_version_script: true
# Must match 'build.version.file.path' in dspace/config/clarin-dspace.cfg
python_version_script_dest: dspace/config/VERSION_D.txt
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_ACCESS_TOKEN: ${{ secrets.DOCKER_ACCESS_TOKEN }}
#############################################################
# Build/Push the 'dataquest/dspace' image ('-test' tag)
#############################################################
dspace-test:
# Ensure this job never runs on forked repos. It's only executed for 'dataquest-dev/DSpace'
if: github.repository == 'dataquest-dev/dspace'
# Must run after 'dspace-dependencies' job above
needs: dspace-dependencies
uses: dataquest-dev/DSpace/.github/workflows/reusable-docker-build.yml@dtq-dev
with:
build_id: dspace-test
image_name: dataquest/dspace
dockerfile_path: ./Dockerfile.test
# As this is a test/development image, its tags are all suffixed with "-test". Otherwise, it uses the same
# tagging logic as the primary 'dataquest/dspace' image above.
tags_flavor: suffix=-test
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_ACCESS_TOKEN: ${{ secrets.DOCKER_ACCESS_TOKEN }}
###########################################
# Build/Push the 'dataquest/dspace-cli' image
###########################################
dspace-cli:
# Ensure this job never runs on forked repos. It's only executed for 'dataquest-dev/DSpace'
if: github.repository == 'dataquest-dev/dspace'
# Must run after 'dspace-dependencies' job above
needs: dspace-dependencies
uses: dataquest-dev/DSpace/.github/workflows/reusable-docker-build.yml@dtq-dev
with:
build_id: dspace-cli
image_name: dataquest/dspace-cli
dockerfile_path: ./Dockerfile.cli
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_ACCESS_TOKEN: ${{ secrets.DOCKER_ACCESS_TOKEN }}
###########################################
# Build/Push the 'dataquest/dspace-solr' image
###########################################
dspace-solr:
# Ensure this job never runs on forked repos. It's only executed for 'dataquest-dev/DSpace'
if: github.repository == 'dataquest-dev/dspace'
uses: dataquest-dev/DSpace/.github/workflows/reusable-docker-build.yml@dtq-dev
with:
build_id: dspace-solr
image_name: dataquest/dspace-solr
dockerfile_path: ./dspace/src/main/docker/dspace-solr/Dockerfile
# Must pass solrconfigs to the Dockerfile so that it can find the required Solr config files
dockerfile_additional_contexts: 'solrconfigs=./dspace/solr/'
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_ACCESS_TOKEN: ${{ secrets.DOCKER_ACCESS_TOKEN }}
########################################################
# Build/Push the 'dataquest/dspace-postgres-loadsql' image
########################################################
dspace-postgres-loadsql:
# Ensure this job never runs on forked repos. It's only executed for 'dataquest-dev/DSpace'
if: github.repository == 'dataquest-dev/dspace'
uses: dataquest-dev/DSpace/.github/workflows/reusable-docker-build.yml@dtq-dev
with:
build_id: dspace-postgres-loadsql
image_name: dataquest/dspace-postgres-loadsql
# Must build out of subdirectory to have access to install script.
# NOTE: this context will build the image based on the Dockerfile in the specified directory
dockerfile_context: ./dspace/src/main/docker/dspace-postgres-loadsql/
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_ACCESS_TOKEN: ${{ secrets.DOCKER_ACCESS_TOKEN }}