Extraction method updates #418
This file contains 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 executables | |
on: | |
push: | |
branches: | |
- 'master' | |
- '*-snapshot' | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
env: | |
ACTIONS_ALLOW_UNSECURE_COMMANDS: true | |
jobs: | |
build-jar: | |
name: "Build JAR" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
name: "Checkout" | |
- uses: actions/setup-java@v4 | |
name: "Install Java" | |
with: | |
java-version: '21' | |
distribution: 'corretto' | |
cache: 'maven' | |
- name: "Build JAR" | |
run: mvn -DskipTests -Pfatjar clean package | |
- name: 'Get version' | |
run: echo "::set-env name=VERSION::$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" | |
- name: 'Upload artifact' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: 'simplelocalize-cli-${{env.VERSION}}.jar' | |
path: 'target/simplelocalize-cli-${{env.VERSION}}.jar' | |
build-executable: | |
name: "Build ${{ matrix.label }} executable" | |
strategy: | |
matrix: | |
include: | |
- os: 'ubuntu-latest' | |
label: 'linux' | |
filename: 'simplelocalize-cli' | |
downloadFilename: 'simplelocalize-cli-linux' | |
- os: 'macos-latest' | |
label: 'mac' | |
filename: 'simplelocalize-cli' | |
downloadFilename: 'simplelocalize-cli-mac' | |
- os: 'macos-14' | |
label: 'mac-arm64' | |
filename: 'simplelocalize-cli' | |
downloadFilename: 'simplelocalize-cli-mac-arm64' | |
- os: 'windows-latest' | |
label: 'windows' | |
filename: 'simplelocalize-cli.exe' | |
downloadFilename: 'simplelocalize-cli-windows.exe' | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
name: "Checkout" | |
- name: "Print architecture" | |
run: uname -m | |
if: startsWith(matrix.os, 'macos') | |
- uses: graalvm/setup-graalvm@v1 | |
name: "Install GraalVM" | |
with: | |
java-version: '21' | |
distribution: 'graalvm' | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: "Build executable" | |
run: mvn -DskipTests -Pnative clean package | |
- name: "Test executable" | |
run: ./target/${{ matrix.filename }} --version | |
- name: "Rename executable" | |
run: mv ./target/${{ matrix.filename }} ./target/${{ matrix.downloadFilename }} | |
- name: "Upload artifact" | |
uses: actions/upload-artifact@v4 | |
with: | |
name: simplelocalize-cli-${{ matrix.label }} | |
path: ./target/${{ matrix.downloadFilename }} |