Skip to content

Commit e5b7b68

Browse files
committed
feat: align GitLab and Azure setup features
1 parent 9fd26ff commit e5b7b68

50 files changed

Lines changed: 2632 additions & 1919 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/test.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -889,6 +889,7 @@ jobs:
889889
shell: pwsh
890890
run: |
891891
[scriptblock]::Create((Get-Content -Raw azure/bootstrap.ps1)) > $null
892+
[scriptblock]::Create((Get-Content -Raw gitlab/bootstrap.ps1)) > $null
892893
893894
build:
894895
runs-on: ubuntu-latest

README.md

Lines changed: 72 additions & 28 deletions
Large diffs are not rendered by default.

azure/bootstrap.ps1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,4 @@ foreach ($chunkName in $chunkNames) {
3838
}
3939

4040
& node $runtimeOut prepare
41+
if ($LASTEXITCODE -ne 0) { throw "setup-vp prepare failed with exit code $LASTEXITCODE" }

azure/setup-vp.yml

Lines changed: 40 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,19 @@
11
parameters:
22
- name: version
33
type: string
4-
default: latest
4+
default: ""
5+
- name: versionFile
6+
type: string
7+
default: ""
8+
- name: nodeVersionFile
9+
type: string
10+
default: ""
11+
- name: bootstrapNodeVersion
12+
type: string
13+
default: 24.x
14+
- name: stepName
15+
type: string
16+
default: setupVp
517
- name: workingDirectory
618
type: string
719
default: .
@@ -14,6 +26,9 @@ parameters:
1426
- name: registryUrl
1527
type: string
1628
default: ""
29+
- name: authEnv
30+
type: object
31+
default: {}
1732
- name: scope
1833
type: string
1934
default: ""
@@ -22,7 +37,7 @@ parameters:
2237
default: v1.20.0
2338
- name: nodeVersion
2439
type: string
25-
default: 24.x
40+
default: ""
2641
- name: packageManager
2742
type: object
2843
default: ""
@@ -37,11 +52,11 @@ parameters:
3752
default: ""
3853

3954
steps:
40-
- ${{ if ne(parameters.nodeVersion, '') }}:
55+
- ${{ if ne(parameters.bootstrapNodeVersion, '') }}:
4156
- task: UseNode@1
42-
displayName: Use Node.js
57+
displayName: Use bootstrap Node.js
4358
inputs:
44-
version: ${{ parameters.nodeVersion }}
59+
version: ${{ parameters.bootstrapNodeVersion }}
4560

4661
- powershell: |
4762
$ErrorActionPreference = 'Stop'
@@ -53,6 +68,9 @@ steps:
5368
displayName: setup-vp prepare (Windows)
5469
env:
5570
SETUP_VP_VERSION: ${{ parameters.version }}
71+
SETUP_VP_VERSION_FILE: ${{ parameters.versionFile }}
72+
SETUP_VP_NODE_VERSION: ${{ parameters.nodeVersion }}
73+
SETUP_VP_NODE_VERSION_FILE: ${{ parameters.nodeVersionFile }}
5674
SETUP_VP_WORKING_DIRECTORY: ${{ parameters.workingDirectory }}
5775
SETUP_VP_RUN_INSTALL: ${{ convertToJson(parameters.runInstall) }}
5876
SETUP_VP_SFW: ${{ iif(eq(parameters.sfw, true), 'true', 'false') }}
@@ -76,6 +94,9 @@ steps:
7694
displayName: setup-vp prepare (Unix)
7795
env:
7896
SETUP_VP_VERSION: ${{ parameters.version }}
97+
SETUP_VP_VERSION_FILE: ${{ parameters.versionFile }}
98+
SETUP_VP_NODE_VERSION: ${{ parameters.nodeVersion }}
99+
SETUP_VP_NODE_VERSION_FILE: ${{ parameters.nodeVersionFile }}
79100
SETUP_VP_WORKING_DIRECTORY: ${{ parameters.workingDirectory }}
80101
SETUP_VP_RUN_INSTALL: ${{ convertToJson(parameters.runInstall) }}
81102
SETUP_VP_SFW: ${{ iif(eq(parameters.sfw, true), 'true', 'false') }}
@@ -88,6 +109,14 @@ steps:
88109
SETUP_VP_CACHE_DEPENDENCY_PATH: ${{ parameters.cacheDependencyPath }}
89110
SETUP_VP_RUNTIME_OUT: $(Agent.TempDirectory)/setup-vp-azure/dist/azure/index.mjs
90111
112+
- ${{ if eq(parameters.sfw, true) }}:
113+
- task: Cache@2
114+
displayName: Cache Socket Firewall Free
115+
condition: and(succeeded(), eq(variables['SETUP_VP_SFW_READY'], 'true'))
116+
inputs:
117+
key: '"setup-vp-sfw" | "$(SETUP_VP_SFW_CACHE_KEY)"'
118+
path: $(SETUP_VP_SFW_CACHE_DIR)
119+
91120
- ${{ if eq(parameters.cache, true) }}:
92121
- task: Cache@2
93122
displayName: Cache Vite+ package-manager data
@@ -102,9 +131,10 @@ steps:
102131

