Racket: support full list updates #13
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 managed end-to-end | |
| 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: Set up .NET | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: '8.0.x' | |
| - 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 8c5dd555785ec75fef889015e49ba2844da0a295 | |
| 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 | |
| - name: Generate managed Taskly API | |
| run: raco rivet generate-dotnet | |
| - name: Exercise managed Taskly vertical slice | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| dotnet run \ | |
| --project racket/tests/dotnet-rivet-smoke/Taskly.RivetSmoke.csproj \ | |
| -c Release \ | |
| -p:RivetRoot="$RUNNER_TEMP/rivet" \ | |
| -- "$GITHUB_WORKSPACE" |