diff --git a/.github/workflows/c2v_ci.yml b/.github/workflows/c2v_ci.yml index 21801e5b92c23d..56a0d609f5611c 100644 --- a/.github/workflows/c2v_ci.yml +++ b/.github/workflows/c2v_ci.yml @@ -9,6 +9,8 @@ on: - 'doc/**' - 'examples/**' - 'tutorials/**' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' pull_request: paths-ignore: - '**.md' @@ -17,6 +19,8 @@ on: - 'doc/**' - 'examples/**' - 'tutorials/**' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} diff --git a/.github/workflows/cross_ci.yml b/.github/workflows/cross_ci.yml index 5b2f64f117eeb9..e5f6647cd132ff 100644 --- a/.github/workflows/cross_ci.yml +++ b/.github/workflows/cross_ci.yml @@ -3,14 +3,18 @@ name: Cross CI on: push: paths-ignore: - - "**.md" + - '**.md' - '**.yml' - '!**/cross_ci.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' pull_request: paths-ignore: - - "**.md" + - '**.md' - '**.yml' - '!**/cross_ci.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} diff --git a/.github/workflows/docker_alpine.yml b/.github/workflows/docker_alpine.yml index 9ca02779dcd3de..f7359cac3416e7 100644 --- a/.github/workflows/docker_alpine.yml +++ b/.github/workflows/docker_alpine.yml @@ -3,14 +3,18 @@ name: Docker Alpine MUSL CI on: push: paths-ignore: - - "**.md" - - "**.yml" + - '**.md' + - '**.yml' - '!**/docker_alpine.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' pull_request: paths-ignore: - - "**.md" - - "**.yml" + - '**.md' + - '**.yml' - '!**/docker_alpine.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} diff --git a/.github/workflows/docker_ubuntu.yml b/.github/workflows/docker_ubuntu.yml index a9ecaa308eba30..fbf89dc96671f8 100644 --- a/.github/workflows/docker_ubuntu.yml +++ b/.github/workflows/docker_ubuntu.yml @@ -3,14 +3,18 @@ name: Docker Ubuntu MUSL CI on: push: paths-ignore: - - "**.md" - - "**.yml" - - "!**/docker_ubuntu.yml" + - '**.md' + - '**.yml' + - '!**/docker_ubuntu.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' pull_request: paths-ignore: - - "**.md" - - "**.yml" - - "!**/docker_ubuntu.yml" + - '**.md' + - '**.yml' + - '!**/docker_ubuntu.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} @@ -46,4 +50,4 @@ jobs: run: ./v test-cleancode - name: Test V fixed tests - run: ./v test-self + run: ./v test-self vlib diff --git a/.github/workflows/gen_vc_ci.yml b/.github/workflows/gen_vc_ci.yml index a15063491d7eb0..43026c1976fcb1 100644 --- a/.github/workflows/gen_vc_ci.yml +++ b/.github/workflows/gen_vc_ci.yml @@ -5,16 +5,20 @@ on: paths-ignore: - '**.vv' - '**.out' - - '**.yml' - '**.md' + - '**.yml' - '!**/gen_vc_ci.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' push: paths-ignore: - '**.vv' - '**.out' - - '**.yml' - '**.md' + - '**.yml' - '!**/gen_vc_ci.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. diff --git a/.github/workflows/gg_regressions_ci.yml b/.github/workflows/gg_regressions_ci.yml index 04ed2ecdbd2d84..e992818e95a10b 100644 --- a/.github/workflows/gg_regressions_ci.yml +++ b/.github/workflows/gg_regressions_ci.yml @@ -2,15 +2,19 @@ name: Graphics CI on: push: - paths-ignore: - - "**.md" - - '**.yml' - - '!**/gg_regressions_ci.yml' + paths: + - 'vlib/**' + - 'thirdparty/**' + - 'cmd/tools/builders/**.v' + - '**/gg_regressions_ci.yml' + - '!**.md' pull_request: - paths-ignore: - - "**.md" - - '**.yml' - - '!**/gg_regressions_ci.yml' + paths: + - 'vlib/**' + - 'thirdparty/**' + - 'cmd/tools/builders/**.v' + - '**/gg_regressions_ci.yml' + - '!**.md' concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} diff --git a/.github/workflows/linux_ci.yml b/.github/workflows/linux_ci.yml index ecd139df19861a..fd1180d63bdbde 100644 --- a/.github/workflows/linux_ci.yml +++ b/.github/workflows/linux_ci.yml @@ -6,17 +6,16 @@ on: - '**.md' - '**.yml' - '!**/linux_ci.yml' - - 'cmd/tools' + - 'cmd/tools/**' - '!cmd/tools/builders/**.v' pull_request: paths-ignore: - '**.md' - '**.yml' - '!**/linux_ci.yml' - - 'cmd/tools' + - 'cmd/tools/**' - '!cmd/tools/builders/**.v' - concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} cancel-in-progress: true diff --git a/.github/workflows/macos_ci.yml b/.github/workflows/macos_ci.yml index 927644be54158f..e7bdfd17deaff4 100644 --- a/.github/workflows/macos_ci.yml +++ b/.github/workflows/macos_ci.yml @@ -6,14 +6,14 @@ on: - '**.md' - '**.yml' - '!**/macos_ci.yml' - - 'cmd/tools' + - 'cmd/tools/**' - '!cmd/tools/builders/**.v' pull_request: paths-ignore: - '**.md' - '**.yml' - '!**/macos_ci.yml' - - 'cmd/tools' + - 'cmd/tools/**' - '!cmd/tools/builders/**.v' concurrency: diff --git a/.github/workflows/module_docs_ci.yml b/.github/workflows/module_docs_ci.yml index b2261827ac7702..9f29772d6d6dee 100644 --- a/.github/workflows/module_docs_ci.yml +++ b/.github/workflows/module_docs_ci.yml @@ -2,19 +2,15 @@ name: vlib modules CI on: pull_request: - paths-ignore: - - '**.vv' - - '**.out' - - '**.yml' - - '**.md' - - '!**/module_docs_ci.yml' + paths: + - 'vlib/**.v' + - 'vlib/**.md' + - '**/module_docs_ci.yml' push: - paths-ignore: - - '**.vv' - - '**.out' - - '**.yml' - - '**.md' - - '!**/module_docs_ci.yml' + paths: + - 'vlib/**.v' + - 'vlib/**.md' + - '**/module_docs_ci.yml' # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. diff --git a/.github/workflows/other_ci.yml b/.github/workflows/other_ci.yml index fa4c85e3827a57..10aaf24eecb4ed 100644 --- a/.github/workflows/other_ci.yml +++ b/.github/workflows/other_ci.yml @@ -6,11 +6,15 @@ on: - '**.md' - '**.yml' - '!**/other_ci.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' pull_request: paths-ignore: - '**.md' - '**.yml' - '!**/other_ci.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} diff --git a/.github/workflows/sdl_ci.yml b/.github/workflows/sdl_ci.yml index 8ef0b25b627976..3c631ceaac8256 100644 --- a/.github/workflows/sdl_ci.yml +++ b/.github/workflows/sdl_ci.yml @@ -3,15 +3,21 @@ name: sdl CI on: workflow_dispatch: push: - paths-ignore: - - "**.md" - - "**.yml" - - '!**/sdl_ci.yml' + paths: + - 'vlib/**' + - 'thirdparty/**' + - 'cmd/tools/builders/**.v' + - 'cmd/tools/vshader.v' + - '**/sdl_ci.yml' + - '!**.md' pull_request: - paths-ignore: - - "**.md" - - "**.yml" - - '!**/sdl_ci.yml' + paths: + - 'vlib/**' + - 'thirdparty/**' + - 'cmd/tools/builders/**.v' + - 'cmd/tools/vshader.v' + - '**/sdl_ci.yml' + - '!**.md' concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} diff --git a/.github/workflows/time_ci.yml b/.github/workflows/time_ci.yml index dd7335e9d0678d..86c24604be739e 100644 --- a/.github/workflows/time_ci.yml +++ b/.github/workflows/time_ci.yml @@ -2,15 +2,17 @@ name: Time CI on: push: - paths-ignore: - - '**.md' - - '**.yml' - - '!**/time_ci.yml' + paths: + - 'vlib/**' + - 'cmd/tools/builders/**.v' + - '**/time_ci.yml' + - '!**.md' pull_request: - paths-ignore: - - '**.md' - - '**.yml' - - '!**/time_ci.yml' + paths: + - 'vlib/**' + - 'cmd/tools/builders/**.v' + - '**/time_ci.yml' + - '!**.md' concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} diff --git a/.github/workflows/toml_ci.yml b/.github/workflows/toml_ci.yml index 83d53b30486c88..e28bda95b88855 100644 --- a/.github/workflows/toml_ci.yml +++ b/.github/workflows/toml_ci.yml @@ -2,15 +2,15 @@ name: toml CI on: push: - paths-ignore: - - "**.md" - - '**.yml' - - '!**/toml_ci.yml' + paths: + - 'vlib/**' + - '**/toml_ci.yml' + - '!**.md' pull_request: - paths-ignore: - - "**.md" - - '**.yml' - - '!**/toml_ci.yml' + paths: + - 'vlib/**' + - '**/toml_ci.yml' + - '!**.md' concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} diff --git a/.github/workflows/tools_ci.yml b/.github/workflows/tools_ci.yml index 5530d3a432f576..f07d454b757ed5 100644 --- a/.github/workflows/tools_ci.yml +++ b/.github/workflows/tools_ci.yml @@ -92,3 +92,28 @@ jobs: - name: Test (-cstrict) if: ${{ matrix.cc == 'msvc' }} run: ./v -W -cstrict test-self cmd + + ubuntu-docker-musl: + runs-on: ubuntu-20.04 + timeout-minutes: 121 + container: + image: thevlang/vlang:ubuntu-build + env: + V_CI_MUSL: 1 + V_CI_UBUNTU_MUSL: 1 + VFLAGS: -cc musl-gcc -gc none + volumes: + - ${{github.workspace}}:/opt/vlang + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build V + run: make -j4 && ./v -cg -o v cmd/v + - name: Verify `v test` works + run: | + ./v cmd/tools/test_if_v_test_system_works.v + ./cmd/tools/test_if_v_test_system_works + - name: Test + run: ./v test-self cmd + - name: Test (-cstrict) + run: ./v -W -cstrict test-self cmd diff --git a/.github/workflows/vab_ci.yml b/.github/workflows/vab_ci.yml index 50d9f2205ddf65..6397d306e6a7b9 100644 --- a/.github/workflows/vab_ci.yml +++ b/.github/workflows/vab_ci.yml @@ -3,15 +3,19 @@ name: vab CI on: workflow_call: push: - paths-ignore: - - "**.md" - - '**.yml' - - '!**/vab_ci.yml' + paths: + - 'vlib/**' + - 'thirdparty/**' + - 'cmd/tools/builders/**.v' + - '**/vab_ci.yml' + - '!**.md' pull_request: - paths-ignore: - - "**.md" - - '**.yml' - - '!**/vab_ci.yml' + paths: + - 'vlib/**' + - 'thirdparty/**' + - 'cmd/tools/builders/**.v' + - '**/vab_ci.yml' + - '!**.md' concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} diff --git a/.github/workflows/websockets_ci.yml b/.github/workflows/websockets_ci.yml index abf47f4743828e..c1a683af7b2349 100644 --- a/.github/workflows/websockets_ci.yml +++ b/.github/workflows/websockets_ci.yml @@ -3,14 +3,18 @@ name: Websockets CI on: push: paths-ignore: - - "**.md" + - '**.md' - '**.yml' - '!**/websockets_ci.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' pull_request: paths-ignore: - - "**.md" + - '**.md' - '**.yml' - '!**/websockets_ci.yml' + - 'cmd/tools/**' + - '!cmd/tools/builders/**.v' concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} @@ -37,7 +41,7 @@ jobs: - name: Run websockets tests run: ./v -g test vlib/net/websocket/ - ## Autobahn integrations tests + ## Autobahn integrations tests - name: Run autobahn services run: docker-compose -f ${{github.workspace}}/vlib/net/websocket/tests/autobahn/docker-compose.yml up -d @@ -95,4 +99,3 @@ jobs: with: name: client wss path: ${{github.workspace}}/reports_wss/clients/index.html - diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 22662edfa1b0bf..ac2088f4d2d1c2 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -6,14 +6,14 @@ on: - '**.md' - '**.yml' - '!**/windows_ci.yml' - - 'cmd/tools' + - 'cmd/tools/**' - '!cmd/tools/builders/**.v' pull_request: paths-ignore: - '**.md' - '**.yml' - '!**/windows_ci.yml' - - 'cmd/tools' + - 'cmd/tools/**' - '!cmd/tools/builders/**.v' concurrency: