Build #577
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
# Gradle build and publish on tag | |
--- | |
name: Build | |
on: | |
push: | |
pull_request: | |
schedule: | |
- cron: '0 0 * * 0' | |
jobs: | |
build: | |
strategy: | |
matrix: | |
java: [8, 11] | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
runs-on: ${{ matrix.os }} | |
env: | |
gradle_version: 6.8.3 # use ``current`` to install the current stable release | |
gradle_commands: build # default is build | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'zulu' | |
cache: 'gradle' | |
java-package: 'jdk+fx' | |
- uses: gradle/gradle-build-action@v2 | |
with: | |
gradle-version: ${{ env.gradle_version }} | |
- name: Run commands | |
run: gradle ${{ env.gradle_commands }} | |
- name: Prepare PATH | |
if: startsWith(matrix.os, 'windows') | |
shell: bash | |
run: echo "C:\Program Files (x86)\WiX Toolset v3.11\bin" >> $GITHUB_PATH | |
- name: Re-install innosetup | |
if: startsWith(matrix.os, 'windows') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '8') | |
shell: cmd | |
run: | | |
choco uninstall innosetup | |
choco install innosetup --version=5.6.1 | |
- name: Build insight exe | |
if: startsWith(matrix.os, 'windows') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '8') | |
shell: cmd | |
run: | | |
gradle packageApplicationExe | |
- name: Build importer exe | |
if: startsWith(matrix.os, 'windows') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '8') | |
shell: cmd | |
run: | | |
gradle packageImporterApplicationExe | |
- name: Build insight msi | |
if: startsWith(matrix.os, 'windows') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '8') | |
shell: cmd | |
run: | | |
gradle packageApplicationMsi | |
- name: Build importer msi | |
if: startsWith(matrix.os, 'windows') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '8') | |
shell: cmd | |
run: | | |
gradle packageImporterApplicationMsi | |
- name: Check MSI | |
if: startsWith(matrix.os, 'windows') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '8') | |
run: | | |
msi=(`find build/packaged/installImporterDist/bundles -maxdepth 1 -name "*.msi"`) | |
if [ ${#msi[@]} == 0 ]; then | |
exit 1 | |
fi | |
msi=(`find build/packaged/main/bundles -maxdepth 1 -name "*.msi"`) | |
if [ ${#msi[@]} == 0 ]; then | |
exit 1 | |
fi | |
shell: bash | |
- name: Upload zip and jar | |
if: startsWith(matrix.os, 'ubuntu') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '8') | |
uses: actions/upload-artifact@v4 | |
with: | |
name: artifacts-${{ matrix.os }}-OMERO | |
path: build/distributions/OMERO* | |
if-no-files-found: error | |
- name: Upload jar | |
if: startsWith(matrix.os, 'ubuntu') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '8') | |
uses: actions/upload-artifact@v3 | |
with: | |
name: artifacts-${{ matrix.os }}-omero_ | |
path: build/libs/omero_* | |
if-no-files-found: error | |
- name: Upload insight artifacts | |
if: startsWith(matrix.os, 'windows') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '8') | |
uses: actions/upload-artifact@v3 | |
with: | |
name: artifacts-${{ matrix.os }}-insight | |
path: build/packaged/main/bundles/* | |
if-no-files-found: error | |
- name: Upload importer artifacts | |
if: startsWith(matrix.os, 'windows') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '8') | |
uses: actions/upload-artifact@v3 | |
with: | |
name: artifacts-${{ matrix.os }}-importer | |
path: build/packaged/installImporterDist/bundles/* | |
release: | |
if: startsWith(github.ref, 'refs/tags') | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download artifacts from build | |
uses: actions/download-artifact@v3 | |
- name: List artifacts | |
run: ls -R | |
- name: Upload binaries to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: artifacts*/* | |
tag: ${{ github.ref }} | |
overwrite: true | |
file_glob: true |