Skip to content

Commit

Permalink
CI: try build native image
Browse files Browse the repository at this point in the history
Signed-off-by: imkiva <imkiva@islovely.icu>
  • Loading branch information
imkiva committed Apr 22, 2022
1 parent 055074a commit 353d803
Showing 1 changed file with 45 additions and 24 deletions.
69 changes: 45 additions & 24 deletions .github/workflows/nightly-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,58 +15,81 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/when-i-am-free'

nightly-build:
needs: [move-tag]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
include:
- os: ubuntu-latest
arch: x86_64
graalVM: https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220421_2218/graalvm-ce-java17-linux-amd64-dev.tar.gz
binaryExt: ''
- os: macos-latest
arch: x86_64
graalVM: https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220421_2218/graalvm-ce-java17-darwin-amd64-dev.tar.gz
binaryExt: ''
- os: windows-latest
arch: x86_64
graalVM: https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220421_2218/graalvm-ce-java17-windows-amd64-dev.zip
binaryExt: '.exe'
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
- name: Download GraalVM
uses: suisei-cn/actions-download-file@v1
id: graalvm-download
with:
url: ${{ matrix.graalVM }}
- uses: actions/setup-java@v3
with:
distribution: 'jdkfile'
jdkFile: ${{ steps.graalvm-download.outputs.filename }}
java-version: '17'
- uses: eskatos/gradle-command-action@v1
architecture: x64

- name: gradle jlink
uses: eskatos/gradle-command-action@v1
with:
dependencies-cache-enabled: true
arguments: jlink --info --no-daemon --stacktrace --warning-mode all
- uses: eskatos/gradle-command-action@v1

- name: gradle fatJar
uses: eskatos/gradle-command-action@v1
with:
dependencies-cache-enabled: true
arguments: fatjar --info --no-daemon --stacktrace --warning-mode all

- name: Copy lsp-fatjar.jar (Unix)
run: cp -a ./lsp/build/libs/lsp-*-fat.jar ./lsp-fatjar.jar
if: matrix.os != 'windows-latest'
- name: Copy cli-fatjar.jar (Unix)
run: cp -a ./cli/build/libs/cli-*-fat.jar ./cli-fatjar.jar
if: matrix.os != 'windows-latest'
- name: gradle nativeCompile
uses: eskatos/gradle-command-action@v1
with:
dependencies-cache-enabled: true
arguments: nativeCompile --info --no-daemon --stacktrace --warning-mode all

- name: Copy lsp-fatjar.jar (Windows)
run: copy .\lsp\build\libs\lsp-*-fat.jar .\lsp-fatjar.jar
if: matrix.os == 'windows-latest'
- name: Copy cli-fatjar.jar (Windows)
run: copy .\cli\build\libs\cli-*-fat.jar .\cli-fatjar.jar
if: matrix.os == 'windows-latest'
- name: Copy fat jar
run: |
cp ./lsp/build/libs/lsp-*-fat.jar ./lsp-fatjar.jar
cp ./cli/build/libs/cli-*-fat.jar ./cli-fatjar.jar
- name: Copy aya Native Image
run: cp ./cli/build/native/nativeCompile/aya ./aya-native-${{ matrix.os }}_${{ matrix.arch }}${{ matrix.binaryExt }}

- name: Zip Artifacts (Windows)
uses: papeloto/action-zip@v1
with:
files: ./lsp/build/image
dest: aya-prover-jlink-${{ matrix.os }}_x86-64.zip
if: matrix.os == 'windows-latest' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/when-i-am-free')
dest: aya-prover-jlink-${{ matrix.os }}_${{ matrix.arch }}.zip
if: matrix.os == 'windows-latest'

- name: Zip Artifacts (Unix)
run: |
root="$(pwd)"
cd ./lsp/build/image
zip -r "$root/aya-prover-jlink-${{ matrix.os }}_x86-64.zip" .
zip -r "$root/aya-prover-jlink-${{ matrix.os }}_${{ matrix.arch }}.zip" .
if: matrix.os != 'windows-latest'

- name: Update the CI tag
- name: Update Release
uses: Xotl/cool-github-releases@v1
with:
mode: update
Expand All @@ -76,8 +99,6 @@ jobs:
body_mrkdwn: |
_These are latest builds, but the date on GitHub is frozen due to stupid limitations.
Corresponding commit: <https://github.com/aya-prover/aya-dev/commit/${{ github.sha }}>_
assets: aya-prover-jlink-${{ matrix.os }}_x86-64.zip;./lsp-fatjar.jar;./cli-fatjar.jar
assets: aya-prover-jlink-${{ matrix.os }}_${{ matrix.arch }}.zip;lsp-fatjar.jar;cli-fatjar.jar;aya-native-${{ matrix.os }}_${{ matrix.arch }}${{ matrix.binaryExt }}|application/octet-stream
replace_assets: true
github_token: ${{ secrets.GH_TOKEN }}
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/when-i-am-free'

0 comments on commit 353d803

Please sign in to comment.