Nightly Build #57
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: Nightly Build | |
on: | |
workflow_dispatch | |
jobs: | |
# Builds documentation pdf file in cli/target/package and uploads artifact to docs | |
build-documentation: | |
name: Build documentation | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Set up JDK | |
uses: actions/setup-java@v1 | |
with: | |
java-version: '17' | |
- name: Make documentation available | |
run: | | |
cd documentation | |
mvn -B -ntp -Dstyle.color=always -DskipTests=true package | |
- name: Upload documentation | |
uses: actions/upload-artifact@v4 | |
with: | |
name: docs | |
path: documentation/target/generated-docs/*.pdf | |
# Builds all native images and uploads artifacts to images | |
build-natives: | |
name: Build native images | |
needs: build-documentation | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ windows-latest ] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: graalvm/setup-graalvm@v1 | |
with: | |
java-version: '21.0.2' | |
distribution: 'graalvm' | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
native-image-job-reports: 'true' | |
- name: Build native image | |
shell: bash | |
run: | | |
cd cli | |
mvn -B -ntp -Pnative -DskipTests=true compile | |
- name: Upload native image | |
uses: actions/upload-artifact@v4 | |
with: | |
name: natives-${{ matrix.os }} | |
path: cli/target/ideasy* | |
# Downloads all native image artifacts to cli/target and builds the project for deployment to OSSRH Nexus | |
deploy: | |
name: Build Project and Deploy | |
needs: [ build-documentation, build-natives ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Set up JDK | |
uses: actions/setup-java@v1 | |
with: | |
java-version: '17' | |
- name: Download documentation | |
uses: actions/download-artifact@v4 | |
with: | |
name: docs | |
path: ./cli/target/package | |
- name: Download natives and build project | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: natives-* | |
path: ./cli/target/ | |
- run: | | |
mvn -B -ntp -Dstyle.color=always -Passembly install | |
- name: Upload project | |
uses: actions/upload-artifact@v4 | |
with: | |
path: ./cli/target/*.tgz | |
- name: Deploy to OSSRH nexus | |
env: | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
run: mvn --settings .mvn/settings.xml -DskipTests=true -Darchetype.test.skip=true -Dmaven.install.skip=true -Dgpg.skip=true -Dstyle.color=always -B -ntp -Pdeploy deploy |