Skip to content

Release v0.5.12 — state schema versioning (clears the world-class punch-list) #79

Release v0.5.12 — state schema versioning (clears the world-class punch-list)

Release v0.5.12 — state schema versioning (clears the world-class punch-list) #79

Workflow file for this run

name: ci
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
shellcheck:
name: shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Run shellcheck
uses: ludeeus/action-shellcheck@master
with:
severity: warning
scandir: '.'
additional_files: 'bin/clikae install.sh'
smoke:
name: smoke test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v5
- name: Install
run: ./install.sh
env:
PREFIX: ${{ github.workspace }}/.local
- name: Sanity
run: |
export PATH="${{ github.workspace }}/.local/bin:$PATH"
clikae version
clikae help
clikae adapters
clikae list
bats:
name: bats (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v5
- name: Install bats
run: |
git clone --depth 1 https://github.com/bats-core/bats-core.git "$RUNNER_TEMP/bats"
"$RUNNER_TEMP/bats/install.sh" "$HOME/.local"
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Run tests
# -r so the tests/bats/adapters/ subdirectory is included.
run: bats -r --print-output-on-failure tests/bats
pester:
# clikae is a macOS/Linux bash tool; the PowerShell module is a
# community-contributed, UNSUPPORTED port. This job runs Pester for the
# benefit of PS contributors but is informational only — it never gates a
# merge (continue-on-error), so Windows never blocks the bash work.
name: pester (windows, community/unsupported)
runs-on: windows-latest
continue-on-error: true
steps:
- uses: actions/checkout@v5
# The `shell:` key can't take a matrix expression, so the two PowerShell
# editions are run as two explicit-shell steps:
# pwsh = PowerShell 7+
# powershell = Windows PowerShell 5.1
- name: Pester on PowerShell 7 (pwsh)
shell: pwsh
run: |
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
Install-Module Pester -MinimumVersion 5.5.0 -Force -SkipPublisherCheck -Scope CurrentUser
Import-Module Pester -MinimumVersion 5.0
$cfg = New-PesterConfiguration
$cfg.Run.Path = 'powershell/Clikae.Tests.ps1'
$cfg.Run.Exit = $true
$cfg.Output.Verbosity = 'Detailed'
Invoke-Pester -Configuration $cfg
- name: Pester on Windows PowerShell 5.1 (powershell)
shell: powershell
run: |
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
Install-Module Pester -MinimumVersion 5.5.0 -Force -SkipPublisherCheck -Scope CurrentUser
Import-Module Pester -MinimumVersion 5.0
$cfg = New-PesterConfiguration
$cfg.Run.Path = 'powershell/Clikae.Tests.ps1'
$cfg.Run.Exit = $true
$cfg.Output.Verbosity = 'Detailed'
Invoke-Pester -Configuration $cfg