Skip to content

Commit 7ce100b

Browse files
committed
chore: ci workflow update
1 parent 436b3f9 commit 7ce100b

File tree

8 files changed

+166
-35
lines changed

8 files changed

+166
-35
lines changed

.github/workflows/ci.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
paths:
7+
- grammar.js
8+
- src/**
9+
- test/**
10+
- bindings/**
11+
- binding.gyp
12+
pull_request:
13+
paths:
14+
- grammar.js
15+
- src/**
16+
- test/**
17+
- bindings/**
18+
- binding.gyp
19+
20+
concurrency:
21+
group: ${{github.workflow}}-${{github.ref}}
22+
cancel-in-progress: true
23+
24+
jobs:
25+
test:
26+
name: Test parser
27+
runs-on: ${{matrix.os}}
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
os: [ubuntu-latest, windows-latest, macos-14]
32+
steps:
33+
- name: Checkout repository
34+
uses: actions/checkout@v4
35+
- name: Set up tree-sitter
36+
uses: tree-sitter/setup-action/cli@v2
37+
- name: Set up examples
38+
shell: bash
39+
run: |-
40+
git clone https://github.com/nushell/nu_scripts examples/nu_scripts -q --single-branch --depth=1
41+
- name: Run tests
42+
uses: tree-sitter/parser-test-action@v2
43+
with:
44+
generate: false
45+
test-rust: true
46+
test-node: true
47+
test-python: true
48+
test-go: true
49+
test-swift: false
50+
- name: Parse examples
51+
uses: tree-sitter/parse-action@v4
52+
with:
53+
files: |-
54+
examples/nu_scripts/**/*.nu
55+
invalid-files-list: script/known-failures.txt

.github/workflows/main.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

.gitignore

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
node_modules/
22
log.html
3-
target/
4-
5-
/build/
63

74
# C lsp cache
85
.ccls-cache/
@@ -19,3 +16,55 @@ target/
1916

2017
# macOS junk
2118
.DS_Store
19+
20+
# Rust artifacts
21+
target/
22+
23+
# Node artifacts
24+
build/
25+
prebuilds/
26+
node_modules/
27+
28+
# Swift artifacts
29+
.build/
30+
Package.resolved
31+
32+
# Go artifacts
33+
_obj/
34+
35+
# Python artifacts
36+
.venv/
37+
dist/
38+
*.egg-info
39+
*.whl
40+
41+
# C artifacts
42+
*.a
43+
*.so
44+
*.so.*
45+
*.dylib
46+
*.dll
47+
*.pc
48+
*.exp
49+
*.lib
50+
51+
# Zig artifacts
52+
.zig-cache/
53+
zig-cache/
54+
zig-out/
55+
56+
# Example dirs
57+
/examples/*/
58+
59+
# script
60+
/script/example-files.txt
61+
62+
# Grammar volatiles
63+
*.wasm
64+
*.obj
65+
*.o
66+
67+
# Archives
68+
*.tar.gz
69+
*.tgz
70+
*.zip

eslint.config.mjs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import treesitter from 'eslint-config-treesitter';
2+
3+
export default [
4+
...treesitter,
5+
];

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"types": "bindings/node",
77
"scripts": {
88
"install": "node-gyp-build",
9+
"lint": "eslint grammar.js",
910
"prestart": "tree-sitter build --wasm",
1011
"start": "tree-sitter playground",
1112
"test": "node --test bindings/node/*_test.js"
@@ -25,6 +26,8 @@
2526
}
2627
},
2728
"devDependencies": {
29+
"eslint": "^9.15.0",
30+
"eslint-config-treesitter": "^1.0.2",
2831
"prebuildify": "^6.0.0",
2932
"prettier": "3.3.3",
3033
"tree-sitter-cli": "^0.25.6"

script/known-failures.txt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
examples/nu_scripts/aliases/git/git-aliases.nu
2+
examples/nu_scripts/custom-completions/auto-generate/completions/apt-build.nu
3+
examples/nu_scripts/custom-completions/auto-generate/completions/apt-show-source.nu
4+
examples/nu_scripts/custom-completions/auto-generate/completions/asciidoctor.nu
5+
examples/nu_scripts/custom-completions/auto-generate/completions/cpupower.nu
6+
examples/nu_scripts/custom-completions/auto-generate/completions/gem.nu
7+
examples/nu_scripts/custom-completions/auto-generate/completions/gprof.nu
8+
examples/nu_scripts/custom-completions/auto-generate/completions/grep.nu
9+
examples/nu_scripts/custom-completions/auto-generate/completions/jest.nu
10+
examples/nu_scripts/custom-completions/auto-generate/completions/qubes-gpg-client.nu
11+
examples/nu_scripts/custom-completions/auto-generate/completions/rpm.nu
12+
examples/nu_scripts/custom-completions/auto-generate/completions/sfdx.nu
13+
examples/nu_scripts/custom-completions/auto-generate/completions/string.nu
14+
examples/nu_scripts/custom-completions/auto-generate/completions/watch.nu
15+
examples/nu_scripts/custom-completions/auto-generate/completions/whatis.nu
16+
examples/nu_scripts/custom-completions/gh/gh-completions.nu
17+
examples/nu_scripts/custom-completions/komorebi/komorebi-completions.nu
18+
examples/nu_scripts/custom-completions/op/op-completions.nu
19+
examples/nu_scripts/custom-completions/pre-commit/pre-commit-completions.nu
20+
examples/nu_scripts/custom-completions/pytest/pytest-completions.nu
21+
examples/nu_scripts/custom-menus/current_session_history_menu.nu
22+
examples/nu_scripts/example-config/init.nu
23+
examples/nu_scripts/make_release/gen-ts-ext.nu
24+
examples/nu_scripts/modules/duplicates/example.nu
25+
examples/nu_scripts/modules/kubernetes/complete.nu
26+
examples/nu_scripts/modules/network/remoting/remoting.nu
27+
examples/nu_scripts/modules/to-json-schema/to-json-schema.nu
28+
examples/nu_scripts/modules/yadm/mod.nu
29+
examples/nu_scripts/sourced/fun/website_builder.nu
30+
examples/nu_scripts/sourced/misc/nu_defs.nu
31+
examples/nu_scripts/sourced/progress_bar/bar.nu
32+
examples/nu_scripts/stdlib-candidate-archive/std-rfc/aggregate/mod.nu
33+
examples/nu_scripts/themes/src/preview-generate-screenshots.nu

script/parse-examples

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/usr/bin/env bash
2+
3+
set -euo pipefail
4+
5+
clone() {
6+
if [[ -d examples/$1 ]]; then
7+
git -C "examples/$1" fetch origin "$3:$3" -f -u --depth=1
8+
else
9+
git clone "$2" "examples/$1" -b "$3" --single-branch --depth=1
10+
fi
11+
}
12+
13+
clone nu_scripts https://github.com/nushell/nu_scripts main
14+
15+
find examples -name '*.nu' -and -type f -print >script/example-files.txt
16+
17+
tree-sitter parse -q -s --paths script/example-files.txt |
18+
tee >(awk '/ERROR|MISSING/{print $1}' | sort >script/known-failures.txt)

0 commit comments

Comments
 (0)