Skip to content

Commit a190a71

Browse files
authored
Merge pull request #580 from bash-lsp/upgrade-tree-sitter-workflow
Upgrade tree-sitter GitHub workflow
2 parents a7eeb09 + 787b3fe commit a190a71

File tree

3 files changed

+54
-11
lines changed

3 files changed

+54
-11
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
on:
2+
schedule:
3+
- cron: '0 12 * * 2'
4+
5+
jobs:
6+
upgrade_tree_sitter:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v3
10+
11+
- name: Use Node.js 12
12+
uses: actions/setup-node@v3
13+
with:
14+
node-version: 12
15+
16+
- name: Install dependencies
17+
run: yarn install
18+
19+
- name: Upgrade tree-sitter wasm
20+
run: sh scripts/upgrade-tree-sitter.sh
21+
22+
- name: Verify changes
23+
run: yarn verify:bail
24+
25+
- name: Verify file changes
26+
uses: tj-actions/verify-changed-files@v12
27+
id: verify-changed-files
28+
with:
29+
files: |
30+
server/parser.info
31+
server/tree-sitter-bash.wasm
32+
33+
- name: Create pull request
34+
if: steps.verify-changed-files.outputs.files_changed == 'true'
35+
uses: peter-evans/create-pull-request@v4
36+
with:
37+
add-paths: server
38+
reviewers: skovhus
39+
title: Auto upgrade tree-sitter-bash parser

scripts/upgrade-tree-sitter.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/usr/bin/env bash
2+
3+
set -euox pipefail
4+
5+
cd server
6+
yarn add web-tree-sitter
7+
yarn add --dev tree-sitter-cli https://github.com/tree-sitter/tree-sitter-bash
8+
npx tree-sitter build-wasm node_modules/tree-sitter-bash
9+
10+
curl 'https://api.github.com/repos/tree-sitter/tree-sitter-bash/commits/master' | jq .commit.url > parser.info
11+
echo "tree-sitter-cli $(cat package.json | jq '.devDependencies["tree-sitter-cli"]')" >> parser.info
12+
13+
yarn remove tree-sitter-cli tree-sitter-bash
14+

server/src/parser.ts

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,7 @@ export async function initializeParser(): Promise<Parser> {
1717
* See https://github.com/tree-sitter/tree-sitter/tree/master/lib/binding_web#generate-wasm-language-files
1818
*
1919
* To compile and use a new tree-sitter-bash version:
20-
* cd server
21-
* yarn add web-tree-sitter
22-
* yarn add --dev tree-sitter-bash tree-sitter-cli
23-
* npx tree-sitter build-wasm node_modules/tree-sitter-bash
24-
*
25-
* Note down the versions (from the package.json) below and then run
26-
* yarn remove tree-sitter-bash tree-sitter-cli
27-
*
28-
* The current files was compiled with:
29-
* "tree-sitter-bash": "^0.19.0",
30-
* "tree-sitter-cli": "^0.20.0"
20+
* sh scripts/upgrade-tree-sitter.sh
3121
*/
3222
const lang = await Parser.Language.load(`${__dirname}/../tree-sitter-bash.wasm`)
3323

0 commit comments

Comments
 (0)