Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: expr-lang/expr
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.1.2
Choose a base ref
...
head repository: expr-lang/expr
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Oct 12, 2018

  1. Update docs

    antonmedv committed Oct 12, 2018
    Copy the full SHA
    5846dec View commit details

Commits on Oct 19, 2018

  1. Delete toBool and toText

    antonmedv committed Oct 19, 2018
    Copy the full SHA
    7df0cda View commit details
  2. Update bench

    antonmedv committed Oct 19, 2018
    Copy the full SHA
    5c4a60d View commit details

Commits on Oct 21, 2018

  1. Test on more go versions

    antonmedv committed Oct 21, 2018
    Copy the full SHA
    59b1ec8 View commit details

Commits on Oct 22, 2018

  1. Remove Type alias

    antonmedv committed Oct 22, 2018
    Copy the full SHA
    3001a80 View commit details

Commits on Dec 2, 2018

  1. Update README.md

    antonmedv authored Dec 2, 2018
    Copy the full SHA
    3c8fc57 View commit details

Commits on Jan 19, 2019

  1. Add support for method of map.

    szyhf authored and antonmedv committed Jan 19, 2019
    Copy the full SHA
    c807621 View commit details
  2. Improve the reflect of getFunc(...)

    szyhf authored and antonmedv committed Jan 19, 2019
    Copy the full SHA
    dc7e436 View commit details
  3. Add tests for support method of map.

    szyhf authored and antonmedv committed Jan 19, 2019
    Copy the full SHA
    674ce63 View commit details

Commits on May 27, 2019

  1. expr v2

    antonmedv authored May 27, 2019
    Copy the full SHA
    e4f3b41 View commit details
  2. Update README.md

    antonmedv authored May 27, 2019
    Copy the full SHA
    820c64e View commit details
  3. Update README.md

    antonmedv authored May 27, 2019
    Copy the full SHA
    7d03f1d View commit details

Commits on May 28, 2019

  1. Update README.md

    antonmedv committed May 28, 2019
    Copy the full SHA
    5a6d044 View commit details
  2. Update README.md

    antonmedv committed May 28, 2019
    Copy the full SHA
    f4accb8 View commit details
  3. expr v2-rc.1

    antonmedv committed May 28, 2019
    Copy the full SHA
    c245100 View commit details
  4. add comments

    antonmedv committed May 28, 2019
    Copy the full SHA
    19be641 View commit details
  5. Update README.md

    antonmedv committed May 28, 2019
    Copy the full SHA
    e5a130f View commit details
  6. Update README.md

    antonmedv committed May 28, 2019
    Copy the full SHA
    c4180c8 View commit details
  7. Update debug.gif

    antonmedv committed May 28, 2019
    Copy the full SHA
    976bf0f View commit details
  8. Add more benchmarks

    antonmedv committed May 28, 2019
    Copy the full SHA
    fbcab60 View commit details
  9. Pre allocate stack

    antonmedv committed May 28, 2019
    Copy the full SHA
    e7ea534 View commit details
  10. Copy the full SHA
    2c6cb0e View commit details
  11. Copy the full SHA
    97f7f92 View commit details
  12. Copy the full SHA
    cddf3cf View commit details
  13. Copy the full SHA
    c9e9dc8 View commit details
  14. Add visitor docs

    antonmedv committed May 28, 2019
    Copy the full SHA
    f7352f2 View commit details
  15. Add support for digit separators in integers

    Also removed support for exponential part 1e+6, and removed octal
    integers support.
    antonmedv committed May 28, 2019
    Copy the full SHA
    5a2cf61 View commit details
  16. Copy the full SHA
    90b81f2 View commit details
  17. Copy the full SHA
    c7b2b09 View commit details
  18. Copy the full SHA
    f7c65da View commit details
  19. Output only ast

    antonmedv committed May 28, 2019
    Copy the full SHA
    f9723f9 View commit details
  20. Add README.md

    antonmedv committed May 28, 2019
    Copy the full SHA
    82b3eb2 View commit details

