Skip to content

MIR-1329 Reenable support for validation of PDF/A documents #2297

MIR-1329 Reenable support for validation of PDF/A documents

MIR-1329 Reenable support for validation of PDF/A documents #2297

Workflow file for this run

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