Repository navigation
Fix bug in appDir detection with nested config dir #336
This file contains hidden or 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
| 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 |