v / .github / workflows
Raw file | 73 loc (60 sloc) | 2.64 KB | Latest commit hash fd472d2d4
1name: toml CI
2
3on:
4 push:
5 paths-ignore:
6 - "**.md"
7 pull_request:
8 paths-ignore:
9 - "**.md"
10
11jobs:
12 toml-module-pass-external-test-suites:
13 runs-on: ubuntu-latest
14 if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
15 timeout-minutes: 30
16 env:
17 TOML_BS_TESTS_PATH: vlib/toml/tests/testdata/burntsushi/toml-test
18 TOML_BS_TESTS_PINNED_COMMIT: 4634fdf
19 TOML_IARNA_TESTS_PATH: vlib/toml/tests/testdata/iarna/toml-test
20 TOML_IARNA_TESTS_PINNED_COMMIT: 1880b1a
21 TOML_AC_TESTS_PATH: vlib/toml/tests/testdata/alexcrichton/toml-test
22 TOML_AC_TESTS_PINNED_COMMIT: 499e8c4
23 VTEST_TOML_DO_LARGE_FILES: 1
24 VTEST_TOML_DO_YAML_CONVERSION: 1
25 steps:
26
27 - uses: actions/checkout@v3
28 - name: Install dependencies
29 run: |
30 sudo apt-get update
31 sudo apt-get install --quiet -y jq libgc-dev
32 - name: Build V
33 run: make -j2 && ./v -cc gcc -o v cmd/v
34
35 - name: Show JQ Version
36 run: jq --version
37
38 - name: Run local TOML tests
39 run: ./v test vlib/toml
40
41 # Tests found at https://github.com/BurntSushi/toml-test
42 - name: Clone BurntSushi/toml-test
43 run: |
44 git clone -n https://github.com/BurntSushi/toml-test.git $TOML_BS_TESTS_PATH
45 git -C $TOML_BS_TESTS_PATH checkout $TOML_BS_TESTS_PINNED_COMMIT
46
47 - name: Run BurntSushi TOML tests
48 run: ./v vlib/toml/tests/burntsushi_toml_test.v
49
50 # Tests found at gist
51 - name: Get large_toml_file_test.toml
52 run: wget https://gist.githubusercontent.com/Larpon/89b0e3d94c6903851ff15559e5df7a05/raw/62a1f87a4e37bf157f2e0bfb32d85d840c98e422/large_toml_file_test.toml -O vlib/toml/tests/testdata/large_toml_file_test.toml
53
54 - name: Run large TOML file tests
55 run: ./v vlib/toml/tests/large_toml_file_test.v
56
57 # Tests found at https://github.com/iarna/toml-spec-tests
58 - name: Clone iarna/toml-spec-tests
59 run: |
60 git clone -n https://github.com/iarna/toml-spec-tests.git $TOML_IARNA_TESTS_PATH
61 git -C $TOML_IARNA_TESTS_PATH checkout $TOML_IARNA_TESTS_PINNED_COMMIT
62
63 - name: Run iarna TOML tests
64 run: ./v -gc boehm vlib/toml/tests/iarna_toml_spec_test.v
65
66 # Tests found at https://github.com/alexcrichton/toml-rs
67 - name: Clone alexcrichton/toml-rs
68 run: |
69 git clone -n https://github.com/alexcrichton/toml-rs.git $TOML_AC_TESTS_PATH
70 git -C $TOML_AC_TESTS_PATH checkout $TOML_AC_TESTS_PINNED_COMMIT
71
72 - name: Run alexcrichton TOML tests
73 run: ./v vlib/toml/tests/alexcrichton_toml_rs_test.v