Skip to content

Build

Build #548

Workflow file for this run

# 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@v2
with:
name: artifacts
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@v2
with:
name: artifacts
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@v2
with:
name: artifacts
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@v2
with:
name: artifacts
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@v2
- 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