Skip to content

Commit c61d7bb

Browse files
authored
Merge pull request #6093 from xmake-io/ci
improve linux arm64 ci
2 parents bd6386a + 2234677 commit c61d7bb

File tree

6 files changed

+40
-75
lines changed

6 files changed

+40
-75
lines changed

.github/workflows/linux_arm64.yml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Linux (Arm64)
2+
3+
on:
4+
pull_request:
5+
push:
6+
release:
7+
types: [published]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-24.04-arm
12+
13+
concurrency:
14+
group: ${{ github.ref }}-${{ github.base_ref }}-${{ github.head_ref }}-Ubuntu-Arm64
15+
cancel-in-progress: true
16+
steps:
17+
- uses: actions/checkout@v2
18+
with:
19+
submodules: true
20+
- name: prepare local xmake
21+
run: cp -rf . ../xmake-source
22+
- uses: xmake-io/github-action-setup-xmake@v1
23+
with:
24+
xmake-version: local#../xmake-source
25+
26+
- name: Prepare
27+
run: |
28+
sudo apt update
29+
sudo apt install -y unzip build-essential llvm libc++-dev
30+
31+
- name: Tests
32+
run: |
33+
xmake lua -v -D tests/run.lua
34+
xrepo --version
35+

.github/workflows/ubuntu_arm.yml

-36
This file was deleted.

.github/workflows/ubuntu_arm64.yml

-36
This file was deleted.

tests/projects/c++/modules/test_headerunits.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ function main(t)
4444
-- _build()
4545
elseif is_host("linux") then
4646
local gcc = find_tool("gcc", {version = true})
47-
if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then
47+
if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 and
48+
os.arch() ~= "arm64" then -- gcc/arm64: internal compiler error: in core_vals, at cp/module.cc:6108
4849
-- gcc dependency detection doesn't support header units atm
4950
os.exec("xmake f --policies=build.c++.gcc.fallbackscanner -c --yes")
5051
_build()

tests/test_utils/test_build.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ function test_build:build(argv)
44
os.exec("xmake f -c -D -y")
55
os.exec("xmake")
66
os.rm("build")
7-
os.exec("xmake f -c -D -y --policies=compatibility.version=3.0")
7+
--os.exec("xmake f -c -D -y --policies=compatibility.version:3.0")
8+
os.exec("xmake f -c -D -y --policies=compatibility.version=3.0") -- FIXME
89
os.exec("xmake -r")
910
end
1011

xmake/rules/c++/modules/modules_support/clang/dependency_scanner.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ function generate_dependency_for(target, sourcefile, opt)
5656
print(os.args(table.join(clangscandeps, dependency_flags)))
5757
end
5858
local outdata, errdata = os.iorunv(clangscandeps, dependency_flags)
59-
assert(errdata, errdata)
59+
assert(outdata, errdata)
6060

6161
io.writefile(jsonfile, outdata)
6262
else

0 commit comments

Comments
 (0)