Add workshop link to README #14
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: Validate workshop | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| content: | |
| name: Content and site | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: 22 | |
| - uses: actions/setup-python@v7 | |
| with: | |
| python-version: "3.11" | |
| - name: Validate lessons and site behavior | |
| run: bash scripts/validate-workshop.sh content | |
| smoke-build: | |
| name: ${{ matrix.name }} | |
| runs-on: ubuntu-latest | |
| env: | |
| CARGO_TARGET_DIR: ${{ github.workspace }}/.cargo-target | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - language: dotnet | |
| name: .NET smoke build | |
| - language: nodejs | |
| name: Node.js / TypeScript smoke build | |
| - language: python | |
| name: Python smoke build | |
| - language: go | |
| name: Go smoke build | |
| - language: rust | |
| name: Rust smoke build | |
| - language: java | |
| name: Java smoke build | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-dotnet@v6 | |
| if: matrix.language == 'dotnet' | |
| with: | |
| dotnet-version: 10.0.x | |
| - uses: actions/setup-node@v7 | |
| if: matrix.language == 'nodejs' | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: | | |
| start-accessibility/nodejs/package-lock.json | |
| start-museum/nodejs/package-lock.json | |
| finished/nodejs/*/package-lock.json | |
| - uses: actions/setup-python@v7 | |
| if: matrix.language == 'python' | |
| with: | |
| python-version: "3.11" | |
| cache: pip | |
| cache-dependency-path: | | |
| start-accessibility/python/requirements.txt | |
| start-museum/python/requirements.txt | |
| finished/python/*/requirements.txt | |
| - uses: actions/setup-go@v7 | |
| if: matrix.language == 'go' | |
| with: | |
| go-version: "1.24.x" | |
| cache-dependency-path: | | |
| start-accessibility/go/go.sum | |
| start-museum/go/go.sum | |
| finished/go/*/go.sum | |
| - uses: dtolnay/rust-toolchain@stable | |
| if: matrix.language == 'rust' | |
| with: | |
| toolchain: "1.94.0" | |
| - uses: Swatinem/rust-cache@v2 | |
| if: matrix.language == 'rust' | |
| with: | |
| workspaces: | | |
| start-accessibility/rust -> ../../.cargo-target | |
| start-museum/rust -> ../../.cargo-target | |
| finished/rust/accessibility-report -> ../../../.cargo-target | |
| finished/rust/hello-copilot-sdk -> ../../../.cargo-target | |
| finished/rust/museum-exhibit-studio -> ../../../.cargo-target | |
| - uses: actions/setup-java@v6 | |
| if: matrix.language == 'java' | |
| with: | |
| distribution: temurin | |
| java-version: "17" | |
| cache: maven | |
| - name: Verify Maven | |
| if: matrix.language == 'java' | |
| run: mvn --version | |
| - name: Build ${{ matrix.name }} | |
| run: bash scripts/validate-workshop.sh "${{ matrix.language }}" | |
| macos-portability: | |
| name: macOS portable validation | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-dotnet@v6 | |
| with: | |
| dotnet-version: 10.0.x | |
| - uses: actions/setup-python@v7 | |
| with: | |
| python-version: "3.11" | |
| - uses: actions/setup-go@v7 | |
| with: | |
| go-version: "1.24.x" | |
| - name: Validate with macOS system Bash | |
| run: | | |
| /bin/bash --version | |
| /bin/bash scripts/validate-workshop.sh dotnet | |
| /bin/bash scripts/validate-workshop.sh python | |
| /bin/bash scripts/validate-workshop.sh go | |
| test -z "$(git status --porcelain --untracked-files=all)" |