v3: make -cc msvc work again
#12552
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: riscv64 CI | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - master | |
| paths-ignore: | |
| # vlib/v/** is intentionally NOT ignored: V3 is the default compiler on | |
| # Linux, including this riscv64 runner. | |
| - '**.md' | |
| - '**.yml' | |
| - '!**/riscv64_linux_ci.yml' | |
| - 'cmd/tools/**' | |
| - '!cmd/tools/builders/**.v' | |
| pull_request: | |
| paths: | |
| - 'cmd/v/**' | |
| - 'cmd/tools/builders/**.v' | |
| - 'vlib/arrays/**' | |
| - 'vlib/builtin/**' | |
| - 'vlib/encoding/binary/**' | |
| - 'vlib/os/**' | |
| - 'vlib/time/**' | |
| - 'vlib/runtime/**' | |
| - 'vlib/term/**' | |
| - 'vlib/net/**' | |
| - 'vlib/crypto/rand/**' | |
| - 'vlib/picoev/**' | |
| - 'vlib/rand/**' | |
| - 'vlib/strconv/**' | |
| - 'vlib/strings/**' | |
| - 'vlib/sync/**' | |
| - 'vlib/v/**' | |
| - 'thirdparty/**' | |
| - 'vc/**' | |
| - 'v.mod' | |
| - 'GNUmakefile' | |
| - 'Makefile' | |
| - '.github/problem-matchers/**' | |
| - '!**.md' | |
| - '!**.yml' | |
| - '.github/workflows/riscv64_linux_ci.yml' | |
| concurrency: | |
| group: riscv64-${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| riscv64_linux: | |
| # The host should always be Linux | |
| runs-on: ubuntu-24.04 | |
| # Embedding the Linux-default V3 compiler makes both bootstrap stages slow under QEMU. | |
| timeout-minutes: 120 | |
| name: Build on ubuntu-24.04 riscv64 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - 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 | |
| # V3 is the default compiler on Linux. Keep bootstrap fallback-compatible, | |
| # then make ordinary test compilation fail instead of silently retrying V1. | |
| export V_MACOS_V3_NO_FALLBACK=1 | |
| ./v test vlib/builtin vlib/os vlib/encoding/binary | |
| ./v test vlib/v/slow_tests/assembly | |
| VTEST_ONLY=closure ./v test vlib/v/tests |