Files
james.maesandClaude Sonnet 5.5 e4639e3cca chore: integrate printing standards and strict Java compiler checks
Preserve current rendering, operator and retained-source behavior while integrating script quality, meaningful headers and strict Error Prone/NullAway contracts. Production and test compilation and the 189-case verification gate pass with zero failures and one intentional workload skip.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Signed-off-by: James Maes <james@kof22.com>
2026-11-01 16:51:18 -06:00

110 lines
3.6 KiB
YAML

# Copyright 2026 Kingsrook, LLC
# SPDX-License-Identifier: Apache-2.0
name: development
on:
pull_request:
push:
branches: [main]
workflow_dispatch:
inputs:
native-auth:
description: Run the opt-in, unpublished native-auth candidate qualification
type: boolean
default: false
permissions:
contents: read
concurrency:
group: development-${{ github.ref }}
cancel-in-progress: false
jobs:
scripts:
name: development-scripts (${{ matrix.os }})
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, windows-latest]
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Analyze and test development scripts
shell: pwsh
run: |
$ErrorActionPreference = 'Stop'
Install-Module PSScriptAnalyzer -RequiredVersion 1.25.0 -Scope CurrentUser -Force
Install-Module Pester -RequiredVersion 5.7.1 -Scope CurrentUser -Force
Import-Module PSScriptAnalyzer -RequiredVersion 1.25.0
Import-Module Pester -RequiredVersion 5.7.1
$issues = @(Invoke-ScriptAnalyzer -Path dev -Recurse -Severity Warning,Error)
if ($issues.Count) { $issues | Format-Table; throw 'Development script analysis failed.' }
$configuration = New-PesterConfiguration
$configuration.Run.Path = './dev/tests'
$configuration.Run.Exit = $true
$configuration.TestRegistry.Enabled = $false
Invoke-Pester -Configuration $configuration
clients:
name: development-clients (${{ matrix.fixture }})
runs-on: ubuntu-24.04
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
include:
- fixture: workload
dockerfile: dev/Dockerfile.client
- fixture: native-auth
dockerfile: dev/native-auth/Dockerfile.client
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Build strict fixtures and run fake-HTTP discovery checks
env:
DOCKERFILE: ${{ matrix.dockerfile }}
run: docker build --target build --file "$DOCKERFILE" .
servers:
name: development-servers (${{ matrix.fixture }})
runs-on: ubuntu-24.04
timeout-minutes: 40
strategy:
fail-fast: false
matrix:
include:
- fixture: workload
dockerfile: dev/Dockerfile.server
- fixture: native-auth
dockerfile: dev/native-auth/Dockerfile.server
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Build strict Maven project and compile the fixture Java without starting it
env:
DOCKERFILE: ${{ matrix.dockerfile }}
run: docker build --target build --file "$DOCKERFILE" .
docker:
name: development-docker
runs-on: ubuntu-24.04
timeout-minutes: 50
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Run disposable S3 and network printing smoke tests
shell: pwsh
run: ./dev/Invoke-Dev.ps1 -Action Test
- name: Run opt-in real native provider qualification
if: github.event_name == 'workflow_dispatch' && inputs.native-auth
shell: pwsh
run: ./dev/Invoke-Dev.ps1 -Action Test -ExperimentalNativeAuth