vscode-dotnet-runtime/pipeline-templates/package-vsix.yaml

86 строки
3.2 KiB
YAML
Исходник Постоянная ссылка Обычный вид История

Migrate to 1ES Pipeline (#1679) * Migrate pipeline to 1es * Clean up changes made from migration tool * Separate pipeline out into many yaml files so we can have 2 pipelines without code duplication due to new internal requirement * remove unncessary pipeline backup * Remove pipeline from 1es for public as it is not going to be added to the organization in public * Update yaml loop logic Remove devcontainer as it is out of compliance and not used by anyone * fix mappping by adding body to the loop with indentation: * add a 1es repository * Create a separate 1es pipeline * use self to search in the correct repository * migrate to self on 1es * use folder name pipeline-templates over templates * use yaml over yml * temporarily move jobs into one os * split pools * Move the loop to out of the job * move the task into steps instead of a job as u cant do a job in a job * remove template keyword * dont call steps template in job outside of steps * use yaml instead of yml * add sdl * use unique names for jobs * use _ instead of space * Use azure pipelines name to conform to style * give image to each parameter * make it 1 os for 1 os job and use different pool * Call pool explicyk * try to fix names * Use different source for mac instead of 1es * Update get-func-name * Update public PR pipeline * use public pool as thats what the name param is for * give image name instead of vmimage as it snot used * try to switch to a better pool * try using internal pool on public as external is not available * Publish logs to os specific folder * condition steps so they are skipped if not needed per os * dont care if it succeeded * add paran * remove paran * use parameter pools instead of agent os * move to 7.0 instead of 6 bc six is broken in the cache online maybe * switch to 1es pool * try using public pool * See if mac pipeline has a mirror in svc * use image names from open * Use vm image in the image * Use vm image in the image * update vm image * try to condition the pool * code cleanup now that everything was working * fix whitespace * Update vscode-test * Update vscode-test to the new name * respond to most pr feedback * rename the file as I cannot change the pipeline name while its in main maybe
2024-03-15 01:09:21 +03:00
parameters:
pool: ''
✒️ Enable ESRP Signing on the .VSIX (#1885) * Add fake MSBuild project to allow signing VSIX and JS * Sign JS * Add step to pipeline * Restrict signing package version * Add scripts to install signing tool locally * only go up 1 directory * fix display name * fix whitespace -__- * add build step for installing microbuild * add sign type parameter * dont produce alpha package in official drop * add sign type parameter to default pipeline * dont publish package in another directory as this causes other issues, instead copy the artifact * acknowledge the existence of a document explaining the release and other maintenance processes this information is more suited for internal repo changes. * change internal stream to a different signing stream * add dotnet public for notargets sdk * reduce to 1 feed * use a different feed * Use dotnet team * use explicit feed source * add feed auth * fix comment * rename unsigned vsix so both can get dropped * use the other type of slash for REN -__- * try to fix path * add packages folder with empty gitignore * figure out dir * fix rename command * Fix rename the 'unsigned' one is actually the signed one * Fix JS File Sign dist is at the root of each but this runs in a segregated folder * produce binlogs and try to fix the path * Publish SDK Extension Logs * fix signing * remove bad slash in path that gets parsed incorrectly * remove \ * fix microbuild to be installed b5 js signing * update gitignore * fix gitignore again * [REVERT THIS] Add a file A.ts to see if files are signed alphabetical or only non minified JS is signed * [REVERT THIS] Add content to js to see if minify changes signing * sign js after webpack maybe we can sign it after the bundle is created and it will still be able to edit the bundle vsix internals? I thought not but perhaps extension.js is getting replaced by the webpack, so lets see if this works. * Revert "[REVERT THIS] Add content to js to see if minify changes signing" This reverts commit ecacc6830bcd39bb628651f6e234956b5840faef. * Revert "[REVERT THIS] Add a file A.ts to see if files are signed alphabetical or only non minified JS is signed" This reverts commit 1ab6ea1873ad8a9e81b9fdb0ecbd62e558e7f09f. * Update name of incorrect task.
2024-08-12 21:04:24 +03:00
SignType: ''
Migrate to 1ES Pipeline (#1679) * Migrate pipeline to 1es * Clean up changes made from migration tool * Separate pipeline out into many yaml files so we can have 2 pipelines without code duplication due to new internal requirement * remove unncessary pipeline backup * Remove pipeline from 1es for public as it is not going to be added to the organization in public * Update yaml loop logic Remove devcontainer as it is out of compliance and not used by anyone * fix mappping by adding body to the loop with indentation: * add a 1es repository * Create a separate 1es pipeline * use self to search in the correct repository * migrate to self on 1es * use folder name pipeline-templates over templates * use yaml over yml * temporarily move jobs into one os * split pools * Move the loop to out of the job * move the task into steps instead of a job as u cant do a job in a job * remove template keyword * dont call steps template in job outside of steps * use yaml instead of yml * add sdl * use unique names for jobs * use _ instead of space * Use azure pipelines name to conform to style * give image to each parameter * make it 1 os for 1 os job and use different pool * Call pool explicyk * try to fix names * Use different source for mac instead of 1es * Update get-func-name * Update public PR pipeline * use public pool as thats what the name param is for * give image name instead of vmimage as it snot used * try to switch to a better pool * try using internal pool on public as external is not available * Publish logs to os specific folder * condition steps so they are skipped if not needed per os * dont care if it succeeded * add paran * remove paran * use parameter pools instead of agent os * move to 7.0 instead of 6 bc six is broken in the cache online maybe * switch to 1es pool * try using public pool * See if mac pipeline has a mirror in svc * use image names from open * Use vm image in the image * Use vm image in the image * update vm image * try to condition the pool * code cleanup now that everything was working * fix whitespace * Update vscode-test * Update vscode-test to the new name * respond to most pr feedback * rename the file as I cannot change the pipeline name while its in main maybe
2024-03-15 01:09:21 +03:00
jobs:
- job: ${{ parameters.pool.os }}_Package
pool:
${{ if eq(parameters.useOneEngineeringPool, 'true') }}:
${{ parameters.pool }}
${{ else }}:
vmImage: ${{ parameters.pool.vmImage }}
displayName: '📦 Package and Publish'
dependsOn:
- ${{ parameters.pool.os }}_Build
- ESLint
condition: succeeded()
Migrate to 1ES Pipeline (#1679) * Migrate pipeline to 1es * Clean up changes made from migration tool * Separate pipeline out into many yaml files so we can have 2 pipelines without code duplication due to new internal requirement * remove unncessary pipeline backup * Remove pipeline from 1es for public as it is not going to be added to the organization in public * Update yaml loop logic Remove devcontainer as it is out of compliance and not used by anyone * fix mappping by adding body to the loop with indentation: * add a 1es repository * Create a separate 1es pipeline * use self to search in the correct repository * migrate to self on 1es * use folder name pipeline-templates over templates * use yaml over yml * temporarily move jobs into one os * split pools * Move the loop to out of the job * move the task into steps instead of a job as u cant do a job in a job * remove template keyword * dont call steps template in job outside of steps * use yaml instead of yml * add sdl * use unique names for jobs * use _ instead of space * Use azure pipelines name to conform to style * give image to each parameter * make it 1 os for 1 os job and use different pool * Call pool explicyk * try to fix names * Use different source for mac instead of 1es * Update get-func-name * Update public PR pipeline * use public pool as thats what the name param is for * give image name instead of vmimage as it snot used * try to switch to a better pool * try using internal pool on public as external is not available * Publish logs to os specific folder * condition steps so they are skipped if not needed per os * dont care if it succeeded * add paran * remove paran * use parameter pools instead of agent os * move to 7.0 instead of 6 bc six is broken in the cache online maybe * switch to 1es pool * try using public pool * See if mac pipeline has a mirror in svc * use image names from open * Use vm image in the image * Use vm image in the image * update vm image * try to condition the pool * code cleanup now that everything was working * fix whitespace * Update vscode-test * Update vscode-test to the new name * respond to most pr feedback * rename the file as I cannot change the pipeline name while its in main maybe
2024-03-15 01:09:21 +03:00
strategy:
matrix:
Runtime:
dir-name: 'vscode-dotnet-runtime-extension'
package-name: 'vscode-dotnet-runtime'
SDK:
dir-name: 'vscode-dotnet-sdk-extension'
package-name: 'vscode-dotnet-sdk'
templateContext:
outputs:
- output: pipelineArtifact
displayName: '📂 Publish .VSIX'
targetPath: '$(Build.ArtifactStagingDirectory)'
artifactName: '$(dir-name)'
steps:
- template: install-node.yaml
- bash: |
if ([ $(is-sdk-release) = 'True' ] && [ $(package-name) = 'vscode-dotnet-sdk' ]) || ([ $(is-runtime-release) = 'True' ] && [ $(package-name) = 'vscode-dotnet-runtime' ]); then
VERSION=`node -p "require('./package.json').version"`
else
VERSION_NUM=`node -p "require('./package.json').version"`
✒️ Enable ESRP Signing on the .VSIX (#1885) * Add fake MSBuild project to allow signing VSIX and JS * Sign JS * Add step to pipeline * Restrict signing package version * Add scripts to install signing tool locally * only go up 1 directory * fix display name * fix whitespace -__- * add build step for installing microbuild * add sign type parameter * dont produce alpha package in official drop * add sign type parameter to default pipeline * dont publish package in another directory as this causes other issues, instead copy the artifact * acknowledge the existence of a document explaining the release and other maintenance processes this information is more suited for internal repo changes. * change internal stream to a different signing stream * add dotnet public for notargets sdk * reduce to 1 feed * use a different feed * Use dotnet team * use explicit feed source * add feed auth * fix comment * rename unsigned vsix so both can get dropped * use the other type of slash for REN -__- * try to fix path * add packages folder with empty gitignore * figure out dir * fix rename command * Fix rename the 'unsigned' one is actually the signed one * Fix JS File Sign dist is at the root of each but this runs in a segregated folder * produce binlogs and try to fix the path * Publish SDK Extension Logs * fix signing * remove bad slash in path that gets parsed incorrectly * remove \ * fix microbuild to be installed b5 js signing * update gitignore * fix gitignore again * [REVERT THIS] Add a file A.ts to see if files are signed alphabetical or only non minified JS is signed * [REVERT THIS] Add content to js to see if minify changes signing * sign js after webpack maybe we can sign it after the bundle is created and it will still be able to edit the bundle vsix internals? I thought not but perhaps extension.js is getting replaced by the webpack, so lets see if this works. * Revert "[REVERT THIS] Add content to js to see if minify changes signing" This reverts commit ecacc6830bcd39bb628651f6e234956b5840faef. * Revert "[REVERT THIS] Add a file A.ts to see if files are signed alphabetical or only non minified JS is signed" This reverts commit 1ab6ea1873ad8a9e81b9fdb0ecbd62e558e7f09f. * Update name of incorrect task.
2024-08-12 21:04:24 +03:00
VERSION="$VERSION_NUM"
Migrate to 1ES Pipeline (#1679) * Migrate pipeline to 1es * Clean up changes made from migration tool * Separate pipeline out into many yaml files so we can have 2 pipelines without code duplication due to new internal requirement * remove unncessary pipeline backup * Remove pipeline from 1es for public as it is not going to be added to the organization in public * Update yaml loop logic Remove devcontainer as it is out of compliance and not used by anyone * fix mappping by adding body to the loop with indentation: * add a 1es repository * Create a separate 1es pipeline * use self to search in the correct repository * migrate to self on 1es * use folder name pipeline-templates over templates * use yaml over yml * temporarily move jobs into one os * split pools * Move the loop to out of the job * move the task into steps instead of a job as u cant do a job in a job * remove template keyword * dont call steps template in job outside of steps * use yaml instead of yml * add sdl * use unique names for jobs * use _ instead of space * Use azure pipelines name to conform to style * give image to each parameter * make it 1 os for 1 os job and use different pool * Call pool explicyk * try to fix names * Use different source for mac instead of 1es * Update get-func-name * Update public PR pipeline * use public pool as thats what the name param is for * give image name instead of vmimage as it snot used * try to switch to a better pool * try using internal pool on public as external is not available * Publish logs to os specific folder * condition steps so they are skipped if not needed per os * dont care if it succeeded * add paran * remove paran * use parameter pools instead of agent os * move to 7.0 instead of 6 bc six is broken in the cache online maybe * switch to 1es pool * try using public pool * See if mac pipeline has a mirror in svc * use image names from open * Use vm image in the image * Use vm image in the image * update vm image * try to condition the pool * code cleanup now that everything was working * fix whitespace * Update vscode-test * Update vscode-test to the new name * respond to most pr feedback * rename the file as I cannot change the pipeline name while its in main maybe
2024-03-15 01:09:21 +03:00
fi
npm version $VERSION --allow-same-version
echo "##vso[task.setvariable variable=version;isOutput=true]$VERSION"
name: GetVersion
displayName: '❓ Get Version'
workingDirectory: $(dir-name)
Leverage Managed Identity Publish (#1942) * add publish task * move template out of steps and into jobs * get rid of pool * dont pass 1es pool * add depends on chain * use vsce latest * run package on publi * add approval step: * vsixs are stored in the root, so don't check in the extension folder * Switch to MI instead of a PAT * Fix ps1 issue * Only deploy on internal * Use pool vs vmimage * Try to fix pool condition * Use a different pool * Condition the name of the build based on OS Why is windows the bomb emoji and not the windows emoji? And why did I do this: The windows build goes last because its in alphabetical order based on the behavior of how devops works. This is bad because it should go first and makes the other steps take longer as they depend on only the windows task. The bomb emoji is one of the first emojis thats not an emoticon before the penguin emoji so I picked that one.. * It's pretty silly you cant define a variable in a template but here we are * Maybe it has to be in plaintext * The deployment step is not necessary * wait for wait job * Set the emoji * Move windows to the top * Set 'use 1es pool' to true * Switch to a different ordering so windows runs first, then linux * try to fix bug where version is not passed and publish args is wrong * Try to pass var into another job since we cant have a template in the jobs * Revert "Try to pass var into another job since we cant have a template in the jobs" This reverts commit 7bdf2dfec95f13f053bc016cb767be9257da744c. * Try to condition the yamls omewhere else * is yaml failing * Revert "is yaml failing" This reverts commit b014dd042fcc63972477a087033ae304c8639a14. * Revert "Try to condition the yamls omewhere else" This reverts commit 7ccb36f01c00634eed03098b65eaa0d4a5d72427. * Revert "try to fix bug where version is not passed and publish args is wrong" This reverts commit 592349be71605208003ccebe23f271cdde8d1cef. * Get version again We cant return a value from a template We cant make a template callable with jobs in another job We cant pass a variable from one job to another if its a job in a job We cant do so many things in yaml * yaml indentation * Don't skip checking out the repo, we kinda need that to get the version
2024-10-15 21:45:42 +03:00
- ${{ if eq(parameters.useOneEngineeringPool, 'true') }}:
- template: prepare-signing.yaml
parameters:
SignType: ${{ parameters.SignType }}
Migrate to 1ES Pipeline (#1679) * Migrate pipeline to 1es * Clean up changes made from migration tool * Separate pipeline out into many yaml files so we can have 2 pipelines without code duplication due to new internal requirement * remove unncessary pipeline backup * Remove pipeline from 1es for public as it is not going to be added to the organization in public * Update yaml loop logic Remove devcontainer as it is out of compliance and not used by anyone * fix mappping by adding body to the loop with indentation: * add a 1es repository * Create a separate 1es pipeline * use self to search in the correct repository * migrate to self on 1es * use folder name pipeline-templates over templates * use yaml over yml * temporarily move jobs into one os * split pools * Move the loop to out of the job * move the task into steps instead of a job as u cant do a job in a job * remove template keyword * dont call steps template in job outside of steps * use yaml instead of yml * add sdl * use unique names for jobs * use _ instead of space * Use azure pipelines name to conform to style * give image to each parameter * make it 1 os for 1 os job and use different pool * Call pool explicyk * try to fix names * Use different source for mac instead of 1es * Update get-func-name * Update public PR pipeline * use public pool as thats what the name param is for * give image name instead of vmimage as it snot used * try to switch to a better pool * try using internal pool on public as external is not available * Publish logs to os specific folder * condition steps so they are skipped if not needed per os * dont care if it succeeded * add paran * remove paran * use parameter pools instead of agent os * move to 7.0 instead of 6 bc six is broken in the cache online maybe * switch to 1es pool * try using public pool * See if mac pipeline has a mirror in svc * use image names from open * Use vm image in the image * Use vm image in the image * update vm image * try to condition the pool * code cleanup now that everything was working * fix whitespace * Update vscode-test * Update vscode-test to the new name * respond to most pr feedback * rename the file as I cannot change the pipeline name while its in main maybe
2024-03-15 01:09:21 +03:00
- bash: |
npm install rimraf --reg https://registry.npmjs.org/ --verbose
npm install @vscode/vsce@latest -g --reg https://registry.npmjs.org/ --verbose
Migrate to 1ES Pipeline (#1679) * Migrate pipeline to 1es * Clean up changes made from migration tool * Separate pipeline out into many yaml files so we can have 2 pipelines without code duplication due to new internal requirement * remove unncessary pipeline backup * Remove pipeline from 1es for public as it is not going to be added to the organization in public * Update yaml loop logic Remove devcontainer as it is out of compliance and not used by anyone * fix mappping by adding body to the loop with indentation: * add a 1es repository * Create a separate 1es pipeline * use self to search in the correct repository * migrate to self on 1es * use folder name pipeline-templates over templates * use yaml over yml * temporarily move jobs into one os * split pools * Move the loop to out of the job * move the task into steps instead of a job as u cant do a job in a job * remove template keyword * dont call steps template in job outside of steps * use yaml instead of yml * add sdl * use unique names for jobs * use _ instead of space * Use azure pipelines name to conform to style * give image to each parameter * make it 1 os for 1 os job and use different pool * Call pool explicyk * try to fix names * Use different source for mac instead of 1es * Update get-func-name * Update public PR pipeline * use public pool as thats what the name param is for * give image name instead of vmimage as it snot used * try to switch to a better pool * try using internal pool on public as external is not available * Publish logs to os specific folder * condition steps so they are skipped if not needed per os * dont care if it succeeded * add paran * remove paran * use parameter pools instead of agent os * move to 7.0 instead of 6 bc six is broken in the cache online maybe * switch to 1es pool * try using public pool * See if mac pipeline has a mirror in svc * use image names from open * Use vm image in the image * Use vm image in the image * update vm image * try to condition the pool * code cleanup now that everything was working * fix whitespace * Update vscode-test * Update vscode-test to the new name * respond to most pr feedback * rename the file as I cannot change the pipeline name while its in main maybe
2024-03-15 01:09:21 +03:00
vsce package -o $(package-name)-$(GetVersion.version).vsix --ignoreFile ../.vscodeignore --yarn
✒️ Enable ESRP Signing on the .VSIX (#1885) * Add fake MSBuild project to allow signing VSIX and JS * Sign JS * Add step to pipeline * Restrict signing package version * Add scripts to install signing tool locally * only go up 1 directory * fix display name * fix whitespace -__- * add build step for installing microbuild * add sign type parameter * dont produce alpha package in official drop * add sign type parameter to default pipeline * dont publish package in another directory as this causes other issues, instead copy the artifact * acknowledge the existence of a document explaining the release and other maintenance processes this information is more suited for internal repo changes. * change internal stream to a different signing stream * add dotnet public for notargets sdk * reduce to 1 feed * use a different feed * Use dotnet team * use explicit feed source * add feed auth * fix comment * rename unsigned vsix so both can get dropped * use the other type of slash for REN -__- * try to fix path * add packages folder with empty gitignore * figure out dir * fix rename command * Fix rename the 'unsigned' one is actually the signed one * Fix JS File Sign dist is at the root of each but this runs in a segregated folder * produce binlogs and try to fix the path * Publish SDK Extension Logs * fix signing * remove bad slash in path that gets parsed incorrectly * remove \ * fix microbuild to be installed b5 js signing * update gitignore * fix gitignore again * [REVERT THIS] Add a file A.ts to see if files are signed alphabetical or only non minified JS is signed * [REVERT THIS] Add content to js to see if minify changes signing * sign js after webpack maybe we can sign it after the bundle is created and it will still be able to edit the bundle vsix internals? I thought not but perhaps extension.js is getting replaced by the webpack, so lets see if this works. * Revert "[REVERT THIS] Add content to js to see if minify changes signing" This reverts commit ecacc6830bcd39bb628651f6e234956b5840faef. * Revert "[REVERT THIS] Add a file A.ts to see if files are signed alphabetical or only non minified JS is signed" This reverts commit 1ab6ea1873ad8a9e81b9fdb0ecbd62e558e7f09f. * Update name of incorrect task.
2024-08-12 21:04:24 +03:00
cp $(package-name)-$(GetVersion.version).vsix ../packages/$(package-name)-$(GetVersion.version).vsix
Migrate to 1ES Pipeline (#1679) * Migrate pipeline to 1es * Clean up changes made from migration tool * Separate pipeline out into many yaml files so we can have 2 pipelines without code duplication due to new internal requirement * remove unncessary pipeline backup * Remove pipeline from 1es for public as it is not going to be added to the organization in public * Update yaml loop logic Remove devcontainer as it is out of compliance and not used by anyone * fix mappping by adding body to the loop with indentation: * add a 1es repository * Create a separate 1es pipeline * use self to search in the correct repository * migrate to self on 1es * use folder name pipeline-templates over templates * use yaml over yml * temporarily move jobs into one os * split pools * Move the loop to out of the job * move the task into steps instead of a job as u cant do a job in a job * remove template keyword * dont call steps template in job outside of steps * use yaml instead of yml * add sdl * use unique names for jobs * use _ instead of space * Use azure pipelines name to conform to style * give image to each parameter * make it 1 os for 1 os job and use different pool * Call pool explicyk * try to fix names * Use different source for mac instead of 1es * Update get-func-name * Update public PR pipeline * use public pool as thats what the name param is for * give image name instead of vmimage as it snot used * try to switch to a better pool * try using internal pool on public as external is not available * Publish logs to os specific folder * condition steps so they are skipped if not needed per os * dont care if it succeeded * add paran * remove paran * use parameter pools instead of agent os * move to 7.0 instead of 6 bc six is broken in the cache online maybe * switch to 1es pool * try using public pool * See if mac pipeline has a mirror in svc * use image names from open * Use vm image in the image * Use vm image in the image * update vm image * try to condition the pool * code cleanup now that everything was working * fix whitespace * Update vscode-test * Update vscode-test to the new name * respond to most pr feedback * rename the file as I cannot change the pipeline name while its in main maybe
2024-03-15 01:09:21 +03:00
displayName: 📦 Package Artifact
workingDirectory: $(dir-name)
✒️ Enable ESRP Signing on the .VSIX (#1885) * Add fake MSBuild project to allow signing VSIX and JS * Sign JS * Add step to pipeline * Restrict signing package version * Add scripts to install signing tool locally * only go up 1 directory * fix display name * fix whitespace -__- * add build step for installing microbuild * add sign type parameter * dont produce alpha package in official drop * add sign type parameter to default pipeline * dont publish package in another directory as this causes other issues, instead copy the artifact * acknowledge the existence of a document explaining the release and other maintenance processes this information is more suited for internal repo changes. * change internal stream to a different signing stream * add dotnet public for notargets sdk * reduce to 1 feed * use a different feed * Use dotnet team * use explicit feed source * add feed auth * fix comment * rename unsigned vsix so both can get dropped * use the other type of slash for REN -__- * try to fix path * add packages folder with empty gitignore * figure out dir * fix rename command * Fix rename the 'unsigned' one is actually the signed one * Fix JS File Sign dist is at the root of each but this runs in a segregated folder * produce binlogs and try to fix the path * Publish SDK Extension Logs * fix signing * remove bad slash in path that gets parsed incorrectly * remove \ * fix microbuild to be installed b5 js signing * update gitignore * fix gitignore again * [REVERT THIS] Add a file A.ts to see if files are signed alphabetical or only non minified JS is signed * [REVERT THIS] Add content to js to see if minify changes signing * sign js after webpack maybe we can sign it after the bundle is created and it will still be able to edit the bundle vsix internals? I thought not but perhaps extension.js is getting replaced by the webpack, so lets see if this works. * Revert "[REVERT THIS] Add content to js to see if minify changes signing" This reverts commit ecacc6830bcd39bb628651f6e234956b5840faef. * Revert "[REVERT THIS] Add a file A.ts to see if files are signed alphabetical or only non minified JS is signed" This reverts commit 1ab6ea1873ad8a9e81b9fdb0ecbd62e558e7f09f. * Update name of incorrect task.
2024-08-12 21:04:24 +03:00
env:
SignType: ${{ parameters.SignType }}
- script: dotnet build msbuild/signVsix -v:normal
displayName: 🖊️ Sign VSIXes
env:
SignType: ${{ parameters.SignType }}
- task: CmdLine@2
displayName: 🤌 Rename Signed VSIX
inputs:
script: rename ".\packages\$(package-name)-$(GetVersion.version).vsix" $(package-name)-$(GetVersion.version)-signed.vsix
Migrate to 1ES Pipeline (#1679) * Migrate pipeline to 1es * Clean up changes made from migration tool * Separate pipeline out into many yaml files so we can have 2 pipelines without code duplication due to new internal requirement * remove unncessary pipeline backup * Remove pipeline from 1es for public as it is not going to be added to the organization in public * Update yaml loop logic Remove devcontainer as it is out of compliance and not used by anyone * fix mappping by adding body to the loop with indentation: * add a 1es repository * Create a separate 1es pipeline * use self to search in the correct repository * migrate to self on 1es * use folder name pipeline-templates over templates * use yaml over yml * temporarily move jobs into one os * split pools * Move the loop to out of the job * move the task into steps instead of a job as u cant do a job in a job * remove template keyword * dont call steps template in job outside of steps * use yaml instead of yml * add sdl * use unique names for jobs * use _ instead of space * Use azure pipelines name to conform to style * give image to each parameter * make it 1 os for 1 os job and use different pool * Call pool explicyk * try to fix names * Use different source for mac instead of 1es * Update get-func-name * Update public PR pipeline * use public pool as thats what the name param is for * give image name instead of vmimage as it snot used * try to switch to a better pool * try using internal pool on public as external is not available * Publish logs to os specific folder * condition steps so they are skipped if not needed per os * dont care if it succeeded * add paran * remove paran * use parameter pools instead of agent os * move to 7.0 instead of 6 bc six is broken in the cache online maybe * switch to 1es pool * try using public pool * See if mac pipeline has a mirror in svc * use image names from open * Use vm image in the image * Use vm image in the image * update vm image * try to condition the pool * code cleanup now that everything was working * fix whitespace * Update vscode-test * Update vscode-test to the new name * respond to most pr feedback * rename the file as I cannot change the pipeline name while its in main maybe
2024-03-15 01:09:21 +03:00
- task: CopyFiles@2
displayName: '📩 Copy Artifact'
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: '**\*.vsix'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
✒️ Enable ESRP Signing on the .VSIX (#1885) * Add fake MSBuild project to allow signing VSIX and JS * Sign JS * Add step to pipeline * Restrict signing package version * Add scripts to install signing tool locally * only go up 1 directory * fix display name * fix whitespace -__- * add build step for installing microbuild * add sign type parameter * dont produce alpha package in official drop * add sign type parameter to default pipeline * dont publish package in another directory as this causes other issues, instead copy the artifact * acknowledge the existence of a document explaining the release and other maintenance processes this information is more suited for internal repo changes. * change internal stream to a different signing stream * add dotnet public for notargets sdk * reduce to 1 feed * use a different feed * Use dotnet team * use explicit feed source * add feed auth * fix comment * rename unsigned vsix so both can get dropped * use the other type of slash for REN -__- * try to fix path * add packages folder with empty gitignore * figure out dir * fix rename command * Fix rename the 'unsigned' one is actually the signed one * Fix JS File Sign dist is at the root of each but this runs in a segregated folder * produce binlogs and try to fix the path * Publish SDK Extension Logs * fix signing * remove bad slash in path that gets parsed incorrectly * remove \ * fix microbuild to be installed b5 js signing * update gitignore * fix gitignore again * [REVERT THIS] Add a file A.ts to see if files are signed alphabetical or only non minified JS is signed * [REVERT THIS] Add content to js to see if minify changes signing * sign js after webpack maybe we can sign it after the bundle is created and it will still be able to edit the bundle vsix internals? I thought not but perhaps extension.js is getting replaced by the webpack, so lets see if this works. * Revert "[REVERT THIS] Add content to js to see if minify changes signing" This reverts commit ecacc6830bcd39bb628651f6e234956b5840faef. * Revert "[REVERT THIS] Add a file A.ts to see if files are signed alphabetical or only non minified JS is signed" This reverts commit 1ab6ea1873ad8a9e81b9fdb0ecbd62e558e7f09f. * Update name of incorrect task.
2024-08-12 21:04:24 +03:00
flattenFolders: true
- task: CopyFiles@2
displayName: '🏗️ Copy Binlog'
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: '**\*.binlog'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Leverage Managed Identity Publish (#1942) * add publish task * move template out of steps and into jobs * get rid of pool * dont pass 1es pool * add depends on chain * use vsce latest * run package on publi * add approval step: * vsixs are stored in the root, so don't check in the extension folder * Switch to MI instead of a PAT * Fix ps1 issue * Only deploy on internal * Use pool vs vmimage * Try to fix pool condition * Use a different pool * Condition the name of the build based on OS Why is windows the bomb emoji and not the windows emoji? And why did I do this: The windows build goes last because its in alphabetical order based on the behavior of how devops works. This is bad because it should go first and makes the other steps take longer as they depend on only the windows task. The bomb emoji is one of the first emojis thats not an emoticon before the penguin emoji so I picked that one.. * It's pretty silly you cant define a variable in a template but here we are * Maybe it has to be in plaintext * The deployment step is not necessary * wait for wait job * Set the emoji * Move windows to the top * Set 'use 1es pool' to true * Switch to a different ordering so windows runs first, then linux * try to fix bug where version is not passed and publish args is wrong * Try to pass var into another job since we cant have a template in the jobs * Revert "Try to pass var into another job since we cant have a template in the jobs" This reverts commit 7bdf2dfec95f13f053bc016cb767be9257da744c. * Try to condition the yamls omewhere else * is yaml failing * Revert "is yaml failing" This reverts commit b014dd042fcc63972477a087033ae304c8639a14. * Revert "Try to condition the yamls omewhere else" This reverts commit 7ccb36f01c00634eed03098b65eaa0d4a5d72427. * Revert "try to fix bug where version is not passed and publish args is wrong" This reverts commit 592349be71605208003ccebe23f271cdde8d1cef. * Get version again We cant return a value from a template We cant make a template callable with jobs in another job We cant pass a variable from one job to another if its a job in a job We cant do so many things in yaml * yaml indentation * Don't skip checking out the repo, we kinda need that to get the version
2024-10-15 21:45:42 +03:00
flattenFolders: false
- ${{ if eq(parameters.useOneEngineeringPool, 'true') }}:
- template: publish.yaml
parameters:
pool: ${{ parameters.pool }}
SignType: ${{ parameters.SignType }}
version: $(GetVersion.version)
useOneEngineeringPool: true