Skip to content

github action

github action #1

Workflow file for this run

# 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 }}