ci: run `code-formatting` job before everything else (try 2) (#14379)

master
Daniel Däschle 2022-05-12 20:58:11 +02:00 committed by GitHub
parent 8ef9dc6247
commit 0972e67f72
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 157 additions and 126 deletions

View File

@ -14,6 +14,7 @@ concurrency:
jobs: jobs:
ubuntu-tcc: ubuntu-tcc:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 121 timeout-minutes: 121
env: env:
@ -90,6 +91,7 @@ jobs:
./v3 -o tetris -usecache examples/tetris/tetris.v ./v3 -o tetris -usecache examples/tetris/tetris.v
ubuntu-tcc-boehm-gc: ubuntu-tcc-boehm-gc:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 121 timeout-minutes: 121
env: env:
@ -144,6 +146,7 @@ jobs:
[ "$(stat -c %s leaks.txt)" = "0" ] [ "$(stat -c %s leaks.txt)" = "0" ]
macos: macos:
needs: [code-formatting]
runs-on: macOS-latest runs-on: macOS-latest
timeout-minutes: 121 timeout-minutes: 121
env: env:
@ -231,6 +234,7 @@ jobs:
./v3 -o tetris -usecache examples/tetris/tetris.v ./v3 -o tetris -usecache examples/tetris/tetris.v
ubuntu: ubuntu:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 121 timeout-minutes: 121
steps: steps:
@ -328,6 +332,7 @@ jobs:
# github-token: ${{ secrets.GITHUB_TOKEN }} # github-token: ${{ secrets.GITHUB_TOKEN }}
ubuntu-clang: ubuntu-clang:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 121 timeout-minutes: 121
env: env:
@ -412,6 +417,7 @@ jobs:
ls ls
windows-gcc: windows-gcc:
needs: [code-formatting]
runs-on: windows-2019 runs-on: windows-2019
timeout-minutes: 121 timeout-minutes: 121
env: env:
@ -472,6 +478,7 @@ jobs:
run: .\v.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v run: .\v.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v
windows-msvc: windows-msvc:
needs: [code-formatting]
runs-on: windows-2019 runs-on: windows-2019
timeout-minutes: 121 timeout-minutes: 121
env: env:
@ -516,6 +523,7 @@ jobs:
run: .\v.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v run: .\v.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v
windows-tcc: windows-tcc:
needs: [code-formatting]
runs-on: windows-2019 runs-on: windows-2019
timeout-minutes: 121 timeout-minutes: 121
env: env:
@ -608,7 +616,6 @@ jobs:
## - name: v2 self compilation ## - name: v2 self compilation
## run: .\v.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v ## run: .\v.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v
# ubuntu-autofree-selfcompile: # ubuntu-autofree-selfcompile:
# runs-on: ubuntu-20.04 # runs-on: ubuntu-20.04
# timeout-minutes: 121 # timeout-minutes: 121
@ -621,7 +628,6 @@ jobs:
# - name: V self compilation with -autofree # - name: V self compilation with -autofree
# run: ./v -o v2 -autofree cmd/v && ./v2 -o v3 -autofree cmd/v && ./v3 -o v4 -autofree cmd/v # run: ./v -o v2 -autofree cmd/v && ./v2 -o v3 -autofree cmd/v && ./v3 -o v4 -autofree cmd/v
# ubuntu-musl: # ubuntu-musl:
# runs-on: ubuntu-20.04 # runs-on: ubuntu-20.04
# timeout-minutes: 121 # timeout-minutes: 121

View File

@ -10,6 +10,7 @@ on:
jobs: jobs:
ubuntu: ubuntu:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 30 timeout-minutes: 30
env: env:
@ -48,6 +49,7 @@ jobs:
./v2 -o v3 cmd/v ./v2 -o v3 cmd/v
macos: macos:
needs: [code-formatting]
runs-on: macos-11 runs-on: macos-11
timeout-minutes: 30 timeout-minutes: 30
env: env:

View File

@ -9,8 +9,8 @@ on:
- "**.md" - "**.md"
jobs: jobs:
macos-cross: macos-cross:
needs: [code-formatting]
runs-on: macOS-latest runs-on: macOS-latest
timeout-minutes: 25 timeout-minutes: 25
env: env:
@ -47,6 +47,7 @@ jobs:
./v -os android examples/toml.v ./v -os android examples/toml.v
linux-cross: linux-cross:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 25 timeout-minutes: 25
env: env:
@ -98,8 +99,8 @@ jobs:
# Test that V can compile non-graphic app to Android compatible code *without* using the -apk flag # Test that V can compile non-graphic app to Android compatible code *without* using the -apk flag
./v -os android examples/toml.v ./v -os android examples/toml.v
windows-cross: windows-cross:
needs: [code-formatting]
runs-on: windows-2019 runs-on: windows-2019
timeout-minutes: 25 timeout-minutes: 25
steps: steps:

View File

@ -14,58 +14,58 @@ name: Sanitized CI
on: on:
push: push:
paths: paths:
- '!**' - "!**"
- 'cmd/tools/vtest*' - "cmd/tools/vtest*"
- 'cmd/tools/builders/**.v' - "cmd/tools/builders/**.v"
- 'vlib/builtin/**.v' - "vlib/builtin/**.v"
- 'vlib/strconv/**.v' - "vlib/strconv/**.v"
- 'vlib/strings/**.v' - "vlib/strings/**.v"
- 'vlib/math/**.v' - "vlib/math/**.v"
- 'vlib/math/big/**.v' - "vlib/math/big/**.v"
- 'vlib/arrays/**.v' - "vlib/arrays/**.v"
- 'vlib/datatypes/**.v' - "vlib/datatypes/**.v"
- 'vlib/os/**.v' - "vlib/os/**.v"
- 'vlib/sync/**.v' - "vlib/sync/**.v"
- 'vlib/v/tests/**.v' - "vlib/v/tests/**.v"
- 'vlib/v/ast/**.v' - "vlib/v/ast/**.v"
- 'vlib/v/scanner/**.v' - "vlib/v/scanner/**.v"
- 'vlib/v/parser/**.v' - "vlib/v/parser/**.v"
- 'vlib/v/checker/**.v' - "vlib/v/checker/**.v"
- 'vlib/v/gen/c/**.v' - "vlib/v/gen/c/**.v"
- 'vlib/v/builder/**.v' - "vlib/v/builder/**.v"
- 'vlib/v/cflag/**.v' - "vlib/v/cflag/**.v"
- 'vlib/v/live/**.v' - "vlib/v/live/**.v"
- 'vlib/v/util/**.v' - "vlib/v/util/**.v"
- 'vlib/v/markused/**.v' - "vlib/v/markused/**.v"
- 'vlib/v/preludes/**.v' - "vlib/v/preludes/**.v"
- 'vlib/v/embed_file/**.v' - "vlib/v/embed_file/**.v"
pull_request: pull_request:
paths: paths:
- '!**' - "!**"
- 'cmd/tools/vtest*' - "cmd/tools/vtest*"
- 'cmd/tools/builders/**.v' - "cmd/tools/builders/**.v"
- 'vlib/builtin/**.v' - "vlib/builtin/**.v"
- 'vlib/strconv/**.v' - "vlib/strconv/**.v"
- 'vlib/strings/**.v' - "vlib/strings/**.v"
- 'vlib/math/**.v' - "vlib/math/**.v"
- 'vlib/math/big/**.v' - "vlib/math/big/**.v"
- 'vlib/arrays/**.v' - "vlib/arrays/**.v"
- 'vlib/datatypes/**.v' - "vlib/datatypes/**.v"
- 'vlib/os/**.v' - "vlib/os/**.v"
- 'vlib/sync/**.v' - "vlib/sync/**.v"
- 'vlib/v/tests/**.v' - "vlib/v/tests/**.v"
- 'vlib/v/ast/**.v' - "vlib/v/ast/**.v"
- 'vlib/v/scanner/**.v' - "vlib/v/scanner/**.v"
- 'vlib/v/parser/**.v' - "vlib/v/parser/**.v"
- 'vlib/v/checker/**.v' - "vlib/v/checker/**.v"
- 'vlib/v/gen/c/**.v' - "vlib/v/gen/c/**.v"
- 'vlib/v/builder/**.v' - "vlib/v/builder/**.v"
- 'vlib/v/cflag/**.v' - "vlib/v/cflag/**.v"
- 'vlib/v/live/**.v' - "vlib/v/live/**.v"
- 'vlib/v/util/**.v' - "vlib/v/util/**.v"
- 'vlib/v/markused/**.v' - "vlib/v/markused/**.v"
- 'vlib/v/preludes/**.v' - "vlib/v/preludes/**.v"
- 'vlib/v/embed_file/**.v' - "vlib/v/embed_file/**.v"
concurrency: concurrency:
group: build-sanitized-${{ github.event.pull_request.number || github.sha }} group: build-sanitized-${{ github.event.pull_request.number || github.sha }}
@ -73,6 +73,7 @@ concurrency:
jobs: jobs:
tests-sanitize-undefined-clang: tests-sanitize-undefined-clang:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 180 timeout-minutes: 180
env: env:
@ -98,6 +99,7 @@ jobs:
run: ./v2 build-examples run: ./v2 build-examples
tests-sanitize-undefined-gcc: tests-sanitize-undefined-gcc:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 180 timeout-minutes: 180
env: env:
@ -122,6 +124,7 @@ jobs:
run: ./v2 build-examples run: ./v2 build-examples
tests-sanitize-address-clang: tests-sanitize-address-clang:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 180 timeout-minutes: 180
env: env:
@ -144,13 +147,13 @@ jobs:
- name: Self tests (-fsanitize=address) - name: Self tests (-fsanitize=address)
run: ASAN_OPTIONS=detect_leaks=0 ./v -cflags "-fsanitize=address,pointer-compare,pointer-subtract" test-self run: ASAN_OPTIONS=detect_leaks=0 ./v -cflags "-fsanitize=address,pointer-compare,pointer-subtract" test-self
- name: Self tests (V compiled with -fsanitize=address) - name: Self tests (V compiled with -fsanitize=address)
run: run: ./v -cflags -fsanitize=address -o v cmd/v &&
./v -cflags -fsanitize=address -o v cmd/v &&
ASAN_OPTIONS=detect_leaks=0 ./v -cc tcc test-self -asan-compiler ASAN_OPTIONS=detect_leaks=0 ./v -cc tcc test-self -asan-compiler
- name: Build examples (V compiled with -fsanitize=address) - name: Build examples (V compiled with -fsanitize=address)
run: ASAN_OPTIONS=detect_leaks=0 ./v build-examples run: ASAN_OPTIONS=detect_leaks=0 ./v build-examples
tests-sanitize-address-msvc: tests-sanitize-address-msvc:
needs: [code-formatting]
runs-on: windows-2019 runs-on: windows-2019
timeout-minutes: 180 timeout-minutes: 180
env: env:
@ -177,6 +180,7 @@ jobs:
## .\v.exe -cflags "/fsanitize=address" test-self ## .\v.exe -cflags "/fsanitize=address" test-self
tests-sanitize-address-gcc: tests-sanitize-address-gcc:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 180 timeout-minutes: 180
env: env:
@ -206,6 +210,7 @@ jobs:
run: ASAN_OPTIONS=detect_leaks=0 ./v build-examples run: ASAN_OPTIONS=detect_leaks=0 ./v build-examples
tests-sanitize-memory-clang: tests-sanitize-memory-clang:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 180 timeout-minutes: 180
env: env:
@ -228,7 +233,6 @@ jobs:
- name: Self tests (-fsanitize=memory) - name: Self tests (-fsanitize=memory)
run: ./v -cflags -fsanitize=memory test-self run: ./v -cflags -fsanitize=memory test-self
- name: Self tests (V compiled with -fsanitize=memory) - name: Self tests (V compiled with -fsanitize=memory)
run: run: ./v -cflags -fsanitize=memory -o v cmd/v && ./v -cc tcc test-self -msan-compiler
./v -cflags -fsanitize=memory -o v cmd/v && ./v -cc tcc test-self -msan-compiler
- name: Build examples (V compiled with -fsanitize=memory) - name: Build examples (V compiled with -fsanitize=memory)
run: ./v build-examples run: ./v build-examples

View File

@ -10,6 +10,7 @@ on:
jobs: jobs:
run: run:
needs: [code-formatting]
name: Run name: Run
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:

View File

@ -13,8 +13,8 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
alpine-docker-musl-gcc: alpine-docker-musl-gcc:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 121 timeout-minutes: 121
container: container:
@ -46,6 +46,7 @@ jobs:
run: ./v test-self run: ./v test-self
ubuntu-docker-musl: ubuntu-docker-musl:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 121 timeout-minutes: 121
container: container:

View File

@ -3,8 +3,8 @@ name: Debug CI
on: [workflow_dispatch] on: [workflow_dispatch]
jobs: jobs:
debug-msvc: debug-msvc:
needs: [code-formatting]
runs-on: windows-2019 runs-on: windows-2019
timeout-minutes: 121 timeout-minutes: 121
env: env:

View File

@ -6,6 +6,7 @@ on: [push, pull_request]
jobs: jobs:
check-markdown: check-markdown:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 5 timeout-minutes: 5
steps: steps:
@ -18,6 +19,7 @@ jobs:
## thus real errors are easier to spot. ## thus real errors are easier to spot.
report-missing-fn-doc: report-missing-fn-doc:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 5 timeout-minutes: 5
env: env:

View File

@ -10,6 +10,7 @@ on:
jobs: jobs:
gg-regressions: gg-regressions:
needs: [code-formatting]
runs-on: ubuntu-18.04 runs-on: ubuntu-18.04
timeout-minutes: 10 timeout-minutes: 10
env: env:

View File

@ -8,6 +8,7 @@ on:
jobs: jobs:
build-module-docs: build-module-docs:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2

View File

@ -14,6 +14,7 @@ concurrency:
jobs: jobs:
no-gpl-by-accident: no-gpl-by-accident:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 15 timeout-minutes: 15
steps: steps:
@ -23,7 +24,9 @@ jobs:
! grep -r --exclude="*.yml" "a GPL license" . ! grep -r --exclude="*.yml" "a GPL license" .
code-formatting: code-formatting:
runs-on: ubuntu-20.04 ### NOTE: code-formatting is run *BEFORE* everything else, to detect formatting problems earlier.
### It uses a separate runner to minimize the chance of bottlenecking all the rest of the jobs.
runs-on: ubuntu-22.04
timeout-minutes: 15 timeout-minutes: 15
env: env:
VFLAGS: -cc gcc VFLAGS: -cc gcc
@ -39,6 +42,7 @@ jobs:
run: ./v test-fmt run: ./v test-fmt
performance-regressions: performance-regressions:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 15 timeout-minutes: 15
env: env:
@ -63,6 +67,7 @@ jobs:
run: cmd/tools/repeat --max_time 1501 --series 3 --count 20 --nmins 2 --nmaxs 5 --warmup 3 --fail_percent 10 -t 'cd {T} ; ./v -show-timings -o v.c cmd/v' . ./vmaster run: cmd/tools/repeat --max_time 1501 --series 3 --count 20 --nmins 2 --nmaxs 5 --warmup 3 --fail_percent 10 -t 'cd {T} ; ./v -show-timings -o v.c cmd/v' . ./vmaster
misc-tooling: misc-tooling:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 121 timeout-minutes: 121
env: env:
@ -90,7 +95,8 @@ jobs:
## run: ./v -cc g++-9 test-self ## run: ./v -cc g++-9 test-self
- name: Ensure V can be compiled with -autofree - name: Ensure V can be compiled with -autofree
run: ./v -autofree -o v2 cmd/v ## NB: this does not mean it runs, but at least keeps it from regressing ## NB: this does not mean it runs, but at least keeps it from regressing
run: ./v -autofree -o v2 cmd/v
- name: Shader examples can be build - name: Shader examples can be build
run: | run: |
@ -109,6 +115,7 @@ jobs:
./v should-compile-all examples/sokol/*.v examples/sokol/0?*/*.v ./v should-compile-all examples/sokol/*.v examples/sokol/0?*/*.v
parser-silent: parser-silent:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 121 timeout-minutes: 121
steps: steps:
@ -147,6 +154,7 @@ jobs:
./v test-parser -S examples/2048/2048_fuzz.v ./v test-parser -S examples/2048/2048_fuzz.v
v-apps-compile: v-apps-compile:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 121 timeout-minutes: 121
steps: steps:
@ -230,7 +238,6 @@ jobs:
- name: Test libsodium - name: Test libsodium
run: VJOBS=1 ./v -stats test ~/.vmodules/libsodium run: VJOBS=1 ./v -stats test ~/.vmodules/libsodium
## vex ## vex
- name: Install Vex dependencies - name: Install Vex dependencies
run: sudo apt-get install --quiet -y libsodium-dev libssl-dev sqlite3 libsqlite3-dev run: sudo apt-get install --quiet -y libsodium-dev libssl-dev sqlite3 libsqlite3-dev

View File

@ -13,12 +13,12 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
space-paths-linux: space-paths-linux:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 30 timeout-minutes: 30
env: env:
MY_V_PATH: '你好 my $path, @с интервали' MY_V_PATH: "你好 my $path, @с интервали"
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with: with:
@ -40,10 +40,11 @@ jobs:
./v test vlib/builtin vlib/os ./v test vlib/builtin vlib/os
space-paths-macos: space-paths-macos:
needs: [code-formatting]
runs-on: macOS-latest runs-on: macOS-latest
timeout-minutes: 30 timeout-minutes: 30
env: env:
MY_V_PATH: '你好 my $path, @с интервали' MY_V_PATH: "你好 my $path, @с интервали"
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with: with:
@ -68,10 +69,11 @@ jobs:
./v test vlib/builtin vlib/os ./v test vlib/builtin vlib/os
space-paths-windows: space-paths-windows:
needs: [code-formatting]
runs-on: windows-2022 runs-on: windows-2022
timeout-minutes: 30 timeout-minutes: 30
env: env:
MY_V_PATH: 'path with some $punctuation, and some spaces' MY_V_PATH: "path with some $punctuation, and some spaces"
## NB: the following paths do not work for now: ## NB: the following paths do not work for now:
##### MY_V_PATH: '你好 my $path, @с интервали' ##### MY_V_PATH: '你好 my $path, @с интервали'

View File

@ -10,6 +10,7 @@ on:
jobs: jobs:
v-compiles-sdl-examples: v-compiles-sdl-examples:
needs: [code-formatting]
runs-on: ubuntu-18.04 runs-on: ubuntu-18.04
timeout-minutes: 30 timeout-minutes: 30
env: env:

View File

@ -10,6 +10,7 @@ on:
jobs: jobs:
toml-module-pass-external-test-suites: toml-module-pass-external-test-suites:
needs: [code-formatting]
runs-on: ubuntu-18.04 runs-on: ubuntu-18.04
timeout-minutes: 30 timeout-minutes: 30
env: env:
@ -22,7 +23,6 @@ jobs:
VTEST_TOML_DO_LARGE_FILES: 1 VTEST_TOML_DO_LARGE_FILES: 1
VTEST_TOML_DO_YAML_CONVERSION: 1 VTEST_TOML_DO_YAML_CONVERSION: 1
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Install dependencies - name: Install dependencies
run: | run: |

View File

@ -10,6 +10,7 @@ on:
jobs: jobs:
vab-compiles-v-examples: vab-compiles-v-examples:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 121 timeout-minutes: 121
env: env:
@ -17,7 +18,7 @@ jobs:
steps: steps:
- uses: actions/setup-java@v2 - uses: actions/setup-java@v2
with: with:
distribution: 'adopt' distribution: "adopt"
java-version: 8 java-version: 8
- uses: actions/checkout@v2 - uses: actions/checkout@v2

View File

@ -12,6 +12,7 @@ on:
jobs: jobs:
vinix-build: vinix-build:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2

View File

@ -10,6 +10,7 @@ on:
jobs: jobs:
websocket_tests: websocket_tests:
needs: [code-formatting]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
timeout-minutes: 121 timeout-minutes: 121
env: env:
@ -87,4 +88,3 @@ jobs:
with: with:
name: client wss name: client wss
path: ${{github.workspace}}/reports_wss/clients/index.html path: ${{github.workspace}}/reports_wss/clients/index.html