Update Documentation Deployment #17
Workflow file for this run
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: Deployment | |
on: | |
pull_request: | |
branches: | |
- develop | |
jobs: | |
find_version: | |
name: Find Release Version | |
runs-on: ubuntu-latest | |
outputs: | |
RELEASE_VERSION: ${{ steps.step_find.outputs.RELEASE_VERSION }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'adopt' | |
cache: 'maven' | |
- name: 'Find velease version' | |
run: echo "RELEASE_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_OUTPUT | |
id: step_find | |
deploy_to_maven: | |
name: Deploy to Maven Repository | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'adopt' | |
cache: 'maven' | |
- name: Compile jar | |
run: mvn package -Dmaven.test.skip=true | |
- name: 'Upload artifact' | |
uses: actions/upload-artifact@v4 | |
with: | |
if-no-files-found: error | |
name: 'iguana-jar' | |
path: 'target/' | |
compile_native: | |
name: Compile Native Executable | |
runs-on: ubuntu-latest | |
needs: find_version | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up GraalVM | |
uses: graalvm/setup-graalvm@v1 | |
with: | |
java-version: '22' | |
cache: 'maven' | |
- name: 'Compile native-binary' | |
run: 'mvn -Dagent=true -Pnative package' | |
- name: 'Upload artifact' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: 'iguana-native' | |
path: 'target/iguana' | |
if-no-files-found: error | |
deploy_docs: | |
name: Deploy Documentation | |
runs-on: ubuntu-latest | |
needs: find_version | |
env: | |
RELEASE_VERSION: ${{ needs.find_version.outputs.RELEASE_VERSION }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'adopt' | |
cache: 'maven' | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.x | |
- run: pip install mkdocs-material | |
- run: pip install mkdocs-macros-plugin | |
- run: sed -i "s/\$RELEASE_VERSION/${{ env.RELEASE_VERSION }}/g" mkdocs.yml | |
- run: mkdocs build -d site/${{ env.RELEASE_VERSION }} | |
- run: mvn javadoc:javadoc | |
- run: ls schema | |
- name: Find Ontology Version | |
run: echo "ONTOLOGY_VERSION=$(grep 'versionIRI' schema/iguana.owx | grep -Po '[0-9]+.[0-9]+.[0-9]+')" >> $GITHUB_OUTPUT | |
id: find_ontology_version | |
- name: Fetch Ontologies | |
run: git fetch && git checkout origin/gh-pages ontology/ | |
- run: mkdir -p ontology/${{ steps.find_ontology_version.outputs.ONTOLOGY_VERSION }} | |
- run: cp schema/iguana.owx ontology/${{ steps.find_ontology_version.outputs.ONTOLOGY_VERSION }}/iguana.owx | |
- run: cp schema/iguana.owx ontology/iguana.owx | |
- name: 'Upload artifact' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: 'ontology' | |
path: 'ontology/' | |
if-no-files-found: error | |
- name: 'Upload artifact' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: 'mkdocs-site' | |
path: './site/${{ env.RELEASE_VERSION }}' | |
if-no-files-found: error | |
- name: 'Upload artifact' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: 'javadocs' | |
path: './javadoc/${{ env.RELEASE_VERSION }}/apidocs' | |
if-no-files-found: error | |
deploy_gh_release: | |
runs-on: ubuntu-latest | |
needs: [compile_native, deploy_to_maven, find_version] | |
env: | |
RELEASE_VERSION: ${{ needs.find_version.outputs.RELEASE_VERSION }} | |
steps: | |
- name: Download artifacts from previous jobs | |
uses: actions/download-artifact@v4 | |
with: | |
path: artifacts/ | |
merge-multiple: true | |
- name: Prepare files | |
run: | | |
mkdir iguana | |
cp artifacts/start-iguana.sh iguana/ | |
cp artifacts/iguana.jar iguana/iguana.jar | |
cp artifacts/iguana iguana/iguana | |
cp example-suite.yml iguana/ | |
zip -r iguana-${{ env.RELEASE_VERSION }}.zip iguana/ | |
- name: 'Upload artifact' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: 'release' | |
path: 'iguana-${{ env.RELEASE_VERSION }}.zip' | |
if-no-files-found: error |