diff --git a/.github/workflows/riscv64_linux_ci.yml b/.github/workflows/riscv64_linux_ci.yml new file mode 100644 index 0000000000..363f0cfbde --- /dev/null +++ b/.github/workflows/riscv64_linux_ci.yml @@ -0,0 +1,51 @@ +name: riscv64 CI + +on: + workflow_dispatch: + push: + paths-ignore: + - '**.md' + - '**.yml' + - '!**/riscv64_linux_ci.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' + pull_request: + paths-ignore: + - '**.md' + - '**.yml' + - '!**/riscv64_linux_ci.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' + +jobs: + riscv64_linux: + # The host should always be Linux + runs-on: ubuntu-24.04 + name: Build on ubuntu-24.04 riscv64 + steps: + - uses: actions/checkout@v4 + - uses: uraimo/run-on-arch-action@v3 + name: Run commands + id: runcmd + with: + arch: riscv64 + distro: ubuntu24.04 + base_image: --platform=linux/riscv64 riscv64/ubuntu:24.04 + # The token tag here is not required, but speeds up builds, + # by allowing caching of the installed dependencies, which is ~2.5min: + githubToken: ${{ github.token }} + shell: /bin/bash + install: | + apt-get update -q -y + apt-get install -q -y make gcc git file coreutils binutils + run: | + uname -a + make --version + gcc --version + ls -la + export LDFLAGS="-latomic" + export VFLAGS="-gc none -no-retry-compilation -cc cc" + make + file ./v + ls -la ./v + ./v test vlib/builtin vlib/os vlib/encoding/binary