Added runner to build Linux application
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
name: Build and Package JRuby Rails App
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Ruby & JRuby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: jruby-9.4.6.0 # Match your target JRuby version
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
bundle install
|
||||
|
||||
- name: Build JAR with Jarbler
|
||||
run: |
|
||||
gem install jarbler
|
||||
jarble
|
||||
|
||||
- name: Set up Java JDK (for jpackage)
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: '17'
|
||||
|
||||
- name: Generate Unique App Name with Git Hash
|
||||
id: vars
|
||||
run: |
|
||||
SHORT_HASH=$(git rev-parse --short HEAD)
|
||||
echo "app_name=custom-app-${SHORT_HASH}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Package with jpackage
|
||||
run: |
|
||||
# Find the generated jar file name dynamically
|
||||
JAR_FILE=$(ls build/*.jar | head -n 1)
|
||||
|
||||
# Run jpackage to bundle the application and runtime into an app-image directory
|
||||
jpackage \
|
||||
--type app-image \
|
||||
--name "${{ steps.vars.outputs.app_name }}" \
|
||||
--input "$(dirname "$JAR_FILE")" \
|
||||
--main-jar "$(basename "$JAR_FILE")" \
|
||||
--dest dist
|
||||
|
||||
- name: Compress Executable Package
|
||||
run: |
|
||||
cd dist
|
||||
tar -czvf "${{ steps.vars.outputs.app_name }}.tar.gz" "${{ steps.vars.outputs.app_name }}"
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ steps.vars.outputs.app_name }}
|
||||
path: dist/*.tar.gz
|
||||
Reference in New Issue
Block a user