Commits on May 29, 2019

  1. Fix matches with dyn regexp

    antonmedv committed May 29, 2019
    Copy the full SHA
    cead43c View commit details
  2. Copy the full SHA
    4ad9e52 View commit details
  3. Copy the full SHA
    ad915e4 View commit details

Commits on May 30, 2019

  1. Add repl

    antonmedv committed May 30, 2019
    Copy the full SHA
    fb5e067 View commit details

Commits on Jun 3, 2019

  1. Copy the full SHA
    42135c7 View commit details
  2. expr v2-rc.2

    antonmedv committed Jun 3, 2019
    Copy the full SHA
    8cb3965 View commit details
  3. Copy the full SHA
    e4dc07f View commit details
  4. Copy the full SHA
    40d583c View commit details
  5. More strict in operator

    antonmedv committed Jun 3, 2019
    Copy the full SHA
    6107925 View commit details

Commits on Jun 4, 2019

  1. Add logo

    antonmedv committed Jun 4, 2019
    Copy the full SHA
    d3fb300 View commit details
  2. Update README.md

    antonmedv authored Jun 4, 2019
    Copy the full SHA
    03ace18 View commit details

Commits on Jun 7, 2019

  1. Copy the full SHA
    d08eedd View commit details
  2. Copy the full SHA
    c223cd5 View commit details
  3. Rename exp to ecc

    antonmedv committed Jun 7, 2019
    Copy the full SHA
    fb71ce1 View commit details
  4. Fix prompt of repl

    antonmedv committed Jun 7, 2019
    Copy the full SHA
    eea41bc View commit details

Commits on Jun 9, 2019

  1. Copy the full SHA
    a234047 View commit details

Commits on Jun 10, 2019

  1. Fix matches checker type

    antonmedv committed Jun 10, 2019
    Copy the full SHA
    dd275da View commit details
  2. Refactor kind promotion

    antonmedv committed Jun 10, 2019
    Copy the full SHA
    6180b0b View commit details
