Skip to content

feat: enforce conditional entity mutations with record revisions #9

feat: enforce conditional entity mutations with record revisions

feat: enforce conditional entity mutations with record revisions #9

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