1 | name: toml CI |
2 | |
3 | on: |
4 | push: |
5 | paths-ignore: |
6 | - "**.md" |
7 | pull_request: |
8 | paths-ignore: |
9 | - "**.md" |
10 | |
11 | jobs: |
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 |