Skip to content

feat(rust): expose PropKind::merge, PropValueRef::coerce and kind() #3641

feat(rust): expose PropKind::merge, PropValueRef::coerce and kind()

feat(rust): expose PropKind::merge, PropValueRef::coerce and kind() #3641

Workflow file for this run

name: CI
on:
pull_request:
push:
branches: [ main ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
changes:
runs-on: ubuntu-latest
outputs:
rust: ${{ steps.filter.outputs.rust }}
java: ${{ steps.filter.outputs.java }}
ts: ${{ steps.filter.outputs.ts }}
cpp: ${{ steps.filter.outputs.cpp }}
docs: ${{ steps.filter.outputs.docs }}
run-heavy: ${{ github.event.pull_request.stack == null || github.event.pull_request.stack.position == github.event.pull_request.stack.size }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
id: filter
with:
filters: |
rust:
- 'justfile'
- 'rust/mod.just'
- '.github/**'
- 'rust/**'
- 'test/**'
java:
- 'justfile'
- 'java/mod.just'
- '.github/**'
- 'java/**'
- 'test/**'
ts:
- 'justfile'
- 'ts/mod.just'
- '.github/**'
- 'ts/**'
- 'test/**'
cpp:
- 'justfile'
- 'cpp/mod.just'
- '.github/**'
- 'cpp/**'
- 'test/**'
docs:
- 'justfile'
- '.github/**'
- 'docs/**'
- 'inspector/**'
- 'zensical.toml'
# The inspector indexes every tile under test/ and reads their facets
# from the mlt CLI, so both change what its tests assert.
- 'rust/**'
- 'test/**'
rust:
needs: changes
if: needs.changes.outputs.rust == 'true'
uses: ./.github/workflows/rust.yml
with:
run-release: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
run-heavy: ${{ needs.changes.outputs.run-heavy == 'true' }}
secrets: inherit
permissions: { contents: write, id-token: write, code-quality: write, pull-requests: read }
java:
needs: changes
if: needs.changes.outputs.java == 'true'
uses: ./.github/workflows/java.yml
permissions:
contents: read
code-quality: write
pull-requests: read
ts:
needs: changes
if: needs.changes.outputs.ts == 'true'
uses: ./.github/workflows/ts.yml
permissions: { contents: read, code-quality: write, pull-requests: read }
cpp:
needs: changes
if: needs.changes.outputs.cpp == 'true'
uses: ./.github/workflows/cpp.yml
with:
run-heavy: ${{ needs.changes.outputs.run-heavy == 'true' }}
permissions:
contents: read
code-quality: write
pull-requests: read
docs:
needs: changes
if: needs.changes.outputs.docs == 'true'
uses: ./.github/workflows/gh-pages.yml
permissions: { contents: write }
ci-passed:
needs: [ rust, java, ts, cpp, docs ]
if: always()
runs-on: ubuntu-latest
steps:
- run: echo "${{ toJSON(needs) }}"
- if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
run: exit 1