diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..99fcf18 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,34 @@ +name: Build + +on: push + +jobs: + test-and-build: + strategy: + matrix: + include: + - platform: windows-latest + binary_name: Baka-*.exe + output_name: Baka.exe + + runs-on: ${{ matrix.platform }} + + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK + uses: actions/setup-java@v2 + with: + java-version: '22' + distribution: 'adopt' + + - name: Build artifact + shell: bash + run: | + mvnw compile javafx:jlink jpackage:jpackage + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.output_name }} + path: ./target/dist/${{ matrix.binary_name }} \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..be01182 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,30 @@ +name: Publish release + +on: + workflow_run: + workflows: [Build] + branches: [v**] + types: [completed] + +jobs: + publish-release: + runs-on: ubuntu-latest + # Kinda bad since it might release on any branch starting with v, but it'll do for now. + # Tag filtering in "on:" doesn't work, since the inital build trigger gets lost. + # github.ref is therefore also being reset to "refs/head/master". + if: ${{ github.event.workflow_run.conclusion == 'success' }} + + steps: + - name: Download windows artifact + uses: dawidd6/action-download-artifact@v3 + with: + workflow: build.yml + name: Baka.exe + + - name: Create release + uses: softprops/action-gh-release@v1 + with: + name: ${{ github.event.workflow_run.head_branch }} + tag_name: ${{ github.event.workflow_run.head_branch }} + files: | + Baka.exe \ No newline at end of file