From 8a34fb7857d98fefa3bba0419ce848b908fdcd53 Mon Sep 17 00:00:00 2001 From: spaceface Date: Thu, 16 Dec 2021 16:44:21 +0100 Subject: [PATCH] ci: run the full V test suite on arm64 (#12865) --- .cirrus.yml | 71 +++++++++++++++++++++++++++++++++++- .github/workflows/ci.yml | 43 ---------------------- vlib/v/pkgconfig/pkgconfig.v | 1 + 3 files changed, 71 insertions(+), 44 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 3015126cb2..204a8914a1 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,7 +1,8 @@ freebsd_instance: image_family: freebsd-13-0 -task: +freebsd_task: + name: Code CI / freebsd install_script: pkg install -y git script: | echo 'Building V' @@ -12,3 +13,71 @@ task: ##tcc -v -v echo 'Build cmd/tools/fast' cd cmd/tools/fast && ../../../v fast.v && ./fast -clang + + +arm64_task: + name: Code CI / arm64-ubuntu-tcc + arm_container: + image: ubuntu:latest + install_script: apt-get update -y && apt-get install --quiet -y build-essential pkg-config wget git valgrind libsqlite3-dev libssl-dev libxi-dev libxcursor-dev libfreetype6-dev libxi-dev libxcursor-dev libgl-dev xfonts-75dpi xfonts-base libmysqlclient-dev libpq-dev + env: + DEBIAN_FRONTEND: noninteractive + VFLAGS: -cc tcc -no-retry-compilation + VJOBS: 2 + script: | + set -e + + wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_arm64.deb + apt install --fix-missing -y ./wkhtmltox_0.12.6-1.focal_arm64.deb + + # ensure that a V binary can be built, even if tcc has broken for some reason + VFLAGS='-cc gcc' make + + ./v -g self + ./v -g self + + ./v -d debug_malloc -d debug_realloc -o v cmd/v + ./v -cg -cstrict -o v cmd/v + #Test v->c + thirdparty/tcc/tcc.exe -version + ./v -cg -o v cmd/v # Make sure vtcc can build itself twice + + # - name: v self compilation + ./v -o v2 cmd/v && ./v2 -o v3 cmd/v && ./v3 -o v4 cmd/v + + # - name: v self compilation with -skip-unused + ./v -skip-unused -o v2 cmd/v && ./v2 -skip-unused -o v3 cmd/v && ./v3 -skip-unused -o v4 cmd/v + + # - name: v doctor + ./v doctor + + # - name: Verify `v test` works + ./v cmd/tools/test_if_v_test_system_works.v + ./cmd/tools/test_if_v_test_system_works + + # - name: Self tests + ./v -silent test-self + + ## - name: Self tests (-cstrict) + ## ./v -cstrict test-self + + # - name: Test time functions in a timezone UTC-12 + TZ=Etc/GMT+12 ./v test vlib/time/ + # - name: Test time functions in a timezone UTC-3 + TZ=Etc/GMT+3 ./v test vlib/time/ + # - name: Test time functions in a timezone UTC+3 + TZ=Etc/GMT-3 ./v test vlib/time/ + # - name: Test time functions in a timezone UTC+12 + TZ=Etc/GMT-12 ./v test vlib/time/ + # - name: Test time functions in a timezone using daylight saving (Europe/Paris) + TZ=Europe/Paris ./v test vlib/time/ + # - name: Build examples + ./v -W build-examples + # - name: Test building v tools + ./v -W build-tools + # - name: Test v binaries + ./v build-vbinaries + # - name: Run a VSH script + ./v run examples/v_script.vsh + # - name: Test v tutorials + ./v tutorials/building_a_simple_web_blog_with_vweb/code/blog diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f4b1f75758..72648f7ada 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -114,49 +114,6 @@ jobs: - name: Build cmd/tools/fast run: cd cmd/tools/fast && ../../../v fast.v && ./fast - ubuntu-tcc-arm64: - needs: no-scheduling - runs-on: ubuntu-20.04 - timeout-minutes: 121 - steps: - - uses: actions/checkout@v2 - - uses: uraimo/run-on-arch-action@v2.0.5 - name: Run commands - id: runcmd - with: - arch: aarch64 - distro: ubuntu20.04 - env: | - VFLAGS: -cc tcc -no-retry-compilation -g - - run: | - # - name: Install dependencies - apt-get update -y - apt-get install --quiet -y build-essential git - - ## -name: Build v - make - ./v -d debug_malloc -d debug_realloc -o v cmd/v - ./v -cg -cstrict -o v cmd/v - # Test v -realloc arena allocation - ./v -o vrealloc -prealloc cmd/v && ./vrealloc -o v3 cmd/v && ./v3 -o v4 cmd/v - #Test v->c - thirdparty/tcc/tcc.exe -version - ./v -cg -o v cmd/v # Make sure vtcc can build itself twice - - # - name: v self compilation - ./v -o v2 cmd/v && ./v2 -o v3 cmd/v && ./v3 -o v4 cmd/v - - # - name: v self compilation with -skip-unused - ./v -skip-unused -o v2 cmd/v && ./v2 -skip-unused -o v3 cmd/v && ./v3 -skip-unused -o v4 cmd/v - - # - name: v doctor - ./v doctor - - # TODO: run the full V test suite - # qemu is very slow, and it also sometimes produces failures that do not occur on real CPUs - - ubuntu-tcc-boehm-gc: needs: no-scheduling runs-on: ubuntu-20.04 diff --git a/vlib/v/pkgconfig/pkgconfig.v b/vlib/v/pkgconfig/pkgconfig.v index 8c60b84b09..3eec069825 100644 --- a/vlib/v/pkgconfig/pkgconfig.v +++ b/vlib/v/pkgconfig/pkgconfig.v @@ -10,6 +10,7 @@ const ( '/usr/local/lib/pkgconfig', '/usr/local/share/pkgconfig', '/usr/lib/x86_64-linux-gnu/pkgconfig', + '/usr/lib/aarch64-linux-gnu/pkgconfig', '/usr/lib64/pkgconfig', '/usr/lib/pkgconfig', '/usr/share/pkgconfig',