github action #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Sample workflow for building and deploying a Hugo site to GitHub Pages | |
name: Deploy DesApp | |
on: | |
# Runs on pushes targeting the default branch | |
push: | |
branches: | |
- master | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
## Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
#permissions: | |
# contents: read | |
# pages: write | |
# id-token: write | |
# Default to bash | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Build with Maven | |
run: mvn clean package | |
- name: Create release jar | |
run: cp target/jar/*.jar DesApp.jar | |
- name: Create GitHub Release | |
id: create_release | |
uses: actions/create-release@v1 | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: Release ${{ github.ref }} | |
draft: false | |
prerelease: false | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Upload jar to GitHub Release | |
uses: actions/upload-release-asset@v1 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: DesApp.jar | |
asset_name: DesApp.jar | |
asset_content_type: application/java-archive | |
package-mac: | |
runs-on: macos-latest | |
needs: build | |
strategy: | |
matrix: | |
arch: [ x64, arm64 ] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Build with Maven | |
run: mvn clean package | |
- name: Rename release jar | |
run: cp target/jar/*.jar target/jar/DesApp.jar | |
- name: Install JDK 17 (for jpackage) | |
run: | | |
if [ "${{ matrix.arch }}" == "x64" ]; then | |
sudo softwareupdate --install-rosetta --agree-to-license | |
arch -x86_64 /usr/bin/java --version | |
else | |
/usr/bin/java --version | |
fi | |
- name: Package with jpackage | |
run: | | |
jpackage --type dmg \ | |
--input target/jar/ \ | |
--name DesApp \ | |
--main-jar DesApp.jar \ | |
--main-class com.logan.DesApp \ | |
--app-version ${{ github.ref_name }} \ | |
--dest output | |
- name: Upload DMG to GitHub Release | |
uses: actions/upload-release-asset@v1 | |
with: | |
upload_url: ${{ needs.build.outputs.upload_url }} | |
asset_path: output/DesApp-${{ matrix.arch }}.dmg | |
asset_name: DesApp-${{ matrix.arch }}.dmg | |
asset_content_type: application/x-apple-diskimage | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |