Skip to content

Update ocfl-java version and package names #895

Update ocfl-java version and package names

Update ocfl-java version and package names #895

Workflow file for this run

# This workflow will build a Java project with Maven
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven
name: Build
on:
push:
branches:
- "**"
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
strategy:
max-parallel: 1
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
java: ['11']
experimental: [false]
# JDK 17 build testing. Allowed to fail as marked experimental
include:
- java: 17
os: ubuntu-latest
experimental: true
steps:
- name: Git support longpaths
run: git config --global core.longpaths true
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'maven'
- name: Build with Maven
run: mvn -B -U clean install
postgres-itest:
runs-on: ubuntu-latest
strategy:
max-parallel: 1
matrix:
java: ['11']
services:
postgres:
image: postgres:12
env:
POSTGRES_USER: fcrepo-user
POSTGRES_PASSWORD: fcrepo-pw
POSTGRES_DB: fcrepo
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Git support longpaths
run: git config --global core.longpaths true
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'maven'
- name: Build with Maven
run: mvn -B -U -Dfcrepo.db.url="jdbc:postgresql://localhost:5432/fcrepo" -Dfcrepo.db.user="fcrepo-user" -Dfcrepo.db.password="fcrepo-pw" clean install -P db-test
mariadb-itest:
runs-on: ubuntu-latest
strategy:
max-parallel: 1
matrix:
java: ['11']
services:
postgres:
image: mariadb:10.5
env:
MYSQL_ROOT_PASSWORD: root-pw
MYSQL_DATABASE: fcrepo
MYSQL_USER: fcrepo-user
MYSQL_PASSWORD: fcrepo-pw
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=5
ports:
- 3306:3306
steps:
- name: Git support longpaths
run: git config --global core.longpaths true
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'maven'
- name: Build with Maven
run: mvn -B -U -Dfcrepo.db.url="jdbc:mariadb://localhost:3306/fcrepo" -Dfcrepo.db.user="fcrepo-user" -Dfcrepo.db.password="fcrepo-pw" clean install -P db-test
mysql-itest:
runs-on: ubuntu-latest
strategy:
max-parallel: 1
matrix:
java: ['11']
services:
postgres:
image: mysql:8
env:
MYSQL_ROOT_PASSWORD: root-pw
MYSQL_DATABASE: fcrepo
MYSQL_USER: fcrepo-user
MYSQL_PASSWORD: fcrepo-pw
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=5
ports:
- 3306:3306
steps:
- name: Git support longpaths
run: git config --global core.longpaths true
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'maven'
- name: Build with Maven
run: mvn -B -U -Dfcrepo.db.url="jdbc:mysql://localhost:3306/fcrepo" -Dfcrepo.db.user="fcrepo-user" -Dfcrepo.db.password="fcrepo-pw" clean install -P db-test
deploy:
if: github.ref == 'refs/heads/main'
needs: [build, postgres-itest, mariadb-itest, mysql-itest]
runs-on: ubuntu-latest
steps:
- name: Git support longpaths
run: git config --global core.longpaths true
- name: Checkout fcrepo
uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11
server-id: sonatype-nexus-snapshots
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
# https://github.com/actions/setup-java/issues/43
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: GPG_PASSPHRASE
- name: Publish package
run: mvn -U -B -DskipTests=true deploy
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
- name: Checkout fcrepo-docker
uses: actions/checkout@v4
with:
repository: fcrepo-exts/fcrepo-docker
path: fcrepo-docker
- name: Deploy Docker image
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
run: |
FCREPO_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout)
cd fcrepo-docker
echo "build and push image to dockerhub"
./build-and-push-to-dockerhub.sh ../fcrepo-webapp/target/fcrepo-webapp-${FCREPO_VERSION}.war ${FCREPO_VERSION}