Showing with 97,747 additions and 4,359 deletions.
  1. +1 −0 .gitattributes
  2. +1 −0 .github/FUNDING.yml
  3. +83 −0 .github/images/demo.tape
  4. BIN .github/images/out.gif
  5. +39 −0 .github/scripts/coverage.mjs
  6. +23 −0 .github/workflows/build.yml
  7. +19 −0 .github/workflows/check.yml
  8. +32 −0 .github/workflows/diff.yml
  9. +35 −0 .github/workflows/fuzz.yml
  10. +44 −0 .github/workflows/test.yml
  11. +11 −0 .gitignore
  12. +0 −3 .travis.yml
  13. +158 −32 README.md
  14. +22 −0 SECURITY.md
  15. +0 −29 UPGRADE.md
  16. +59 −0 ast/dump.go
  17. +18 −0 ast/find.go
  18. +31 −0 ast/find_test.go
  19. +243 −0 ast/node.go
  20. +253 −0 ast/print.go
  21. +132 −0 ast/print_test.go
  22. +78 −0 ast/visitor.go
  23. +54 −0 ast/visitor_test.go
  24. +511 −51 bench_test.go
  25. +1,069 −0 builtin/builtin.go
  26. +724 −0 builtin/builtin_test.go
  27. +23 −0 builtin/function.go
  28. +437 −0 builtin/lib.go
  29. +90 −0 builtin/utils.go
  30. +38 −0 builtin/validation.go
  31. +1,285 −0 checker/checker.go
  32. +1,127 −0 checker/checker_test.go
  33. +129 −0 checker/info.go
  34. +28 −0 checker/info_test.go
  35. +261 −0 checker/nature/nature.go
  36. +76 −0 checker/nature/utils.go
  37. +190 −0 checker/types.go
  38. +1,280 −0 compiler/compiler.go
  39. +677 −0 compiler/compiler_test.go
  40. +101 −0 conf/config.go
  41. +68 −0 conf/env.go
  42. +205 −0 debug/debugger.go
  43. +21 −0 debug/go.mod
  44. +47 −0 debug/go.sum
  45. +0 −167 doc.go
  46. +0 −228 doc_test.go
  47. +48 −0 docgen/README.md
  48. +260 −0 docgen/docgen.go
  49. +261 −0 docgen/docgen_test.go
  50. +118 −0 docgen/markdown.go
  51. +134 −0 docs/configuration.md
  52. +111 −0 docs/environment.md
  53. +89 −0 docs/functions.md
  54. +176 −0 docs/getting-started.md
  55. +1,028 −0 docs/language-definition.md
  56. +136 −0 docs/patch.md
  57. +58 −0 docs/visitor.md
  58. +0 −25 error.go
  59. +0 −407 eval.go
  60. +0 −674 eval_test.go
  61. +260 −0 expr.go
  62. +2,747 −0 expr_test.go
  63. +81 −0 file/error.go
  64. +6 −0 file/location.go
  65. +48 −0 file/source.go
  66. +54 −0 file/source_test.go
  67. +3 −0 go.mod
  68. +47 −0 internal/deref/deref.go
  69. +111 −0 internal/deref/deref_test.go
  70. +775 −0 internal/difflib/difflib.go
  71. +426 −0 internal/difflib/difflib_test.go
  72. +146 −0 internal/spew/bypass.go
  73. +39 −0 internal/spew/bypasssafe.go
  74. +341 −0 internal/spew/common.go
  75. +298 −0 internal/spew/common_test.go
  76. +306 −0 internal/spew/config.go
  77. +217 −0 internal/spew/doc.go
  78. +509 −0 internal/spew/dump.go
  79. +1,042 −0 internal/spew/dump_test.go
  80. +102 −0 internal/spew/dumpcgo_test.go
  81. +27 −0 internal/spew/dumpnocgo_test.go
  82. +226 −0 internal/spew/example_test.go
  83. +419 −0 internal/spew/format.go
  84. +1,558 −0 internal/spew/format_test.go
  85. +84 −0 internal/spew/internal_test.go
  86. +102 −0 internal/spew/internalunsafe_test.go
  87. +148 −0 internal/spew/spew.go
  88. +320 −0 internal/spew/spew_test.go
  89. +83 −0 internal/spew/testdata/dumpcgo.go
  90. +489 −0 internal/testify/assert/assertion_compare.go
  91. +472 −0 internal/testify/assert/assertion_compare_test.go
  92. +807 −0 internal/testify/assert/assertion_format.go
  93. +5 −0 internal/testify/assert/assertion_format.go.tmpl
  94. +1,605 −0 internal/testify/assert/assertion_forward.go
  95. +5 −0 internal/testify/assert/assertion_forward.go.tmpl
  96. +81 −0 internal/testify/assert/assertion_order.go
  97. +203 −0 internal/testify/assert/assertion_order_test.go
  98. +2,091 −0 internal/testify/assert/assertions.go
  99. +3,155 −0 internal/testify/assert/assertions_test.go
  100. +46 −0 internal/testify/assert/doc.go
  101. +10 −0 internal/testify/assert/errors.go
  102. +16 −0 internal/testify/assert/forward_assertions.go
  103. +654 −0 internal/testify/assert/forward_assertions_test.go
  104. +165 −0 internal/testify/assert/http_assertions.go
  105. +214 −0 internal/testify/assert/http_assertions_test.go
  106. +4 −0 internal/testify/assert/internal/unsafetests/doc.go
  107. +34 −0 internal/testify/assert/internal/unsafetests/unsafetests_test.go
  108. +29 −0 internal/testify/require/doc.go
  109. +16 −0 internal/testify/require/forward_requirements.go
  110. +397 −0 internal/testify/require/forward_requirements_test.go
  111. +2,039 −0 internal/testify/require/require.go
  112. +6 −0 internal/testify/require/require.go.tmpl
  113. +1,607 −0 internal/testify/require/require_forward.go
  114. +5 −0 internal/testify/require/require_forward.go.tmpl
  115. +29 −0 internal/testify/require/requirements.go
  116. +578 −0 internal/testify/require/requirements_test.go
  117. +0 −318 lexer.go
  118. +0 −151 lexer_test.go
  119. +0 −95 node.go
  120. +81 −0 optimizer/const_expr.go
  121. +38 −0 optimizer/filter_first.go
  122. +38 −0 optimizer/filter_last.go
  123. +22 −0 optimizer/filter_len.go
  124. +33 −0 optimizer/filter_map.go
  125. +114 −0 optimizer/filter_map_test.go
  126. +341 −0 optimizer/fold.go
  127. +82 −0 optimizer/fold_test.go
  128. +68 −0 optimizer/in_array.go
  129. +43 −0 optimizer/in_range.go
  130. +79 −0 optimizer/optimizer.go
  131. +460 −0 optimizer/optimizer_test.go
  132. +61 −0 optimizer/predicate_combination.go
  133. +37 −0 optimizer/sum_array.go
  134. +72 −0 optimizer/sum_array_test.go
  135. +25 −0 optimizer/sum_map.go
  136. +35 −0 optimizer/sum_map_test.go
  137. +0 −608 parser.go
  138. +230 −0 parser/lexer/lexer.go
  139. +357 −0 parser/lexer/lexer_test.go
  140. +226 −0 parser/lexer/state.go
  141. +47 −0 parser/lexer/token.go
  142. +186 −0 parser/lexer/utils.go
  143. +69 −0 parser/operator/operator.go
  144. +891 −0 parser/parser.go
  145. +1,245 −0 parser/parser_test.go
  146. +34 −0 parser/utils/utils.go
  147. +0 −245 parser_test.go
  148. +147 −0 patcher/operator_override.go
  149. +73 −0 patcher/value/bench_test.go
  150. +216 −0 patcher/value/value.go
  151. +42 −0 patcher/value/value_example_test.go
  152. +171 −0 patcher/value/value_test.go
  153. +45 −0 patcher/with_context.go
  154. +154 −0 patcher/with_context_test.go
  155. +25 −0 patcher/with_timezone.go
  156. +28 −0 patcher/with_timezone_test.go
  157. +0 −158 print.go
  158. +0 −112 print_test.go
  159. +26 −0 repl/go.mod
  160. +53 −0 repl/go.sum
  161. +146 −0 repl/repl.go
  162. +0 −183 runtime.go
  163. +63 −0 test/bench/bench_call_test.go
  164. +179 −0 test/coredns/coredns.go
  165. +33 −0 test/coredns/coredns_test.go
  166. +196 −0 test/crowdsec/crowdsec.go
  167. +48 −0 test/crowdsec/crowdsec_test.go
  168. +353 −0 test/crowdsec/funcs.go
  169. +339 −0 test/deref/deref_test.go
  170. +32 −0 test/examples/examples_test.go
  171. +59 −0 test/examples/markdown.go
  172. +21 −0 test/fuzz/fuzz_corpus.sh
  173. +19,545 −0 test/fuzz/fuzz_corpus.txt
  174. +50 −0 test/fuzz/fuzz_env.go
  175. +99 −0 test/fuzz/fuzz_expr.dict
  176. BIN test/fuzz/fuzz_expr_seed_corpus.zip
  177. +83 −0 test/fuzz/fuzz_test.go
  178. +21 −0 test/gen/env.go
  179. +372 −0 test/gen/gen.go
  180. +66 −0 test/gen/gen_test.go
  181. +35 −0 test/gen/utils.go
  182. +48 −0 test/interface/interface_method_test.go
  183. +40 −0 test/interface/interface_test.go
  184. +93 −0 test/issues/461/issue_test.go
  185. +52 −0 test/issues/688/issue_test.go
  186. +24 −0 test/issues/723/issue_test.go
  187. +60 −0 test/issues/730/issue_test.go
  188. +19 −0 test/issues/739/issue_test.go
  189. +31 −0 test/issues/756/issue_test.go
  190. +38 −0 test/issues/785/issue_test.go
  191. +230 −0 test/mock/mock.go
  192. +73 −0 test/operator/issues584/issues584_test.go
  193. +255 −0 test/operator/operator_test.go
  194. +61 −0 test/patch/change_ident_test.go
  195. +61 −0 test/patch/patch_count_test.go
  196. +39 −0 test/patch/patch_test.go
  197. +56 −0 test/patch/set_type/set_type_test.go
  198. +58 −0 test/pipes/pipes_test.go
  199. +119 −0 test/playground/data.go
  200. +171 −0 test/playground/env.go
  201. +146 −0 test/time/time_test.go
  202. BIN testdata/crash.txt
  203. +675 −0 testdata/crowdsec.json
  204. +129 −0 testdata/examples.md
  205. +22,359 −0 testdata/generated.txt
  206. +0 −505 type.go
  207. +0 −368 type_test.go
  208. +181 −0 types/types.go
  209. +50 −0 types/types_test.go
  210. +6 −0 vm/debug.go
  211. +6 −0 vm/debug_off.go
  212. +41 −0 vm/debug_test.go
  213. +168 −0 vm/func_types/main.go
  214. +370 −0 vm/func_types[generated].go
  215. +88 −0 vm/opcodes.go
  216. +382 −0 vm/program.go
  217. +22 −0 vm/program_test.go
  218. +332 −0 vm/runtime/helpers/main.go
  219. +3,718 −0 vm/runtime/helpers[generated].go
  220. +58 −0 vm/runtime/helpers_test.go
  221. +394 −0 vm/runtime/runtime.go
  222. +45 −0 vm/runtime/sort.go
  223. +37 −0 vm/utils.go
  224. +617 −0 vm/vm.go
  225. +1,332 −0 vm/vm_test.go
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*\[generated\].go linguist-language=txt
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: antonmedv
83 changes: 83 additions & 0 deletions .github/images/demo.tape
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
Set Shell zsh
Sleep 500ms
Type "repl"
Enter
Sleep 500ms
Type "1..9 | filter("
Sleep 500ms
Type "# "
Sleep 500ms
Type "% 2 == 0) | map("
Sleep 500ms
Type "# ^ 2"
Sleep 500ms
Type ")"
Enter
Sleep 1s
Type "de"
Sleep 500ms
Type "bug"
Enter
Sleep 1.5s
Enter 50
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Enter
Sleep 1.5s
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Escape
Type "OB"
Enter
Sleep 2s
Escape
Type "OB"
Escape
Type "OB"
Ctrl+C
Sleep 1s
Ctrl+D
Ctrl+D

