diff --git a/.github/workflows/make-release.yaml b/.github/workflows/make-release.yaml new file mode 100644 index 0000000..8901831 --- /dev/null +++ b/.github/workflows/make-release.yaml @@ -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 diff --git a/.github/workflows/run-tests.yaml b/.github/workflows/run-tests.yaml index 92b5209..25e0d6c 100644 --- a/.github/workflows/run-tests.yaml +++ b/.github/workflows/run-tests.yaml @@ -3,13 +3,11 @@ on: push: branches: - "*" - tags: - - "v*" jobs: maven-tests: strategy: matrix: - os: [ubuntu-latest, windows-latest] + os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout Repository @@ -22,28 +20,5 @@ jobs: distribution: temurin cache: maven - - name: Check versions - run: | - java -version - javac -version - ./mvnw -version - - name: Test with Maven 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 diff --git a/pom.xml b/pom.xml index e02880d..49bb2e8 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.andrewlalis perfin - 0.0.2 + 0.0.3 21 diff --git a/scripts/package-windows-msi.ps1 b/scripts/package-windows-msi.ps1 index a6ac6ce..ba8843f 100644 --- a/scripts/package-windows-msi.ps1 +++ b/scripts/package-windows-msi.ps1 @@ -1,5 +1,3 @@ -$projectDir = $PSScriptRoot - ./mvnw.cmd clean package # Fix because H2 is not modular: