-
Notifications
You must be signed in to change notification settings - Fork 3
128 lines (111 loc) · 5.3 KB
/
build-graal.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
name: "[GraalVM] Build All"
on:
push:
branches:
- main
pull_request:
branches:
- main
env:
CLI_SCALA_VERSION: "3.2.2"
CLI_SCALA_BINARY_VERSION: "3"
GRAALVM_JAVA_VERSION: "adopt@1.11"
GRAALVM_BIN_DIR_NAME: "native-image"
PROJECT_NAME: "maven2sbt"
jobs:
graalvm_build:
runs-on: ${{ matrix.os.value }}
strategy:
matrix:
# https://github.com/actions/runner-images?tab=readme-ov-file#available-images
os:
- { name: "Ubuntu 22.04", value: "ubuntu-22.04", bin-suffix: "-ubuntu" }
- { name: "macOS 13", value: "macos-13", bin-suffix: "-macos-13" }
- { name: "macOS 14 Apple Silicon", value: "macos-14", bin-suffix: "-macos-14-arm64" }
- { name: "macOS 15 Apple Silicon", value: "macos-15", bin-suffix: "-macos-15-arm64" }
run-binary: [maven2sbt-cli]
steps:
- uses: actions/checkout@v2.3.4
- uses: olafurpg/setup-scala@v10
with:
java-version: ${{ env.GRAALVM_JAVA_VERSION }}
- name: Cache SBT
uses: actions/cache@v2
with:
path: |
~/.ivy2/cache
~/.cache/coursier
~/.sbt
key: ${{ runner.os }}-sbt-${{ env.CLI_SCALA_BINARY_VERSION }}-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('**/build.properties') }}
restore-keys: |
${{ runner.os }}-sbt-${{ env.CLI_SCALA_BINARY_VERSION }}-
- name: "GraalVM Build for Scala ${{ env.CLI_SCALA_VERSION }} - ${{ github.run_number }}"
env:
CURRENT_BRANCH_NAME: ${{ github.ref }}
RUN_ID: ${{ github.run_id }}
RUN_NUMBER: ${{ github.run_number }}
APP_BIN_NAME: ${{ matrix.run-binary }}${{ matrix.os.bin-suffix }}
run: |
sbt \
-J-Xmx2048m \
++${{ env.CLI_SCALA_VERSION }}! \
clean \
test \
nativeImage
echo "rm -f modules/${{ env.PROJECT_NAME }}-*/target/scala-*/*.jar"
rm -f modules/${{ env.PROJECT_NAME }}-*/target/scala-*/*.jar
echo "ls -lGh modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/"
ls -lGh modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/
echo "mv modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/${{ matrix.run-binary }} modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/$APP_BIN_NAME"
mv modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/${{ matrix.run-binary }} modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/$APP_BIN_NAME
echo "ls -lGh modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/"
ls -lGh modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/
sh -c "modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/$APP_BIN_NAME --version"
sh -c "modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/$APP_BIN_NAME --help"
sh -c "modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/$APP_BIN_NAME print --help"
sh -c "modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/$APP_BIN_NAME file --help"
graalvm_build_windows:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# https://github.com/actions/runner-images?tab=readme-ov-file#available-images
os: [windows-2019]
run-binary: [maven2sbt-cli.exe]
steps:
- name: Configure git
run: "git config --global core.autocrlf false"
shell: bash
- uses: actions/checkout@v2.3.4
- uses: olafurpg/setup-scala@v10
with:
java-version: ${{ env.GRAALVM_JAVA_VERSION }}
- uses: ilammy/msvc-dev-cmd@v1
- name: Cache SBT
uses: actions/cache@v2
with:
path: |
~/.ivy2/cache
~/.cache/coursier
~/.sbt
key: ${{ runner.os }}-sbt-${{ env.CLI_SCALA_BINARY_VERSION }}-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('**/build.properties') }}
restore-keys: |
${{ runner.os }}-sbt-${{ env.CLI_SCALA_BINARY_VERSION }}-
- name: "GraalVM Build for Scala ${{ env.CLI_SCALA_VERSION }} - ${{ github.run_number }}"
shell: bash
env:
CURRENT_BRANCH_NAME: ${{ github.ref }}
RUN_ID: ${{ github.run_id }}
RUN_NUMBER: ${{ github.run_number }}
run: |
sbt \
-J-Xmx2048m \
++${{ env.CLI_SCALA_VERSION }}! \
clean \
test \
nativeImage
rm -f modules/${{ env.PROJECT_NAME }}-*/target/scala-*/*.jar
ls -lGh modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/
sh -c "modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/${{ matrix.run-binary }} --version"
sh -c "modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/${{ matrix.run-binary }} --help"
sh -c "modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/${{ matrix.run-binary }} print --help"
sh -c "modules/${{ env.PROJECT_NAME }}-cli/target/${{ env.GRAALVM_BIN_DIR_NAME }}/${{ matrix.run-binary }} file --help"