chore: bump version to 0.21.0 #54
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ci-${{ github.head_ref || github.sha }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| jobs: | |
| check: | |
| name: Lint + Types + Dead Code | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: oven-sh/setup-bun@v2 | |
| - uses: actions/cache@v5 | |
| with: | |
| path: ~/.bun/install/cache | |
| key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }} | |
| restore-keys: bun-${{ runner.os }}- | |
| - run: bun install --frozen-lockfile | |
| - run: bun run check | |
| unit-tests: | |
| name: Unit Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: oven-sh/setup-bun@v2 | |
| - uses: actions/cache@v5 | |
| with: | |
| path: ~/.bun/install/cache | |
| key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }} | |
| restore-keys: bun-${{ runner.os }}- | |
| - run: bun install --frozen-lockfile | |
| - run: bun run test:unit | |
| integration-tests: | |
| name: Integration Tests (LibreOffice) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: oven-sh/setup-bun@v2 | |
| - uses: actions/cache@v5 | |
| with: | |
| path: ~/.bun/install/cache | |
| key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }} | |
| restore-keys: bun-${{ runner.os }}- | |
| - name: Install LibreOffice | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends libreoffice-core libreoffice-writer fontconfig | |
| - name: Pre-warm fontconfig cache | |
| # Parallel soffice workers race to populate ~/.cache/fontconfig and the | |
| # losers print "Fontconfig error: No writable cache directories" to | |
| # stderr, failing the round-trip test's empty-stderr assertion. One | |
| # serial fc-cache populates the cache so workers just read it. | |
| run: | | |
| mkdir -p "$HOME/.cache/fontconfig" | |
| fc-cache -f | |
| - run: bun install --frozen-lockfile | |
| - run: DOCX_LO_ALL=1 bun run test:integration # full fixture sweep in CI | |
| build-binary: | |
| name: Smoke-build compiled binary | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: oven-sh/setup-bun@v2 | |
| - uses: actions/cache@v5 | |
| with: | |
| path: ~/.bun/install/cache | |
| key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }} | |
| restore-keys: bun-${{ runner.os }}- | |
| - run: bun install --frozen-lockfile | |
| - run: bun run build:binary | |
| - name: Verify binary runs | |
| run: ./dist/docx --version |