Skip to content

Credit the Web UI contributor and improve README contrast (#85) #188

Credit the Web UI contributor and improve README contrast (#85)

Credit the Web UI contributor and improve README contrast (#85) #188

Workflow file for this run

name: ci
on:
push:
branches:
- main
pull_request:
permissions:
contents: read
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- windows-latest
- ubuntu-latest
node-version:
- "16.20.2"
- "24"
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- run: npm ci
- run: npm run web:build
- run: npm test
desktop-test:
runs-on: windows-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: "10.0.x"
- run: dotnet build CodexProviderSync.sln --configuration Release
- run: dotnet test desktop/CodexProviderSync.Core.Tests/CodexProviderSync.Core.Tests.csproj --configuration Release --no-build
- run: dotnet test desktop/CodexProviderSync.Application.Tests/CodexProviderSync.Application.Tests.csproj --configuration Release --no-build
- run: dotnet test desktop/CodexProviderSync.Automation.Tests/CodexProviderSync.Automation.Tests.csproj --configuration Release --no-build
- run: dotnet test desktop/CodexProviderSync.App.Tests/CodexProviderSync.App.Tests.csproj --configuration Release --no-build
- name: Run GUI E2E contract tests (not headful)
run: dotnet test desktop/CodexProviderSync.GuiE2E.Tests/CodexProviderSync.GuiE2E.Tests.csproj --configuration Release --no-build
desktop-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: "10.0.x"
- run: dotnet test desktop/CodexProviderSync.Core.Tests/CodexProviderSync.Core.Tests.csproj
- run: dotnet test desktop/CodexProviderSync.Application.Tests/CodexProviderSync.Application.Tests.csproj
- run: dotnet build desktop/CodexProviderSync.Mac/CodexProviderSync.Mac.csproj --configuration Release
desktop-linux-lock:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: "10.0.x"
- run: dotnet test desktop/CodexProviderSync.Core.Tests/CodexProviderSync.Core.Tests.csproj --filter FullyQualifiedName~LockServiceTests
ci-gate:
name: ci-gate
if: ${{ always() }}
needs:
- test
- desktop-test
- desktop-macos
- desktop-linux-lock
runs-on: ubuntu-latest
steps:
- name: Verify required jobs
env:
NODE_TEST_RESULT: ${{ needs.test.result }}
DESKTOP_TEST_RESULT: ${{ needs.desktop-test.result }}
MACOS_TEST_RESULT: ${{ needs.desktop-macos.result }}
LINUX_LOCK_RESULT: ${{ needs.desktop-linux-lock.result }}
run: |
if [ "$NODE_TEST_RESULT" != "success" ] ||
[ "$DESKTOP_TEST_RESULT" != "success" ] ||
[ "$MACOS_TEST_RESULT" != "success" ] ||
[ "$LINUX_LOCK_RESULT" != "success" ]; then
echo "One or more required CI jobs did not succeed."
exit 1
fi