Rivet: add stdio backend entry point #9
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: Racket Core | |
| on: | |
| push: | |
| branches: [main, experiment/taskly-rivet] | |
| paths: | |
| - 'racket/**' | |
| - 'rivet.rktd' | |
| - '.github/workflows/racket-core.yml' | |
| pull_request: | |
| paths: | |
| - 'racket/**' | |
| - 'rivet.rktd' | |
| - '.github/workflows/racket-core.yml' | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: racket-core-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| core: | |
| name: Racket core (${{ matrix.os }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Set up Racket CS | |
| uses: Bogdanp/setup-racket@v1.15 | |
| with: | |
| architecture: x64 | |
| distribution: full | |
| variant: CS | |
| version: '9.3' | |
| - name: Compile core | |
| run: raco make racket/taskly/service.rkt racket/taskly/date-parser.rkt | |
| - name: Test core contracts | |
| run: raco test racket/tests/core-test.rkt | |
| rivet-backend: | |
| name: Rivet backend contract | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Set up Racket CS | |
| uses: Bogdanp/setup-racket@v1.15 | |
| with: | |
| architecture: x64 | |
| distribution: full | |
| variant: CS | |
| version: '9.3' | |
| - name: Install pinned Rivet | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| git clone https://github.com/turinglambdaai/rivet.git "$RUNNER_TEMP/rivet" | |
| git -C "$RUNNER_TEMP/rivet" checkout 96c49e4f49f283065b50811f0aa76fccb53e689b | |
| raco pkg install --auto --no-docs --name rivet --link "$RUNNER_TEMP/rivet" | |
| - name: Compile Taskly Rivet backend | |
| run: raco make racket/taskly/backend.rkt | |
| - name: Test typed Rivet schema | |
| run: raco test racket/tests/rivet-schema-test.rkt |