diff --git a/build/mixin-completions-core.sh b/build/mixin-completions-core.sh new file mode 100755 index 000000000..cd339f97c --- /dev/null +++ b/build/mixin-completions-core.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -e + +# Get the OAuth token from the git config +result=$(git config --get-regexp '.*extraheader' '^AUTHORIZATION:') +basicToken=$(echo "$result" | sed 's/.*AUTHORIZATION: basic //') +oauthToken=$(echo "$basicToken" | base64 -d | cut -d':' -f2) + +# Get the completions core version from package.json +completionsCoreVersion=$(node -p "require('./package.json').completionsCore") + +# Clone the vscode-copilot-completions repository +git clone -b completions-port "https://vscode:$oauthToken@github.com/microsoft/vscode-copilot-completions.git" --depth 1 src/extension/completions-core + +# Navigate to the cloned directory and checkout the specific version +pushd src/extension/completions-core +git checkout "$completionsCoreVersion" +popd + +# Remove the existing file and rename the .txt version +rm src/extension/completions/vscode-node/completionsCoreContribution.ts +mv src/extension/completions/vscode-node/completionsCoreContribution.ts.txt src/extension/completions/vscode-node/completionsCoreContribution.ts \ No newline at end of file diff --git a/build/pre-release.yml b/build/pre-release.yml index ba9c0df40..e9d7c5e23 100644 --- a/build/pre-release.yml +++ b/build/pre-release.yml @@ -97,18 +97,7 @@ extends: Remove-Item -Recurse -Force ../vscode-capi displayName: mixin - - pwsh: | - $result = git config --get-regexp .*extraheader ^AUTHORIZATION: - $basicToken = $result -split "AUTHORIZATION: basic " | Select-Object -Last 1 - $oauthToken = [System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($basicToken)) -split ":" | Select-Object -Last 1 - $PackageJson = Get-Content -Path package.json -Raw | ConvertFrom-Json - $CompletionsCoreVersion = $PackageJson.completionsCore - git clone -b completions-port https://vscode:$oauthToken@github.com/microsoft/vscode-copilot-completions.git --depth 1 src/extension/completions-core - pushd src/extension/completions-core - git checkout $CompletionsCoreVersion - popd - rm src/extension/completions/vscode-node/completionsCoreContribution.ts - mv src/extension/completions/vscode-node/completionsCoreContribution.ts.txt src/extension/completions/vscode-node/completionsCoreContribution.ts + - script: ./build/mixin-completions-core.sh condition: and(succeeded(), eq(${{ parameters.mixinCompletionsCore }}, true)) displayName: Mixin the completions core repo @@ -176,18 +165,7 @@ extends: - script: npm run setup:dotnet displayName: Install dotnet cli - - pwsh: | - $result = git config --get-regexp .*extraheader ^AUTHORIZATION: - $basicToken = $result -split "AUTHORIZATION: basic " | Select-Object -Last 1 - $oauthToken = [System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($basicToken)) -split ":" | Select-Object -Last 1 - $PackageJson = Get-Content -Path package.json -Raw | ConvertFrom-Json - $CompletionsCoreVersion = $PackageJson.completionsCore - git clone -b completions-port https://vscode:$oauthToken@github.com/microsoft/vscode-copilot-completions.git --depth 1 src/extension/completions-core - pushd src/extension/completions-core - git checkout $CompletionsCoreVersion - popd - rm src/extension/completions/vscode-node/completionsCoreContribution.ts - mv src/extension/completions/vscode-node/completionsCoreContribution.ts.txt src/extension/completions/vscode-node/completionsCoreContribution.ts + - script: ./build/mixin-completions-core.sh condition: and(succeeded(), eq(${{ parameters.mixinCompletionsCore }}, true)) displayName: Mixin the completions core repo diff --git a/build/release.yml b/build/release.yml index e2703c33d..9ef46d18d 100644 --- a/build/release.yml +++ b/build/release.yml @@ -99,18 +99,7 @@ extends: Remove-Item -Recurse -Force ../vscode-capi displayName: mixin - - pwsh: | - $result = git config --get-regexp .*extraheader ^AUTHORIZATION: - $basicToken = $result -split "AUTHORIZATION: basic " | Select-Object -Last 1 - $oauthToken = [System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($basicToken)) -split ":" | Select-Object -Last 1 - $PackageJson = Get-Content -Path package.json -Raw | ConvertFrom-Json - $CompletionsCoreVersion = $PackageJson.completionsCore - git clone -b completions-port https://vscode:$oauthToken@github.com/microsoft/vscode-copilot-completions.git --depth 1 src/extension/completions-core - pushd src/extension/completions-core - git checkout $CompletionsCoreVersion - popd - rm src/extension/completions/vscode-node/completionsCoreContribution.ts - mv src/extension/completions/vscode-node/completionsCoreContribution.ts.txt src/extension/completions/vscode-node/completionsCoreContribution.ts + - script: ./build/mixin-completions-core.sh condition: and(succeeded(), eq(${{ parameters.mixinCompletionsCore }}, true)) displayName: Mixin the completions core repo @@ -178,18 +167,7 @@ extends: - script: npm run setup:dotnet displayName: Install dotnet cli - - pwsh: | - $result = git config --get-regexp .*extraheader ^AUTHORIZATION: - $basicToken = $result -split "AUTHORIZATION: basic " | Select-Object -Last 1 - $oauthToken = [System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($basicToken)) -split ":" | Select-Object -Last 1 - $PackageJson = Get-Content -Path package.json -Raw | ConvertFrom-Json - $CompletionsCoreVersion = $PackageJson.completionsCore - git clone -b completions-port https://vscode:$oauthToken@github.com/microsoft/vscode-copilot-completions.git --depth 1 src/extension/completions-core - pushd src/extension/completions-core - git checkout $CompletionsCoreVersion - popd - rm src/extension/completions/vscode-node/completionsCoreContribution.ts - mv src/extension/completions/vscode-node/completionsCoreContribution.ts.txt src/extension/completions/vscode-node/completionsCoreContribution.ts + - script: ./build/mixin-completions-core.sh condition: and(succeeded(), eq(${{ parameters.mixinCompletionsCore }}, true)) displayName: Mixin the completions core repo