Combine Maven repo directories #9
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: Build and deploy to GitHub Pages | |
on: [push, pull_request] | |
jobs: | |
build-javadoc: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: "17" | |
distribution: "temurin" | |
# Configure Gradle for optimal use in GiHub Actions, including caching of downloaded dependencies. | |
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0 | |
- name: Build Javadoc with Gradle Wrapper | |
run: ./gradlew javadoc | |
- name: Upload build artifact | |
uses: actions/[email protected] | |
with: | |
# Artifact name | |
name: javadoc | |
# A file, directory or wildcard pattern that describes what to upload | |
path: ./buttonbox-lib/build/docs/javadoc/ | |
build-library: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: "17" | |
distribution: "temurin" | |
# Configure Gradle for optimal use in GiHub Actions, including caching of downloaded dependencies. | |
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0 | |
- name: Build with Gradle Wrapper | |
run: ./gradlew build | |
- name: Publish with Gradle Wrapper | |
run: ./gradlew publish | |
- name: Upload Maven repository | |
uses: actions/[email protected] | |
with: | |
# Artifact name | |
name: maven | |
# A file, directory or wildcard pattern that describes what to upload | |
path: ./repos/ | |
- name: Upload ButtonBoxLib Vendordep | |
uses: actions/[email protected] | |
with: | |
# Artifact name | |
name: buttonbox-lib-vendordep | |
# A file, directory or wildcard pattern that describes what to upload | |
path: ./buttonbox-lib/build/outputs/ButtonBoxLib.json | |
- name: Upload ButtonBoxBridgeMIDI Vendordep | |
uses: actions/[email protected] | |
with: | |
# Artifact name | |
name: buttonbox-bridge-midi-vendordep | |
# A file, directory or wildcard pattern that describes what to upload | |
path: ./buttonbox-bridge-midi/build/outputs/ButtonBoxBridgeMIDI.json | |
combine: | |
needs: [build-javadoc, build-library] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download build artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: release | |
merge-multiple: true | |
- name: Upload GitHub Pages artifact | |
uses: actions/[email protected] | |
with: | |
# Path of the directory containing the static assets. | |
path: release | |
deploy: | |
# Add a dependency to the build job | |
needs: combine | |
# Don't try to deploy from branches or forks | |
if: github.repository_owner == 'roboblazers7617' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')) | |
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment | |
permissions: | |
pages: write # to deploy to Pages | |
id-token: write # to verify the deployment originates from an appropriate source | |
# Deploy to the github-pages environment | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
# Specify runner + deployment step | |
runs-on: ubuntu-latest | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 # or specific "vX.X.X" version tag for this action |