103132
- powershell: |
104133
$ErrorActionPreference = 'Stop'
105-
node "$(Agent.TempDirectory)\setup-vp-azure\dist\azure\index.mjs" finalize
134+
& "$(SETUP_VP_BOOTSTRAP_NODE)" "$(Agent.TempDirectory)\setup-vp-azure\dist\azure\index.mjs" finalize
106135
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
107136
displayName: setup-vp finalize (Windows)
137+
name: ${{ parameters.stepName }}Windows
108138
env:
109139
SETUP_VP_VERSION: ${{ parameters.version }}
110140
SETUP_VP_WORKING_DIRECTORY: ${{ parameters.workingDirectory }}
@@ -113,14 +143,16 @@ steps:
113143
SETUP_VP_REGISTRY_URL: ${{ parameters.registryUrl }}
114144
SETUP_VP_SCOPE: ${{ parameters.scope }}
115145
NODE_AUTH_TOKEN: $(NODE_AUTH_TOKEN)
146+
${{ insert }}: ${{ parameters.authEnv }}
116147
SETUP_VP_CACHE: ${{ iif(eq(parameters.cache, true), 'true', 'false') }}
117148
SETUP_VP_CACHE_DEPENDENCY_PATH: ${{ parameters.cacheDependencyPath }}
118149
119150
- bash: |
120151
set -euo pipefail
121-
node "$(Agent.TempDirectory)/setup-vp-azure/dist/azure/index.mjs" finalize
152+
"$(SETUP_VP_BOOTSTRAP_NODE)" "$(Agent.TempDirectory)/setup-vp-azure/dist/azure/index.mjs" finalize
122153
condition: and(succeeded(), ne(variables['Agent.OS'], 'Windows_NT'))
123154
displayName: setup-vp finalize (Unix)
155+
name: ${{ parameters.stepName }}Unix
124156
env:
125157
SETUP_VP_VERSION: ${{ parameters.version }}
126158
SETUP_VP_WORKING_DIRECTORY: ${{ parameters.workingDirectory }}
@@ -129,5 +161,6 @@ steps:
129161
SETUP_VP_REGISTRY_URL: ${{ parameters.registryUrl }}
130162
SETUP_VP_SCOPE: ${{ parameters.scope }}
131163
NODE_AUTH_TOKEN: $(NODE_AUTH_TOKEN)
164+
${{ insert }}: ${{ parameters.authEnv }}
132165
SETUP_VP_CACHE: ${{ iif(eq(parameters.cache, true), 'true', 'false') }}
133166
SETUP_VP_CACHE_DEPENDENCY_PATH: ${{ parameters.cacheDependencyPath }}

dist/azure/index.mjs

Lines changed: 32 additions & 24 deletions
Large diffs are not rendered by default.

dist/gitlab/index.mjs

Lines changed: 65 additions & 20 deletions
Large diffs are not rendered by default.

dist/index.mjs

Lines changed: 65 additions & 65 deletions
Large diffs are not rendered by default.

gitlab/bootstrap.ps1

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
$ErrorActionPreference = 'Stop'
2+
$runtimeNode = (Get-Command node -ErrorAction Stop).Source
3+
$setupRef = if ($env:SETUP_VP_SETUP_REF) { $env:SETUP_VP_SETUP_REF } else { 'v1' }
4+
$runtime = Join-Path ([IO.Path]::GetTempPath()) ("setup-vp-gitlab-" + [guid]::NewGuid() + ".mjs")
5+
try {
6+
$url = "https://raw.githubusercontent.com/voidzero-dev/setup-vp/$setupRef/dist/gitlab/index.mjs"
7+
Invoke-WebRequest -Uri $url -OutFile $runtime -TimeoutSec 60
8+
& $runtimeNode $runtime
9+
if ($LASTEXITCODE -ne 0) { throw "setup-vp failed with exit code $LASTEXITCODE" }
10+
} finally {
11+
Remove-Item -LiteralPath $runtime -Force -ErrorAction SilentlyContinue
12+
}

0 commit comments

Comments
 (0)