## Summary - rebuild the public Tenantial homepage around an evidence-first Microsoft tenant governance narrative - replace the old hero visual with a new static dashboard preview and add dedicated Trust Bar and Feature Pillars sections - update the shared public shell, navigation, footer, dark design tokens, assets, and homepage content to match the new brand direction - align website smoke coverage and Spec 400 artifacts with the rebuilt homepage ## Testing - not run in this pass - updated website smoke specs under apps/website/tests/smoke ## Note - `website-dev` was pushed to `origin` so the requested PR base exists remotely - the remote `website-dev` branch is an ancestor of `origin/dev`, so this PR may also show upstream `dev` history relative to that base Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #387
52 lines
1.9 KiB
PowerShell
52 lines
1.9 KiB
PowerShell
#!/usr/bin/env pwsh
|
|
# Git-specific common functions for the git extension.
|
|
# Extracted from scripts/powershell/common.ps1 — contains only git-specific
|
|
# branch validation and detection logic.
|
|
|
|
function Test-HasGit {
|
|
param([string]$RepoRoot = (Get-Location))
|
|
try {
|
|
if (-not (Test-Path (Join-Path $RepoRoot '.git'))) { return $false }
|
|
if (-not (Get-Command git -ErrorAction SilentlyContinue)) { return $false }
|
|
git -C $RepoRoot rev-parse --is-inside-work-tree 2>$null | Out-Null
|
|
return ($LASTEXITCODE -eq 0)
|
|
} catch {
|
|
return $false
|
|
}
|
|
}
|
|
|
|
function Get-SpecKitEffectiveBranchName {
|
|
param([string]$Branch)
|
|
if ($Branch -match '^([^/]+)/([^/]+)$') {
|
|
return $Matches[2]
|
|
}
|
|
return $Branch
|
|
}
|
|
|
|
function Test-FeatureBranch {
|
|
param(
|
|
[string]$Branch,
|
|
[bool]$HasGit = $true
|
|
)
|
|
|
|
# For non-git repos, we can't enforce branch naming but still provide output
|
|
if (-not $HasGit) {
|
|
Write-Warning "[specify] Warning: Git repository not detected; skipped branch validation"
|
|
return $true
|
|
}
|
|
|
|
$raw = $Branch
|
|
$Branch = Get-SpecKitEffectiveBranchName $raw
|
|
|
|
# Accept sequential prefix (3+ digits) but exclude malformed timestamps
|
|
# Malformed: 7-or-8 digit date + 6-digit time with no trailing slug (e.g. "2026031-143022" or "20260319-143022")
|
|
$hasMalformedTimestamp = ($Branch -match '^[0-9]{7}-[0-9]{6}-') -or ($Branch -match '^(?:\d{7}|\d{8})-\d{6}$')
|
|
$isSequential = ($Branch -match '^[0-9]{3,}-') -and (-not $hasMalformedTimestamp)
|
|
if (-not $isSequential -and $Branch -notmatch '^\d{8}-\d{6}-') {
|
|
[Console]::Error.WriteLine("ERROR: Not on a feature branch. Current branch: $raw")
|
|
[Console]::Error.WriteLine("Feature branches should be named like: 001-feature-name, 1234-feature-name, or 20260319-143022-feature-name")
|
|
return $false
|
|
}
|
|
return $true
|
|
}
|