Launch5j/.github/workflows/build-l5j.yml

101 lines
2.7 KiB
YAML
Raw Normal View History

name: "CI/CD"
on:
push:
branches: ['**']
pull_request:
release:
types: [published]
jobs:
build:
name: Build Launch5j
runs-on: windows-2019
strategy:
matrix:
include:
- flavor: "x86"
msystem: "MINGW32"
toolchain: "i686"
- flavor: "x64"
msystem: "MINGW64"
toolchain: "x86_64"
steps:
- uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.msystem }}
update: true
install: mingw-w64-${{ matrix.toolchain }}-toolchain base-devel git
- uses: actions/checkout@v4
- shell: msys2 {0}
run: make -B
- uses: actions/upload-artifact@v4
with:
name: launch5j-bin-${{ matrix.flavor }}
path: bin/*.exe
example:
name: Build Example
runs-on: ubuntu-22.04
steps:
- uses: actions/setup-java@v4
with:
java-version: "8"
distribution: "temurin"
architecture: x64
- uses: actions/checkout@v4
- run: ant -noinput -buildfile src/example/build.xml
- uses: actions/upload-artifact@v4
with:
name: launch5j-example
path: src/example/dist/example.jar
docs:
name: Generate Docs
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: docker://pandoc/core:2.9
with:
args: >-
-f markdown-implicit_figures -t html5
--standalone --ascii --toc --toc-depth=2
--css="etc/css/gh-pandoc.css"
-o "./README.html" "./README.yaml" "./README.md"
- uses: actions/upload-artifact@v4
with:
name: launch5j-doc
path: |
LICENSE.txt
README.html
etc/img/*.png
etc/css/*.css
release:
name: Generate Release Package
needs: [build, example, docs]
runs-on: ubuntu-22.04
steps:
- uses: actions/download-artifact@v4
with:
name: launch5j-doc
- uses: actions/download-artifact@v4
with:
name: launch5j-bin-x86
- uses: actions/download-artifact@v4
with:
name: launch5j-bin-x64
path: x64
- uses: actions/download-artifact@v4
with:
name: launch5j-example
path: example
- run: |
cp -f launch5j_x86_wrapped_registry.exe example/example.exe
dd if=example/example.jar of=example/example.exe oflag=append conv=notrunc
rm -f example/example.jar
- run: tar -czvf launch5j-release.$(date +"%Y-%m-%d").tar.gz *
- uses: actions/upload-artifact@v4
with:
name: launch5j-release
path: launch5j-release.*