ensure rust grammar is available in CI
This commit is contained in:
parent
8081e9f052
commit
db3470d973
4 changed files with 66 additions and 24 deletions
30
.github/workflows/build.yml
vendored
30
.github/workflows/build.yml
vendored
|
@ -14,8 +14,6 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Install stable toolchain
|
- name: Install stable toolchain
|
||||||
uses: actions-rs/toolchain@v1
|
uses: actions-rs/toolchain@v1
|
||||||
|
@ -53,8 +51,6 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Install stable toolchain
|
- name: Install stable toolchain
|
||||||
uses: actions-rs/toolchain@v1
|
uses: actions-rs/toolchain@v1
|
||||||
|
@ -81,6 +77,28 @@ jobs:
|
||||||
path: target
|
path: target
|
||||||
key: ${{ runner.os }}-v2-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
|
key: ${{ runner.os }}-v2-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
|
||||||
|
- name: Cache test tree-sitter grammar
|
||||||
|
uses: actions/cache@v2.1.7
|
||||||
|
with:
|
||||||
|
path: runtime/grammars
|
||||||
|
key: ${{ runner.os }}-v2-tree-sitter-grammars-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
|
||||||
|
- run: cp .github/workflows/languages.toml ./languages.toml
|
||||||
|
|
||||||
|
- name: Download test tree-sitter grammar
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
use-cross: ${{ matrix.cross }}
|
||||||
|
command: run
|
||||||
|
args: -- --fetch-grammars
|
||||||
|
|
||||||
|
- name: Build test tree-sitter grammar
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
use-cross: ${{ matrix.cross }}
|
||||||
|
command: run
|
||||||
|
args: -- --build-grammars
|
||||||
|
|
||||||
- name: Run cargo test
|
- name: Run cargo test
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
with:
|
with:
|
||||||
|
@ -97,8 +115,6 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Install stable toolchain
|
- name: Install stable toolchain
|
||||||
uses: actions-rs/toolchain@v1
|
uses: actions-rs/toolchain@v1
|
||||||
|
@ -144,8 +160,6 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Install stable toolchain
|
- name: Install stable toolchain
|
||||||
uses: actions-rs/toolchain@v1
|
uses: actions-rs/toolchain@v1
|
||||||
|
|
26
.github/workflows/languages.toml
vendored
Normal file
26
.github/workflows/languages.toml
vendored
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
# This languages.toml is used for testing in CI.
|
||||||
|
|
||||||
|
[[language]]
|
||||||
|
name = "rust"
|
||||||
|
scope = "source.rust"
|
||||||
|
injection-regex = "rust"
|
||||||
|
file-types = ["rs"]
|
||||||
|
comment-token = "//"
|
||||||
|
roots = ["Cargo.toml", "Cargo.lock"]
|
||||||
|
indent = { tab-width = 4, unit = " " }
|
||||||
|
|
||||||
|
[[grammar]]
|
||||||
|
name = "rust"
|
||||||
|
source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "a360da0a29a19c281d08295a35ecd0544d2da211" }
|
||||||
|
|
||||||
|
[[language]]
|
||||||
|
name = "nix"
|
||||||
|
scope = "source.nix"
|
||||||
|
injection-regex = "nix"
|
||||||
|
file-types = ["nix"]
|
||||||
|
shebangs = []
|
||||||
|
roots = []
|
||||||
|
comment-token = "#"
|
||||||
|
|
||||||
|
# A grammar entry is not necessary for this language - it is only used for
|
||||||
|
# testing TOML merging behavior.
|
22
.github/workflows/release.yml
vendored
22
.github/workflows/release.yml
vendored
|
@ -53,8 +53,6 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Install ${{ matrix.rust }} toolchain
|
- name: Install ${{ matrix.rust }} toolchain
|
||||||
uses: actions-rs/toolchain@v1
|
uses: actions-rs/toolchain@v1
|
||||||
|
@ -64,6 +62,20 @@ jobs:
|
||||||
target: ${{ matrix.target }}
|
target: ${{ matrix.target }}
|
||||||
override: true
|
override: true
|
||||||
|
|
||||||
|
- name: Fetch tree-sitter grammars
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
use-cross: ${{ matrix.cross }}
|
||||||
|
command: run
|
||||||
|
args: --release --locked --target ${{ matrix.target }} -- --fetch-grammars
|
||||||
|
|
||||||
|
- name: Build tree-sitter grammars
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
use-cross: ${{ matrix.cross }}
|
||||||
|
command: run
|
||||||
|
args: --release --locked --target ${{ matrix.target }} -- --build-grammars
|
||||||
|
|
||||||
- name: Run cargo test
|
- name: Run cargo test
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
with:
|
with:
|
||||||
|
@ -114,14 +126,8 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
|
||||||
submodules: false
|
|
||||||
|
|
||||||
- uses: actions/download-artifact@v2
|
- uses: actions/download-artifact@v2
|
||||||
# with:
|
|
||||||
# path: dist
|
|
||||||
# - run: ls -al ./dist
|
|
||||||
- run: ls -al bins-*
|
|
||||||
|
|
||||||
- name: Calculate tag name
|
- name: Calculate tag name
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -2115,13 +2115,9 @@ mod test {
|
||||||
let language = get_language(&crate::RUNTIME_DIR, "Rust").unwrap();
|
let language = get_language(&crate::RUNTIME_DIR, "Rust").unwrap();
|
||||||
let config = HighlightConfiguration::new(
|
let config = HighlightConfiguration::new(
|
||||||
language,
|
language,
|
||||||
&std::fs::read_to_string(
|
&std::fs::read_to_string("../runtime/grammars/sources/rust/queries/highlights.scm")
|
||||||
"../helix-syntax/languages/tree-sitter-rust/queries/highlights.scm",
|
|
||||||
)
|
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
&std::fs::read_to_string(
|
&std::fs::read_to_string("../runtime/grammars/sources/rust/queries/injections.scm")
|
||||||
"../helix-syntax/languages/tree-sitter-rust/queries/injections.scm",
|
|
||||||
)
|
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
"", // locals.scm
|
"", // locals.scm
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue