Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
baa4dc2
Bump version to 12.0.0-beta.3 and move completed task 033 to done
StevenTCramer Aug 22, 2025
d9c71f1
Add task 037: Factor out Blazor-specific code for console app support
StevenTCramer Aug 22, 2025
fa4320e
Move task 035 to in-progress: Migrate PowerShell scripts to .NET 10
StevenTCramer Aug 22, 2025
c11afbf
Analyze PowerShell scripts and update Task 035 with missing workflow …
StevenTCramer Aug 22, 2025
d6e4d04
Analyze GitHub workflows: TimeWarp.State vs Nuru/Amuru patterns
StevenTCramer Aug 22, 2025
51763c0
Update Task 035 with parallel migration strategy
StevenTCramer Aug 22, 2025
da489e3
Stop tracking packages.lock.json for samples and tests
StevenTCramer Aug 27, 2025
d61d021
Add C# scripts for build and test using TimeWarp.Nuru and TimeWarp.Amuru
StevenTCramer Aug 27, 2025
d4d9a7b
feat: Complete migration from PowerShell scripts to .NET 10 C# single…
StevenTCramer Aug 27, 2025
be192b0
Move 036-remove-redundant-render-mode-tracking.md to in-progress
StevenTCramer Aug 27, 2025
d665c3f
Remove redundant render mode tracking logic
StevenTCramer Aug 28, 2025
4e6cb37
Update scripts to use TimeWarp.Amuru Shell API
StevenTCramer Aug 28, 2025
0141d52
Update build to use convert-timestamp command directly
StevenTCramer Aug 28, 2025
20aaad3
Remove redundant test-app.sln solution file
StevenTCramer Aug 28, 2025
b0e7c06
Update task 036 documentation with implementation progress
StevenTCramer Aug 28, 2025
a4771f1
Update TimeWarpStateComponent documentation to reflect .NET 9 APIs
StevenTCramer Oct 13, 2025
68e2d5d
Move task 036 to done: Remove redundant render mode tracking
StevenTCramer Oct 13, 2025
cc76903
Organize Directory.Packages.props into logical groups
StevenTCramer Oct 13, 2025
e9dc715
Refactor build.cs: improve formatting and use explicit types
StevenTCramer Oct 13, 2025
d278969
Remove package lock file configuration and delete lock files
StevenTCramer Oct 13, 2025
11d90d4
Update NuGet packages to latest versions
StevenTCramer Oct 13, 2025
bcba1f8
Reorganize Directory.Build.props with labeled sections
StevenTCramer Oct 13, 2025
7682788
Add custom repository variables section to Directory.Build.props
StevenTCramer Oct 13, 2025
9e90a4b
Centralize artifact outputs using repository variables
StevenTCramer Oct 13, 2025
23266c3
Suppress NuGet compatibility warnings and configure MSTest paralleliz…
StevenTCramer Oct 13, 2025
752d8de
Standardize readme file naming convention
StevenTCramer Oct 16, 2025
799e9db
Replace custom build metadata with TimeWarp.Build.Tasks package
StevenTCramer Oct 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
443 changes: 0 additions & 443 deletions .github/scripts/sync-configurable-files.ps1

This file was deleted.

39 changes: 0 additions & 39 deletions .github/workflows/build.ps1

This file was deleted.

64 changes: 0 additions & 64 deletions .github/workflows/ci-build.yml

This file was deleted.

213 changes: 213 additions & 0 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
name: CI/CD Pipeline

on:
pull_request:
paths:
- 'source/**'
- 'tests/**'
- '.github/workflows/ci-cd.yml'
- '*.props'
- '*.targets'
- 'Directory.Build.props'
push:
branches:
- master
paths:
- 'source/**'
- 'tests/**'
- '.github/workflows/ci-cd.yml'
- 'Directory.Build.props'
- '*.props'
- '*.targets'
- 'Documentation/**'
release:
types: [created]
workflow_dispatch:

env:
DOTNET_NOLOGO: true
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
NUGET_AUTH_TOKEN: ${{ secrets.PUBLISH_TO_NUGET_ORG }}

jobs:
# CI/CD job for PR and push events
ci:
if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref == 'refs/heads/master')
runs-on: ubuntu-latest
defaults:
run:
shell: pwsh
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Cache NuGet packages
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
restore-keys: |
${{ runner.os }}-nuget-

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
9.0.x
10.0.100-preview.7.25380.108

- name: Clean solution
run: dotnet run --project ./scripts/clean.cs
working-directory: ${{ github.workspace }}

- name: Build solution
run: dotnet run --project ./scripts/build.cs
working-directory: ${{ github.workspace }}

- name: Run tests
run: dotnet run --project ./scripts/test.cs
working-directory: ${{ github.workspace }}

- name: Run E2E tests
run: dotnet run --project ./scripts/e2e.cs
working-directory: ${{ github.workspace }}
env:
UseHttp: "true"

# Documentation publishing job
docs:
if: github.event_name == 'push' && github.ref == 'refs/heads/master' && contains(github.event.head_commit.modified, 'Documentation/')
runs-on: windows-latest
defaults:
run:
shell: pwsh
permissions:
contents: read
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
concurrency:
group: "pages"
cancel-in-progress: false
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Cache NuGet packages
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
restore-keys: |
${{ runner.os }}-nuget-

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.x

- name: Setup DocFX
run: dotnet tool update --global docfx

- name: Build solution
run: dotnet run --project ./scripts/build.cs
working-directory: ${{ github.workspace }}

- name: Build documentation
working-directory: Documentation
run: docfx docfx.json

- name: Setup Pages
uses: actions/configure-pages@v5

- name: Upload documentation
uses: actions/upload-pages-artifact@v3
with:
path: './Documentation/_site'

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

# Release publishing job
release:
if: github.event_name == 'release' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
defaults:
run:
shell: pwsh
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Cache NuGet packages
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
restore-keys: |
${{ runner.os }}-nuget-

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.403'

- name: Extract version from source/Directory.Build.props
id: extract_version
run: |
[xml]$xml = Get-Content -Path "source/Directory.Build.props"
$version = $xml.SelectSingleNode("//TimeWarpStateVersion").InnerText
$version = $version.Trim()
echo "version=$version" >> $env:GITHUB_OUTPUT
shell: pwsh

- name: Validate release version matches tag
if: github.event_name == 'release'
run: |
$releaseVersion = "${{ steps.extract_version.outputs.version }}"
$tagName = "${{ github.event.release.tag_name }}"
$tagNameForComparison = $tagName
if ($tagName.StartsWith("v")) {
$tagNameForComparison = $tagName.Substring(1)
}

if ($releaseVersion -ne $tagNameForComparison) {
throw "Release version ($releaseVersion) does not match tag name ($tagName)"
}
Write-Host "✅ Release version matches tag name"
shell: pwsh

- name: Create NuGet packages
run: dotnet run --project ./scripts/package.cs
working-directory: ${{ github.workspace }}

- name: Publish TimeWarp.State to NuGet
run: |
$packagePath = "./artifacts/packages/TimeWarp.State.*.nupkg"
if (!(Test-Path $packagePath)) {
throw "NuGet package not found for TimeWarp.State"
}
dotnet nuget push $packagePath --skip-duplicate --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.PUBLISH_TO_NUGET_ORG }}
working-directory: ${{ github.workspace }}

- name: Publish TimeWarp.State.Plus to NuGet
run: |
$packagePath = "./artifacts/packages/TimeWarp.State.Plus.*.nupkg"
if (!(Test-Path $packagePath)) {
throw "NuGet package not found for TimeWarp.State.Plus"
}
dotnet nuget push $packagePath --skip-duplicate --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.PUBLISH_TO_NUGET_ORG }}
working-directory: ${{ github.workspace }}

- name: Publish TimeWarp.State.Policies to NuGet
run: |
$packagePath = "./artifacts/packages/TimeWarp.State.Policies.*.nupkg"
if (!(Test-Path $packagePath)) {
throw "NuGet package not found for TimeWarp.State.Policies"
}
dotnet nuget push $packagePath --skip-duplicate --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.PUBLISH_TO_NUGET_ORG }}
working-directory: ${{ github.workspace }}
75 changes: 0 additions & 75 deletions .github/workflows/claude-code-review.yml.disabled

This file was deleted.

Loading
Loading