Skip to content

Fix bug in appDir detection with nested config dir #336

Fix bug in appDir detection with nested config dir

Fix bug in appDir detection with nested config dir #336

Workflow file for this run

name: build
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '21'
cache: 'gradle'
- name: Cache Kotlin Native
id: cache-konan
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ runner.os }}-build-konan-${{ hashFiles('*gradle.*') }}
restore-keys: |
${{ runner.os }}-build-konan-
- name: Install aarch64-linux-gnu-gcc
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y gcc-aarch64-linux-gnu
- name: Build binaries and assemble distribution
run: make dist
- name: Upload platform distribution
uses: actions/upload-artifact@v4
with:
name: jaunch-${{ matrix.os }}
path: jaunch.tar.gz
test:
needs: [build]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '21'
cache: 'gradle'
- uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Print runtime properties
shell: bash
run: |
cd configs
echo '== Java =='
java Props5 x
echo
echo '== Python =='
python props.py x
- name: Cache the .cache folder
id: cache-cache
uses: actions/cache@v4
with:
path: .cache
key: ${{ runner.os }}-dist-cache
- name: Build demo apps
run: make demo
- name: Print runtime discovery details
shell: bash
run: |
cd demo
echo '== Java =='
./hi --debug --debug
echo
echo '== Python =='
./hiss --debug --debug
- name: Install prysk
run: pip install prysk
- name: Run the tests
run: |
cd test
prysk *.t
dist:
needs: [build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Cache the .cache folder
id: cache-cache
uses: actions/cache@v4
with:
path: .cache
key: ${{ runner.os }}-dist-cache
- name: Download platform distributions
uses: actions/download-artifact@v4
- name: Merge platform distributions
run: |
# The order here matters, because the platforms have overlapping binaries.
# We unpack Windows first, so that the launcher-windows-*.exe binaries that
# were natively built on Windows get overwritten by the (arguably) better
# binaries that were cross-compiled on the other platforms.
#
# Why are the cross-compiled native launcher EXEs arguably better?
#
# File sizes are approximately as follows:
# - 363K - Cross-compiled, with debug symbols
# - 102K - Cross-compiled, debug symbols stripped
# - 132K - Natively compiled, with debug symbols
# - 121K - Natively compiled, debug symbols stripped
#
# So the thinking is that the cross-compiled EXEs have better-optimized
# (smaller) code thanks to llvm-mingw's clang, as well as richer debug
# symbols. At least that's what my LLM thinks, and it is never wrong.
for os in windows macos ubuntu; do
tar xf jaunch-"$os"-latest/jaunch.tar.gz
done
- name: Upload merged distribution
uses: actions/upload-artifact@v4
with:
name: jaunch
path: dist