MIR-1329 Add Property to enable PDF/A Validation in Workflow #2295
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test | |
on: [ push, pull_request ] | |
env: | |
MAVEN_OPTS: -Xmx1024M -Xss128M | |
GECKODRIVER_VERSION: 0.34.0 | |
BIBUTILS_VERSION: 7.2 | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Set up JDK | |
uses: actions/setup-java@v2 | |
with: | |
java-version: 21 | |
distribution: temurin | |
cache: maven | |
- name: Setup Gecko driver | |
uses: browser-actions/setup-geckodriver@latest | |
with: | |
geckodriver-version: ${{ env.GECKODRIVER_VERSION }} | |
- name: Fetch Bibutils cache | |
id: bibutils-cache | |
uses: actions/cache@v2 | |
with: | |
path: ~/bibutils | |
key: ${{ env.BIBUTILS_VERSION }} | |
- name: Fetch Bibutils | |
if: steps.bibutils-cache.outputs.cache-hit != 'true' | |
run: | | |
mkdir ~/bibutils | |
curl -L https://kumisystems.dl.sourceforge.net/project/bibutils/bibutils_${BIBUTILS_VERSION}_src.tgz | \ | |
tar -C ~/bibutils --strip-components=1 -xzvf- | |
cd ~/bibutils | |
./configure | |
make -j2 | |
- name: Setup firefox | |
id: setup-firefox | |
uses: browser-actions/setup-firefox@v1 | |
with: | |
firefox-version: latest-esr | |
- name: Setup Chrome | |
id: setup-chrome | |
uses: browser-actions/setup-chrome@v1 | |
with: | |
chrome-version: stable | |
- name: Setup Chromedriver | |
uses: nanasess/setup-chromedriver@v2 | |
with: | |
chromedriver-version: ${{ steps.setup-chrome.outputs.chrome-version }} | |
- name: Set up test dependencies | |
run: | | |
sudo apt install dbus-x11 | |
# Selenium wants to run non-ESR FF | |
sudo ln -sfn ${{ steps.setup-firefox.outputs.firefox-path }} /usr/bin/firefox | |
sudo ln -sfn ${{ steps.setup-firefox.outputs.firefox-path }} /usr/bin/firefox-esr | |
firefox --version | |
geckodriver --version | |
echo "${HOME}/bibutils/bin" >> $GITHUB_PATH | |
- name: Set current date as env variable | |
run: echo "BUILD_START=$(date +'%Y-%m-%d')" >> $GITHUB_ENV | |
- name: Build | |
run: | | |
export $(dbus-launch) | |
mkdir ~/tmp | |
export TMPDIR=~/tmp | |
export FIREFOX_BIN=$(which firefox-esr) | |
export SELENIUM_BROWSER=firefox | |
mvn -B -P!standard-with-extra-repos -U -Djetty -e clean install | |
mvn -P!standard-with-extra-repos -B javadoc:javadoc javadoc:test-javadoc -T1C | |
- name: Login to Docker Hub | |
if: contains('refs/heads/2022.06.x refs/heads/2023.06.x refs/heads/main', github.ref) && github.event_name=='push' && success() | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build the mir Docker images and push them | |
if: contains('refs/heads/2022.06.x refs/heads/2023.06.x refs/heads/main', github.ref) && github.event_name=='push' && success() | |
run: | | |
docker build . --file Dockerfile --tag mycoreorg/mir:${GITHUB_REF_NAME} --tag mycoreorg/mir:${GITHUB_REF_NAME}-${BUILD_START} | |
docker build mir-webapp/src/main/solr/ --file mir-webapp/src/main/solr/Dockerfile --tag mycoreorg/mir-solr:${GITHUB_REF_NAME} --tag mycoreorg/mir-solr:${GITHUB_REF_NAME}-${BUILD_START} | |
docker push mycoreorg/mir:${GITHUB_REF_NAME} | |
docker push mycoreorg/mir:${GITHUB_REF_NAME}-${BUILD_START} | |
docker push mycoreorg/mir-solr:${GITHUB_REF_NAME} | |
docker push mycoreorg/mir-solr:${GITHUB_REF_NAME}-${BUILD_START} | |
- name: Upload logs on build failure | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-results | |
path: | | |
./**/surefire-reports | |
./**/failsafe-reports | |
./**/screenshots | |
./**/*error*.log | |
./**/*test.log | |
~/.m2/repository/solr-*/server/logs/*.log | |
- name: Save Maven cache | |
uses: skjolber/maven-cache-github-action@v1 | |
with: | |
step: save |