diff options
| -rw-r--r-- | deploy.ps1 | 23 | ||||
| -rwxr-xr-x | deploy.sh | 21 | ||||
| -rw-r--r-- | templates/setup_jv_cli.iss.template | 2 |
3 files changed, 44 insertions, 2 deletions
@@ -5,11 +5,32 @@ $scriptPath = $MyInvocation.MyCommand.Path $scriptDir = Split-Path $scriptPath -Parent Set-Location $scriptDir +# Test core library +cargo test --manifest-path ..\VersionControl\Cargo.toml --workspace +if ($LASTEXITCODE -ne 0) { + Write-Warning "Core library tests failed. Aborting build." + exit 1 +} + +# Test workspace +cargo test --workspace +if ($LASTEXITCODE -ne 0) { + Write-Warning "Workspace tests failed. Aborting build." + exit 1 +} + +# Check if git worktree is clean +$gitStatus = git status --porcelain +if ($gitStatus) { + Write-Warning "Git worktree is not clean. Commit or stash changes before building." + exit 1 +} + # Check for ISCC $isccPath = Get-Command ISCC -ErrorAction SilentlyContinue if (-not $isccPath) { Write-Warning '"Inno Setup" not installed. (https://jrsoftware.org/isinfo.php)' - exit + exit 1 } # Build @@ -5,6 +5,27 @@ # Change to the directory where the script is located cd "$(dirname "$0")" || exit 1 +# Test core library +cargo test --manifest-path ../VersionControl/Cargo.toml --workspace +if [ $? -ne 0 ]; then + echo "Core library tests failed. Aborting build." + exit 1 +fi + +# Test workspace +cargo test --workspace +if [ $? -ne 0 ]; then + echo "Workspace tests failed. Aborting build." + exit 1 +fi + +# Check if git worktree is clean +git_status=$(git status --porcelain) +if [ -n "$git_status" ]; then + echo "Git worktree is not clean. Commit or stash changes before building." + exit 1 +fi + # Build if FORCE_BUILD=$(date +%s) cargo build --workspace --release; then # Export diff --git a/templates/setup_jv_cli.iss.template b/templates/setup_jv_cli.iss.template index 15a0fbc..8a45ee5 100644 --- a/templates/setup_jv_cli.iss.template +++ b/templates/setup_jv_cli.iss.template @@ -17,7 +17,7 @@ AllowNoIcons=yes LicenseFile=..\..\LICENSE PrivilegesRequired=lowest OutputDir=..\..\.temp\ -OutputBaseFilename=JustEnoughVCS For Windows +OutputBaseFilename=JustEnoughVCS_Windows_<<<VERSION>>> SetupIconFile=..\..\resources\images\Yizi.ico SolidCompression=yes WizardStyle=modern dynamic |
