Distribution #12
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: "Distribution" | |
on: | |
push: | |
tags: [ '*' ] | |
jobs: | |
version: | |
name: Version | |
runs-on: ubuntu-latest | |
outputs: | |
version: ${{ steps.get-version.outputs.version }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Nothing left TODO | |
run: .github/nothing_left_todo.sh | |
- name: Get version from gradle.properties | |
id: get-version | |
run: | | |
VERSION=$(grep "version=" gradle.properties | sed -n -e 's/^.*version=//p') | |
if [ -z "$VERSION" ]; then | |
echo "Version number not found!" | |
exit 1 | |
fi | |
echo "Version is $VERSION" | |
echo "version=$VERSION" >> $GITHUB_ENV | |
echo "::set-output name=version::$VERSION" | |
- name: Version number must match tag name | |
run: | | |
TAG_NAME=${{ github.ref_name }} | |
VERSION=${{ steps.get-version.outputs.version }} | |
if [ "$TAG_NAME" != "v$VERSION" ]; then | |
echo "gradle.properties version number '$VERSION' implies tag name 'v$VERSION' but instead found '$TAG_NAME'!" | |
exit 1 | |
fi | |
distribute_gui_jar: | |
needs: version | |
name: JAR [${{ matrix.os }}-JDK${{ matrix.java }}] | |
env: | |
GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
permissions: write-all | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macOS-latest, windows-latest ] | |
java: [ '17' ] | |
fail-fast: false | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v2 | |
- name: Set up JDK | |
uses: actions/setup-java@v1 | |
with: | |
java-version: ${{ matrix.java }} | |
- name: Echo JAVA_HOME | |
run: echo $JAVA_HOME | |
- name: Verify Gradle Wrapper | |
uses: gradle/wrapper-validation-action@v1 | |
- name: Execute spring boot distribution .jar | |
run: ./gradlew --info --stacktrace :bootJarZip | |
- name: Upload binaries to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/dist/javacv-example-${{ needs.version.outputs.version }}.zip | |
asset_name: javacv-example-v${{ needs.version.outputs.version }}-${{ matrix.os }}-jdk${{ matrix.java }}-amd64.jar.zip | |
tag: ${{ github.ref }} | |
overwrite: true | |
distribute_gui_installer: | |
needs: version | |
name: Installer [${{ matrix.os }}-JDK${{ matrix.java }}] | |
permissions: write-all | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macOS-latest, windows-latest ] | |
java: [ '17' ] | |
fail-fast: false | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v2 | |
- name: Set up JDK | |
uses: actions/setup-java@v1 | |
with: | |
java-version: ${{ matrix.java }} | |
- name: Echo JAVA_HOME | |
run: echo $JAVA_HOME | |
- name: Verify Gradle Wrapper | |
uses: gradle/wrapper-validation-action@v1 | |
- name: Execute build | |
run: ./gradlew --info --stacktrace :build | |
- name: Execute jlink | |
run: ./gradlew --info --stacktrace :jlink | |
- name: Execute jpackage | |
run: ./gradlew --info --stacktrace :jpackage | |
# - name: Upload DMG to release | |
# uses: svenstaro/upload-release-action@v2 | |
# with: | |
# repo_token: ${{ secrets.GITHUB_TOKEN }} | |
# file: build/jpackage/javacv-example-v${{ needs.version.outputs.version }}.dmg | |
# asset_name: javacv-example-v${{ needs.version.outputs.version }}-${{ matrix.os }}-jdk${{ matrix.java }}-installer-dmg | |
# tag: ${{ github.ref }} | |
# overwrite: true | |
# body: "JavaCV Example installer v${{ needs.version.outputs.version }} for ${{ matrix.os }}-jdk${{ matrix.java }}-amd64 (dmg)" | |
# | |
# - name: Upload EXE to release | |
# uses: svenstaro/upload-release-action@v2 | |
# with: | |
# repo_token: ${{ secrets.GITHUB_TOKEN }} | |
# file: build/jpackage/javacv-example-v${{ needs.version.outputs.version }}.exe | |
# asset_name: javacv-example-v${{ needs.version.outputs.version }}-${{ matrix.os }}-jdk${{ matrix.java }}-installer-exe | |
# tag: ${{ github.ref }} | |
# overwrite: true | |
# body: "JavaCV Example installer v${{ needs.version.outputs.version }} for ${{ matrix.os }}-jdk${{ matrix.java }}-amd64 (exe)" | |
# | |
# - name: Upload MSI to release | |
# uses: svenstaro/upload-release-action@v2 | |
# with: | |
# repo_token: ${{ secrets.GITHUB_TOKEN }} | |
# file: build/jpackage/javacv-example-v${{ needs.version.outputs.version }}.msi | |
# asset_name: javacv-example-v${{ needs.version.outputs.version }}-${{ matrix.os }}-jdk${{ matrix.java }}-installer-msi | |
# tag: ${{ github.ref }} | |
# overwrite: true | |
# body: "JavaCV Example installer v${{ needs.version.outputs.version }} for ${{ matrix.os }}-jdk${{ matrix.java }}-amd64 (msi)" | |
# | |
# - name: Upload DEB to release | |
# uses: svenstaro/upload-release-action@v2 | |
# with: | |
# repo_token: ${{ secrets.GITHUB_TOKEN }} | |
# file: build/jpackage/javacv-example-v${{ needs.version.outputs.version }}.deb | |
# asset_name: javacv-example-v${{ needs.version.outputs.version }}-${{ matrix.os }}-jdk${{ matrix.java }}-installer-deb | |
# tag: ${{ github.ref }} | |
# overwrite: true | |
# body: "JavaCV Example installer v${{ needs.version.outputs.version }} for ${{ matrix.os }}-jdk${{ matrix.java }}-amd64 (deb)" | |
# | |
# - name: Upload RPM to release | |
# uses: svenstaro/upload-release-action@v2 | |
# with: | |
# repo_token: ${{ secrets.GITHUB_TOKEN }} | |
# file: build/jpackage/javacv-example-v${{ needs.version.outputs.version }}.rpm | |
# asset_name: javacv-example-v${{ needs.version.outputs.version }}-${{ matrix.os }}-jdk${{ matrix.java }}-installer-rpm | |
# tag: ${{ github.ref }} | |
# overwrite: true | |
# body: "JavaCV Example installer v${{ needs.version.outputs.version }} for ${{ matrix.os }}-jdk${{ matrix.java }}-amd64 (rpm)" | |
# |