fix(ls): pad -C columns with tabs, drop trailing whitespace (#118) #299
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
| name: Test | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| # Pre-empt the June 2 2026 GitHub Actions Node 24 cutover. Forces all | |
| # JS-based actions (setup-zig, setup-just, etc.) to run on Node 24 | |
| # regardless of their action.yml-declared runtime. | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| concurrency: | |
| group: test-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [macos-26, ubuntu-latest, ubuntu-24.04-arm] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1 | |
| with: | |
| version: 0.16.0 | |
| - uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3 # v4 | |
| - run: just test | |
| - run: just test-integration | |
| - name: Install bash 4+ (macOS) | |
| if: runner.os == 'macOS' | |
| run: brew install bash | |
| - run: just build | |
| - run: just it | |
| - name: Cache apt packages | |
| if: runner.os == 'Linux' | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | |
| with: | |
| path: /var/cache/apt/archives/*.deb | |
| key: apt-${{ runner.os }}-fakeroot | |
| - name: Run privileged tests | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update && sudo apt-get install -y fakeroot | |
| just test-privileged | |
| coverage: | |
| timeout-minutes: 30 | |
| runs-on: ubuntu-latest | |
| needs: test | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1 | |
| with: | |
| version: 0.16.0 | |
| - name: Cache kcov | |
| id: cache-kcov | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | |
| with: | |
| path: /usr/local/bin/kcov | |
| key: kcov-${{ runner.os }}-${{ runner.arch }} | |
| - name: Install kcov build deps | |
| if: steps.cache-kcov.outputs.cache-hit != 'true' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake pkg-config libdw-dev libcurl4-openssl-dev zlib1g-dev libiberty-dev binutils-dev | |
| - name: Build kcov | |
| if: steps.cache-kcov.outputs.cache-hit != 'true' | |
| run: | | |
| git clone --depth 1 https://github.com/SimonKagstrom/kcov.git /tmp/kcov | |
| cd /tmp/kcov && mkdir build && cd build && cmake .. && make -j"$(nproc)" && sudo make install | |
| - name: Cache apt packages | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | |
| with: | |
| path: /var/cache/apt/archives/*.deb | |
| key: apt-${{ runner.os }}-kcov-runtime | |
| - name: Install kcov runtime deps | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libdw1 libcurl4 | |
| - uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3 # v4 | |
| - run: just coverage | |
| - name: Upload coverage report | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: coverage-report | |
| path: zig-out/coverage/merged/ |