Make new release workflow, upload version 0.0.3

This commit is contained in:
Andrew Lalis 2024-01-02 10:03:20 -05:00
parent 064819e2ad
commit 8c8e6c3778
4 changed files with 79 additions and 29 deletions

77
.github/workflows/make-release.yaml vendored Normal file
View File

@ -0,0 +1,77 @@
name: Make Release
on:
push:
tags:
- "v*"
jobs:
make-linux-deb:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: temurin
cache: maven
- name: Build Linux DEB Package for Release
run: ./scripts/package-linux-deb.sh
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: linux-deb
path: '*.deb'
if-no-files-found: error
retention-days: 1
compression-level: 0
make-windows-msi:
runs-on: windows-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: temurin
cache: maven
- name: Build Windows MSI Package for Release
if: ${{ startsWith(github.ref, 'refs/tags/') && runner.os == 'Windows' }}
run: powershell.exe -File scripts\package-windows-msi.ps1
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: windows-msi
path: '*.msi'
if-no-files-found: error
retention-days: 1
compression-level: 0
make-release:
needs:
- make-linux-deb
- make-windows-msi
runs-on: ubuntu-latest
steps:
- name: Download All Artifacts
uses: actions/download-artifact@v4
with:
path: release-artifacts
merge-multiple: true
- name: List Artifacts
run: ls -R release-artifacts
- name: Create Release
uses: softprops/action-gh-release@v1
with:
fail-on-unmatched-files: true
files: |
release-artifacts/*.deb
release-artifacts/*.msi

View File

@ -3,13 +3,11 @@ on:
push: push:
branches: branches:
- "*" - "*"
tags:
- "v*"
jobs: jobs:
maven-tests: maven-tests:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest] os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Checkout Repository - name: Checkout Repository
@ -22,28 +20,5 @@ jobs:
distribution: temurin distribution: temurin
cache: maven cache: maven
- name: Check versions
run: |
java -version
javac -version
./mvnw -version
- name: Test with Maven - name: Test with Maven
run: ./mvnw -B verify --file pom.xml run: ./mvnw -B verify --file pom.xml
- name: Build Linux DEB Package for Release
if: ${{ startsWith(github.ref, 'refs/tags/') && runner.os == 'Linux' }}
run: ./scripts/package-linux-deb.sh
- name: Build Windows MSI Package for Release
if: ${{ startsWith(github.ref, 'refs/tags/') && runner.os == 'Windows' }}
run: powershell.exe -File scripts\package-windows-msi.ps1
- name: Create Release
if: ${{ startsWith(github.ref, 'refs/tags/') }}
uses: softprops/action-gh-release@v1
with:
fail_on_unmatched_files: true
files: |
*.deb
*.msi

View File

@ -6,7 +6,7 @@
<groupId>com.andrewlalis</groupId> <groupId>com.andrewlalis</groupId>
<artifactId>perfin</artifactId> <artifactId>perfin</artifactId>
<version>0.0.2</version> <version>0.0.3</version>
<properties> <properties>
<maven.compiler.source>21</maven.compiler.source> <maven.compiler.source>21</maven.compiler.source>

View File

@ -1,5 +1,3 @@
$projectDir = $PSScriptRoot
./mvnw.cmd clean package ./mvnw.cmd clean package
# Fix because H2 is not modular: # Fix because H2 is not modular: