Repository navigation
Declare XML parser runtime dependency #75
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: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| ruby: "3.3" | |
| - os: ubuntu-latest | |
| ruby: "3.4" | |
| - os: ubuntu-latest | |
| ruby: "4.0" | |
| - os: macos-latest | |
| ruby: "4.0" | |
| - os: windows-2025 | |
| ruby: "4.0" | |
| defaults: | |
| run: | |
| working-directory: breadkit-render | |
| steps: | |
| - name: Checkout breadkit examples | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| repository: breadkit/breadkit | |
| ref: main | |
| path: breadkit | |
| persist-credentials: false | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| path: breadkit-render | |
| persist-credentials: false | |
| - name: Install rasterizer (Ubuntu) | |
| if: runner.os == 'Linux' | |
| run: sudo apt-get update && sudo apt-get install -y librsvg2-bin libvips-dev fonts-noto-cjk | |
| working-directory: . | |
| - name: Install rasterizer (macOS) | |
| if: runner.os == 'macOS' | |
| run: brew install librsvg vips | |
| working-directory: . | |
| - uses: ruby/setup-ruby@a0102e0972be65f351c307e2d64b9314a57c8073 # v1.324.0 | |
| with: | |
| ruby-version: ${{ matrix.ruby }} | |
| bundler-cache: true | |
| working-directory: breadkit-render | |
| - run: bundle exec rake | |
| - name: Render core examples | |
| if: runner.os != 'Windows' | |
| run: | | |
| mkdir -p /tmp/breadkit-render-examples | |
| for file in ../breadkit/examples/*.bk.rb; do | |
| name="${file##*/}" | |
| bundle exec bkrender "$file" -o "/tmp/breadkit-render-examples/${name%.bk.rb}.png" --scale 2 | |
| done | |
| package: | |
| name: Strict gem build | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - run: node scripts/check-contrast.mjs | |
| - uses: ruby/setup-ruby@a0102e0972be65f351c307e2d64b9314a57c8073 # v1.324.0 | |
| with: | |
| ruby-version: "4.0" | |
| bundler: default | |
| - run: gem build --strict breadkit-render.gemspec | |
| signatures: | |
| name: RBS signatures | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| defaults: | |
| run: | |
| working-directory: breadkit-render | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| repository: breadkit/breadkit | |
| ref: main | |
| path: breadkit | |
| persist-credentials: false | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| path: breadkit-render | |
| persist-credentials: false | |
| - uses: ruby/setup-ruby@a0102e0972be65f351c307e2d64b9314a57c8073 # v1.324.0 | |
| with: | |
| ruby-version: "4.0" | |
| bundler: default | |
| working-directory: breadkit-render | |
| - run: gem install rbs --no-document # zizmor: ignore[adhoc-packages] | |
| - run: rbs -I sig -I ../breadkit/sig validate |