diff --git a/.github/workflows/test-suite.yml b/.github/workflows/test-suite.yml index 7746a4d..c996ae5 100644 --- a/.github/workflows/test-suite.yml +++ b/.github/workflows/test-suite.yml @@ -12,13 +12,14 @@ on: jobs: test-suite: strategy: + fail-fast: false matrix: - os: [ubuntu-latest, macos-latest] + os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} - + name: Run test suite if: github.repository == 'quarto-dev/quarto-markdown' - + steps: - name: Checkout Repo uses: actions/checkout@v4 @@ -33,8 +34,8 @@ jobs: if: runner.os == 'macOS' uses: dtolnay/rust-toolchain@nightly - - name: Set up Rust nightly (Linux) - if: runner.os == 'Linux' + - name: Set up Rust nightly (using rustup) + if: runner.os == 'Linux' || runner.os == 'Windows' run: rustup override set nightly shell: bash @@ -43,50 +44,26 @@ jobs: shell: bash # Pandoc setup - - name: Set up Pandoc (Linux) - if: runner.os == 'Linux' - run: | - curl -LO https://github.com/jgm/pandoc/releases/download/3.7.0.2/pandoc-3.7.0.2-1-amd64.deb - sudo dpkg -i pandoc-3.7.0.2-1-amd64.deb - shell: bash - - - name: Set up Pandoc (macOS) - if: runner.os == 'macOS' - run: | - brew install pandoc - shell: bash + - name: Install pandoc + uses: pandoc/actions/setup@v1 - # tree-sitter setup - - name: Set up tree-sitter CLI (Linux) - if: runner.os == 'Linux' - run: | - sudo apt-get update - sudo apt-get install libc6-dev - sudo apt-get install gcc-multilib - curl -LO https://github.com/tree-sitter/tree-sitter/releases/download/v0.25.8/tree-sitter-linux-x86.gz - gunzip tree-sitter-linux-x86.gz - chmod +x tree-sitter-linux-x86 - sudo mv tree-sitter-linux-x86 /usr/local/bin/tree-sitter - - - name: Set up tree-sitter CLI (macOS) - if: runner.os == 'macOS' - run: brew install tree-sitter-cli - shell: bash + # tree-sitter CLI setup + - uses: tree-sitter/setup-action@v2 + with: + install-lib: false # build and run tests - name: Build - run: cargo build + run: cargo build --workspace --exclude quarto-markdown-pandoc-fuzz shell: bash - name: Test inline tree-sitter grammar - run: | - cd crates/tree-sitter-qmd/tree-sitter-markdown-inline - tree-sitter test + working-directory: crates/tree-sitter-qmd/tree-sitter-markdown-inline + run: tree-sitter test - name: Test block tree-sitter grammar - run: | - cd crates/tree-sitter-qmd/tree-sitter-markdown - tree-sitter test + working-directory: crates/tree-sitter-qmd/tree-sitter-markdown + run: tree-sitter test - name: Test Rust code run: cargo test diff --git a/crates/tree-sitter-qmd/tree-sitter-markdown-inline/.gitignore b/crates/tree-sitter-qmd/tree-sitter-markdown-inline/.gitignore index 6549918..97b280c 100644 --- a/crates/tree-sitter-qmd/tree-sitter-markdown-inline/.gitignore +++ b/crates/tree-sitter-qmd/tree-sitter-markdown-inline/.gitignore @@ -1 +1,6 @@ -markdown-inline.dylib \ No newline at end of file +markdown-inline.dylib + +# windows +*.obj +*.lib +*.exp \ No newline at end of file