Feature/attr tracking (#78) #176
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Tests a broad set of Quarto functionality that users are likely to encounter. | |
| # A failure indicates some signficant portion of functionality is likely to be broken. | |
| name: Test Suite | |
| on: | |
| push: | |
| # only trigger on branches, not on tags | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| test-suite: | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| runs-on: ${{ matrix.os }} | |
| name: Run test suite | |
| if: github.repository == 'quarto-dev/quarto-markdown' | |
| steps: | |
| - name: Checkout Repo | |
| uses: actions/checkout@v4 | |
| - name: Set up Homebrew | |
| if: runner.os == 'macOS' | |
| id: set-up-homebrew | |
| uses: Homebrew/actions/setup-homebrew@main | |
| # Rust setup | |
| - name: Set up Rust nightly (macOS) | |
| if: runner.os == 'macOS' | |
| uses: dtolnay/rust-toolchain@nightly | |
| - name: Set up Rust nightly (Linux) | |
| if: runner.os == 'Linux' | |
| run: rustup override set nightly | |
| shell: bash | |
| - name: Output rust version | |
| run: rustup --version | |
| 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 | |
| # 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 | |
| # build and run tests | |
| - name: Build | |
| run: cargo build | |
| shell: bash | |
| - name: Test inline tree-sitter grammar | |
| run: | | |
| cd crates/tree-sitter-qmd/tree-sitter-markdown-inline | |
| tree-sitter test | |
| - name: Test block tree-sitter grammar | |
| run: | | |
| cd crates/tree-sitter-qmd/tree-sitter-markdown | |
| tree-sitter test | |
| - name: Test Rust code | |
| run: cargo test | |
| shell: bash |