Binary file added .github/images/out.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
39 changes: 39 additions & 0 deletions .github/scripts/coverage.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/usr/bin/env zx

const expected = 90
const exclude = [
'expr/test', // We do not need to test the test package.
'checker/mock', // Mocks only used for testing.
'vm/func_types', // Generated files.
'vm/runtime/helpers', // Generated files.
'internal/difflib', // Test dependency. This is vendored dependency, and ideally we also have good tests for it.
'internal/spew', // Test dependency.
'internal/testify', // Test dependency.
'patcher/value', // Contains a lot of repeating code. Ideally we should have a test for it.
'pro', // Expr Pro is not a part of the main codebase.
]

cd(path.resolve(__dirname, '..', '..'))

await spinner('Running tests', async () => {
await $`go test -coverprofile=coverage.out -coverpkg=github.com/expr-lang/expr/... ./...`
const coverage = fs.readFileSync('coverage.out').toString()
.split('\n')
.filter(line => {
for (const ex of exclude)
if (line.includes(ex)) return false
return true
})
.join('\n')
fs.writeFileSync('coverage.out', coverage)
await $`go tool cover -html=coverage.out -o coverage.html`
})

const cover = await $({verbose: true})`go tool cover -func=coverage.out`
const total = +cover.stdout.match(/total:\s+\(statements\)\s+(\d+\.\d+)%/)[1]
if (total < expected) {
echo(chalk.red(`Coverage is too low: ${total}% < ${expected}% (expected)`))
process.exit(1)
} else {
echo(`Coverage is good: ${chalk.green(total + '%')} >= ${expected}% (expected)`)
}
23 changes: 23 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: build

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
go-versions: [ '1.18', '1.22', '1.24' ]
go-arch: [ '386' ]
steps:
- uses: actions/checkout@v3
- name: Setup Go ${{ matrix.go-version }}
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go-version }}
- name: Build
run: GOARCH=${{ matrix.go-arch }} go build
19 changes: 19 additions & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: check

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Go 1.18
uses: actions/setup-go@v4
with:
go-version: 1.18
- name: Test
run: npx zx .github/scripts/coverage.mjs
32 changes: 32 additions & 0 deletions .github/workflows/diff.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: diff

