11
11
ci :
12
12
strategy :
13
13
matrix :
14
- platform-arch : [ubuntu-20.04-x64, ubuntu-20 .04-arm, macos-13-x64, macos-latest-arm]
14
+ platform-arch : [ubuntu-20.04-x64, ubuntu-22 .04-arm, macos-13-x64, macos-latest-arm]
15
15
otp-version : [25.3, 26.2, 27.1]
16
16
include :
17
17
- otp-version : 25.3
28
28
os : linux
29
29
target : x86_64-unknown-linux-gnu
30
30
vscode-target : linux-x64
31
- - platform-arch : ubuntu-20 .04-arm
32
- platform : ubuntu-20 .04
31
+ - platform-arch : ubuntu-22 .04-arm
32
+ platform : ubuntu-22 .04-arm
33
33
os : linux
34
34
target : aarch64-unknown-linux-gnu
35
35
vscode-target : linux-arm64
@@ -54,22 +54,21 @@ jobs:
54
54
path : eqwalizer
55
55
ref : main
56
56
- name : Set up GraalVM
57
- if : matrix.platform-arch != 'ubuntu-20.04-arm'
58
57
uses : graalvm/setup-graalvm@v1
59
58
with :
60
59
java-version : ' 17'
61
60
distribution : ' graalvm'
62
61
github-token : ${{ secrets.GITHUB_TOKEN }}
63
62
- name : Set up SBT
64
- uses : olafurpg/setup-scala@v11
63
+ uses : olafurpg/setup-scala@v14
65
64
with :
66
65
java-version : ' 17'
67
66
- name : Set up rust toolchain
68
67
uses : dtolnay/rust-toolchain@stable
69
68
with :
70
69
target : ${{ matrix.target }}
71
70
- name : Set up cross-compiler
72
- if : matrix.platform-arch == 'ubuntu-20 .04-arm'
71
+ if : matrix.platform-arch == 'ubuntu-22 .04-arm'
73
72
run : |
74
73
sudo apt-get update
75
74
sudo apt-get install -y crossbuild-essential-arm64
@@ -100,37 +99,11 @@ jobs:
100
99
working-directory : eqwalizer/eqwalizer
101
100
run : " sbt assembly"
102
101
- name : Assemble eqwalizer binary
103
- if : matrix.platform-arch != 'ubuntu-20.04-arm'
104
102
working-directory : eqwalizer/eqwalizer
105
103
run : ' native-image -H:IncludeResources=application.conf --no-server --no-fallback -jar target/scala-2.13/eqwalizer.jar eqwalizer'
106
- - name : Assemble eqwalizer binary (qemu)
107
- if : matrix.platform-arch == 'ubuntu-20.04-arm'
108
- uses : uraimo/run-on-arch-action@v2
109
- with :
110
- arch : aarch64
111
- distro : ubuntu20.04
112
- dockerRunArgs : |
113
- --volume "${PWD}/eqwalizer/eqwalizer:/eqwalizer"
114
- install : |
115
- apt-get -q update
116
- apt-get -q install -y curl gcc zlib1g-dev
117
- GRAALVM_URL=https://download.oracle.com/graalvm/21/latest/graalvm-jdk-21_linux-aarch64_bin.tar.gz
118
- GRAALVM_SHA256=$(curl -s "${GRAALVM_URL}.sha256")
119
- curl --output graalvm.tar.gz "${GRAALVM_URL}"
120
- echo "$GRAALVM_SHA256 graalvm.tar.gz" | sha256sum -c
121
- mkdir /opt/graalvm
122
- tar -xzf graalvm.tar.gz -C /opt/graalvm --strip-components=1
123
- run : |
124
- /opt/graalvm/bin/native-image \
125
- -H:IncludeResources=application.conf \
126
- -H:+ReportExceptionStackTraces \
127
- --no-server \
128
- --no-fallback \
129
- -jar /eqwalizer/target/scala-2.13/eqwalizer.jar \
130
- /eqwalizer/eqwalizer
131
104
- name : Test elp
132
105
# Do not run the tests in case of cross-compilation
133
- if : ( matrix.platform-arch != 'ubuntu-20.04-arm') && (matrix.platform-arch != ' macos-latest-arm')
106
+ if : matrix.platform-arch != 'macos-latest-arm'
134
107
run : ' cargo test --no-default-features --workspace --target ${{ matrix.target }}'
135
108
- name : Build elp
136
109
run : ' cargo build --release --target ${{ matrix.target }} --config target.aarch64-unknown-linux-gnu.linker=\"aarch64-linux-gnu-gcc\"'
0 commit comments