feat(deploy): add sync and push scripts for CI/CD

This commit is contained in:
Arash_M
2026-06-09 15:33:50 +03:30
parent 12f950d786
commit 02573f1643
3 changed files with 147 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
<#
.SYNOPSIS
Git commit + push to Gitea (no sensitive data; credentials come from git config or env).
.DESCRIPTION
Stages all changes, commits with a timestamp message, and force-pushes to origin/main.
Run from the repo root or any subdirectory.
Remote URL is whatever `git remote get-url origin` returns — configure it once:
git remote set-url origin https://<user>@<host>/arash/audio-voice-converter.git
.PARAMETER Message
Optional commit message. Defaults to "chore: sync extension files <timestamp>".
.PARAMETER DryRun
Show what would be committed/pushed without actually doing it.
.EXAMPLE
.\deploy\scripts\push.ps1
.\deploy\scripts\push.ps1 -Message "feat: update popup UI"
.\deploy\scripts\push.ps1 -DryRun
#>
[CmdletBinding()]
param(
[string]$Message,
[switch]$DryRun
)
$ErrorActionPreference = "Stop"
# Navigate to repo root (2 levels up from deploy/scripts/)
$repoRoot = Split-Path (Split-Path $PSScriptRoot)
Set-Location $repoRoot
$status = git status --porcelain
if (-not $status) {
Write-Host "Nothing to commit."
exit 0
}
$msg = if ($Message) { $Message } else { "chore: sync extension files $(Get-Date -Format 'yyyy-MM-dd HH:mm')" }
Write-Host "Changes to commit:"
git status --short
if ($DryRun) {
Write-Host "[DryRun] Would commit: $msg"
Write-Host "[DryRun] Would push: origin main (force)"
exit 0
}
git add .
git commit -m $msg
git push --force origin main
Write-Host "Push complete."