on:
pull_request:
branches: [ master ]

jobs:
bench:
runs-on: ubuntu-latest
steps:
- name: Setup Go 1.18
uses: actions/setup-go@v4
with:
go-version: 1.18
- name: Install benchstat
# NOTE: benchstat@latest requires go 1.23 since 2025-02-14 - this is the last go 1.18 ref
# https://cs.opensource.google/go/x/perf/+/c95ad7d5b636f67d322a7e4832e83103d0fdd292
run: go install golang.org/x/perf/cmd/benchstat@884df5810d2850d775c2cb4885a7ea339128a17d

- uses: actions/checkout@v3
- name: Benchmark new code
run: go test -bench=. -benchmem -run=^$ -count=10 -timeout=30m | tee /tmp/new.txt

- name: Checkout master
uses: actions/checkout@v3
with:
ref: master
- name: Benchmark master
run: go test -bench=. -benchmem -run=^$ -count=10 -timeout=30m | tee /tmp/old.txt

- name: Diff
run: benchstat /tmp/old.txt /tmp/new.txt
35 changes: 35 additions & 0 deletions .github/workflows/fuzz.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: fuzz
on: [pull_request]
permissions: {}
jobs:
fuzzing:
runs-on: ubuntu-latest
permissions:
security-events: write
steps:
- name: Build Fuzzers
id: build
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
with:
oss-fuzz-project-name: 'expr'
language: 'go'
- name: Run Fuzzers
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
with:
oss-fuzz-project-name: 'expr'
language: 'go'
fuzz-seconds: 600
output-sarif: true
- name: Upload Crash
uses: actions/upload-artifact@v4
if: failure() && steps.build.outcome == 'success'
with:
name: artifacts
path: ./out/artifacts
- name: Upload Sarif
if: always() && steps.build.outcome == 'success'
uses: github/codeql-action/upload-sarif@v3
with:
# Path to SARIF file relative to the root of the repository
sarif_file: cifuzz-sarif/results.sarif
checkout_path: cifuzz-sarif
44 changes: 44 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: test

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
go-versions: [ '1.18', '1.19', '1.20', '1.21', '1.22', '1.23', '1.24' ]
steps:
- uses: actions/checkout@v3
- name: Setup Go ${{ matrix.go-version }}
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go-version }}
- name: Test
run: go test ./...

debug:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Go 1.18
uses: actions/setup-go@v4
with:
go-version: 1.18
- name: Test
run: go test -tags=expr_debug -run=TestDebugger -v ./vm

race:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Go 1.21
uses: actions/setup-go@v4
with:
go-version: 1.21
- name: Test
run: go test -race .
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
*.exe
*.exe~
*.dll
*.so
*.dylib
*.test
*.out
*.html
custom_tests.json
pro/
test/avs/
3 changes: 0 additions & 3 deletions .travis.yml

This file was deleted.

Loading