From 1e1a2303e3d778912379f1c995ed5f6baedca571 Mon Sep 17 00:00:00 2001 From: Dennis Sheirer Date: Mon, 6 Nov 2023 04:11:03 -0500 Subject: [PATCH] #1706 Github action to create nightly application releases. --- .github/workflows/nightly.yml | 42 +++++++++++++++++++++++++++++++++++ build.gradle | 13 ++--------- gradle.properties | 29 ++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/nightly.yml create mode 100644 gradle.properties 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