v2 / .github / workflows / riscv64_linux_ci.yml
54 lines · 52 sloc · 1.53 KB · 989ebe1b30e5a6220c60832db8faf1d79d7b9885
Raw
1name: riscv64 CI
2
3on:
4 workflow_dispatch:
5 push:
6 paths-ignore:
7 - '**.md'
8 - '**.yml'
9 - '!**/riscv64_linux_ci.yml'
10 - 'cmd/tools/**'
11 - '!cmd/tools/builders/**.v'
12 pull_request:
13 paths-ignore:
14 - '**.md'
15 - '**.yml'
16 - '!**/riscv64_linux_ci.yml'
17 - 'cmd/tools/**'
18 - '!cmd/tools/builders/**.v'
19
20jobs:
21 riscv64_linux:
22 # The host should always be Linux
23 runs-on: ubuntu-24.04
24 timeout-minutes: 30
25 name: Build on ubuntu-24.04 riscv64
26 steps:
27 - uses: actions/checkout@v6
28 - uses: uraimo/run-on-arch-action@v3
29 name: Run commands
30 id: runcmd
31 with:
32 arch: riscv64
33 distro: ubuntu24.04
34 base_image: --platform=linux/riscv64 riscv64/ubuntu:24.04
35 # The token tag here is not required, but speeds up builds,
36 # by allowing caching of the installed dependencies, which is ~2.5min:
37 githubToken: ${{ github.token }}
38 shell: /bin/bash
39 install: |
40 apt-get update -q -y
41 apt-get install -q -y make gcc git file coreutils binutils
42 run: |
43 uname -a
44 make --version
45 gcc --version
46 ls -la
47 export LDFLAGS="-latomic"
48 export VFLAGS="-gc none -no-retry-compilation -cc cc"
49 make
50 file ./v
51 ls -la ./v
52 ./v test vlib/builtin vlib/os vlib/encoding/binary
53 ./v test vlib/v/slow_tests/assembly
54 VTEST_ONLY=closure ./v test vlib/v/tests
55