diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml new file mode 100644 index 000000000..148d5a681 --- /dev/null +++ b/.github/workflows/nightly.yml @@ -0,0 +1,42 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle + +name: Java CI with Gradle + +on: + pull_request: + branches: [ master ] + +jobs: + nightly: + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v2 + + - name: Set up JDK 20 + uses: actions/setup-java@v3 + with: + java-version: '20' + distribution: 'liberica' + java-package: 'jdk+fx' + + - name: Build with Gradle + uses: gradle/gradle-build-action@v2 + with: + arguments: clean runtimeZipCurrent + + - name: Add build artifact to nightly release + uses: pyTooling/Actions/releaser@main + with: + tag: nightly + rm: false + token: ${{ secrets.GITHUB_TOKEN }} + files: build/image/*.zip diff --git a/build.gradle b/build.gradle index 149735b32..0c6169154 100644 --- a/build.gradle +++ b/build.gradle @@ -53,17 +53,8 @@ repositories { maven { url "https://jitpack.io" } } -/** - * Version naming conventions: - * Alpha: maj.min.patch-alpha-build - * Beta: maj.min.patch-beta-build - * Release: maj.min.patch - * - * Note: this is so that the file names for the resultant release build products match the GitLab release asset - * tag name, specifically the dashes inserted before and after the alpha/beta labels. - * See: https://github.com/DSheirer/sdrtrunk/issues/1651 - */ -version = '0.6.0-beta-4' +//Version is defined in gradle.properties so that we can CLI override it for nightly builds. +version = project.findProperty('projectVersion') //Java 20 is required for this version of the Project Panama preview/incubator feature java { diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 000000000..d6fb7266e --- /dev/null +++ b/gradle.properties @@ -0,0 +1,29 @@ +# +# ****************************************************************************** +# Copyright (C) 2014-2023 Dennis Sheirer +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see +# ***************************************************************************** +# + +# Version naming conventions: +# Alpha: maj.min.patch-alpha-build +# Beta: maj.min.patch-beta-build +# Release: maj.min.patch +# +# Note: this is so that the file names for the resultant release build products match the GitLab release asset +# tag name, specifically the dashes inserted before and after the alpha/beta labels. +# See: https://github.com/DSheirer/sdrtrunk/issues/1651 + +projectVersion=0.6.0-beta-4 \ No newline at end of file