Files
joanna-website/.gitea/workflows/release-linux.yml
T
bionickatana d6c8fdb7ae
Build and Package JRuby Rails App / build (push) Failing after 2m5s
Runner stuff
2026-07-27 20:35:09 -06:00

68 lines
2.0 KiB
YAML

name: Build and Package JRuby Rails App
on:
push:
branches:
- main
- second_try
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Java and JRuby
run: |
apt-get update && apt-get install -y wget curl libgmp-dev
# Install Java (needed for JRuby and jpackage)
apt-get install -y openjdk-17-jdk
# Download and install JRuby directly
JRUBY_VERSION="9.4.6.0"
curl -O https://repo1.maven.org/maven2/org/jruby/jruby-dist/${JRUBY_VERSION}/jruby-dist-${JRUBY_VERSION}-bin.tar.gz
tar -xzf jruby-dist-${JRUBY_VERSION}-bin.tar.gz -C /opt/
ln -s /opt/jruby-${JRUBY_VERSION}/bin/jruby /usr/local/bin/jruby
ln -s /opt/jruby-${JRUBY_VERSION}/bin/bundle /usr/local/bin/bundle
- name: Install Dependencies
run: |
bundle install
- name: Build JAR with Jarbler
run: |
gem install jarbler
jarble
- 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