Skip to content

feat(dsl): lazy zero-init for parameter placeholders #386

feat(dsl): lazy zero-init for parameter placeholders

feat(dsl): lazy zero-init for parameter placeholders #386

name: Schema Validation
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
paths:
- 'skainet-lang/**'
- '.github/workflows/schema-validation.yml'
jobs:
validate-schema:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'temurin'
- name: Cache Gradle packages
uses: actions/cache@v5
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Generate operator documentation (KSP)
run: ./gradlew :skainet-lang:skainet-lang-core:kspCommonMainKotlinMetadata
- name: Validate JSON schema via Gradle plugin
run: ./gradlew validateOperatorSchema
- name: Upload validation artifacts
if: failure()
uses: actions/upload-artifact@v7
with:
name: validation-logs
path: |
**/build/generated/**/*.json
**/build/logs/
retention-days: 7