feat: enforce conditional entity mutations with record revisions #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: MSSQL Integration | |
| on: | |
| pull_request: | |
| paths: | |
| - "crates/schema-forge-mssql/**" | |
| - "crates/schema-forge-cli/Cargo.toml" | |
| - "crates/schema-forge-acton/Cargo.toml" | |
| - "Cargo.lock" | |
| - ".github/workflows/mssql-integration.yml" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| windows-build: | |
| name: Windows MSSQL build | |
| runs-on: windows-2025 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install Protocol Buffers compiler | |
| shell: pwsh | |
| run: choco install protoc --no-progress --yes | |
| - name: Rust cache | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Install cosign | |
| uses: sigstore/cosign-installer@v3 | |
| - name: Verify console signature with Windows Git Bash | |
| shell: bash | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| MSYS_NO_PATHCONV: "1" | |
| run: | | |
| set -euo pipefail | |
| gh release download v0.1.0 \ | |
| --repo Govcraft/schemaforge-console \ | |
| --pattern 'SHA256SUMS' \ | |
| --pattern 'SHA256SUMS.sig' \ | |
| --pattern 'SHA256SUMS.pem' | |
| cosign verify-blob \ | |
| --certificate SHA256SUMS.pem \ | |
| --signature SHA256SUMS.sig \ | |
| --certificate-oidc-issuer https://token.actions.githubusercontent.com \ | |
| --certificate-identity-regexp '^https://github\.com/Govcraft/schemaforge-console/\.github/workflows/release\.yml@' \ | |
| SHA256SUMS | |
| - name: Build native Windows MSSQL binary | |
| run: >- | |
| cargo build --package schema-forge-cli --bin schemaforge | |
| --no-default-features --features mssql | |
| sql-server: | |
| name: SQL Server ${{ matrix.version }} | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 25 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - version: 2019 | |
| test: connects_and_initializes_metadata_on_sql_server_2019 | |
| - version: 2022 | |
| test: connects_and_initializes_metadata_on_sql_server_2022 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install system build dependencies | |
| run: sudo apt-get update && sudo apt-get install -y protobuf-compiler libkrb5-dev | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Rust cache | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Run SQL Server integration test | |
| env: | |
| TEST_NAME: ${{ matrix.test }} | |
| run: >- | |
| cargo test --package schema-forge-mssql --test sql_server | |
| "$TEST_NAME" -- --ignored --exact --nocapture |