Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cli/azd/extensions/azure.ai.agents/extension.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ displayName: Foundry agents (Preview)
description: Ship agents with Microsoft Foundry from your terminal. (Preview)
usage: azd ai agent <command> [options]
# NOTE: Make sure version.txt is in sync with this version.
version: 0.1.21-preview
version: 0.1.22-preview
requiredAzdVersion: ">1.23.13"
language: go
capabilities:
Expand Down
2 changes: 1 addition & 1 deletion cli/azd/extensions/azure.ai.agents/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.21-preview
0.1.22-preview
2 changes: 1 addition & 1 deletion cli/azd/extensions/azure.ai.finetune/extension.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ namespace: ai.finetuning
displayName: Foundry Fine Tuning (Preview)
description: Extension for Foundry Fine Tuning. (Preview)
usage: azd ai finetuning <command> [options]
version: 0.0.17-preview
version: 0.0.18-preview
language: go
capabilities:
- custom-commands
Expand Down
2 changes: 1 addition & 1 deletion cli/azd/extensions/azure.ai.finetune/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.0.17-preview
0.0.18-preview
2 changes: 1 addition & 1 deletion cli/azd/extensions/azure.ai.models/extension.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ namespace: ai.models
displayName: Foundry Custom Models (Preview)
description: Extension for managing custom models in Azure AI Foundry. (Preview)
usage: azd ai models <command> [options]
version: 0.0.5-preview
version: 0.0.6-preview
language: go
capabilities:
- custom-commands
Expand Down
2 changes: 1 addition & 1 deletion cli/azd/extensions/azure.ai.models/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.0.5-preview
0.0.6-preview
2 changes: 1 addition & 1 deletion cli/azd/extensions/azure.appservice/extension.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ displayName: Azure App Service
description: Extension for managing Azure App Service resources.
usage: azd appservice <command> [options]
# NOTE: Make sure version.txt is in sync with this version.
version: 0.1.0
version: 0.1.1
language: go
capabilities:
- custom-commands
Expand Down
2 changes: 1 addition & 1 deletion cli/azd/extensions/azure.appservice/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.0
0.1.1
2 changes: 1 addition & 1 deletion cli/azd/extensions/azure.coding-agent/extension.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ language: go
namespace: coding-agent
usage: azd coding-agent <command> [options]
# NOTE: Make sure version.txt is in sync with this version.
version: 0.6.1
version: 0.6.2
2 changes: 1 addition & 1 deletion cli/azd/extensions/azure.coding-agent/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.6.1
0.6.2
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace: ai.builder
displayName: azd AI Builder
description: This extension provides custom commands for building AI applications using Azure Developer CLI.
usage: azd ai builder <command> [options]
version: 0.2.0
version: 0.2.1
language: go
capabilities:
- custom-commands
Expand Down
2 changes: 1 addition & 1 deletion cli/azd/extensions/microsoft.azd.ai.builder/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.2.0
0.2.1
2 changes: 1 addition & 1 deletion cli/azd/extensions/microsoft.azd.concurx/extension.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ id: microsoft.azd.concurx
language: go
namespace: concurx
usage: azd concurx <command> [options]
version: 0.1.0
version: 0.1.1
2 changes: 1 addition & 1 deletion cli/azd/extensions/microsoft.azd.concurx/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.0
0.1.1
2 changes: 1 addition & 1 deletion cli/azd/extensions/microsoft.azd.demo/extension.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace: demo
displayName: Demo Extension
description: This extension provides examples of the azd extension framework.
usage: azd demo <command> [options]
version: 0.6.0
version: 0.6.1
language: go
capabilities:
- custom-commands
Expand Down
2 changes: 1 addition & 1 deletion cli/azd/extensions/microsoft.azd.demo/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.6.0
0.6.1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ language: go
displayName: azd extensions Developer Kit
description: This extension provides a set of tools for azd extension developers to test and debug their extensions.
usage: azd x <command> [options]
version: 0.10.0
version: 0.10.1
capabilities:
- custom-commands
- metadata
Expand Down
2 changes: 1 addition & 1 deletion cli/azd/extensions/microsoft.azd.extensions/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.10.0
0.10.1
2 changes: 2 additions & 0 deletions eng/pipelines/release-ext-microsoft-azd-demo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ extends:
stages:
- template: /eng/pipelines/templates/stages/release-azd-extension.yml
parameters:
# TODO: Revert before merging
SkipTests: true
AzdExtensionId: microsoft.azd.demo
SanitizedExtensionId: microsoft-azd-demo
AzdExtensionDirectory: cli/azd/extensions/microsoft.azd.demo
4 changes: 4 additions & 0 deletions eng/pipelines/templates/jobs/build-azd-extension.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ jobs:

- template: /eng/pipelines/templates/steps/setup-go.yml

- template: /eng/pipelines/templates/steps/set-extension-version-cd.yml
parameters:
AzdExtensionDirectory: ${{ parameters.AzdExtensionDirectory }}

- task: PowerShell@2
inputs:
pwsh: true
Expand Down
4 changes: 4 additions & 0 deletions eng/pipelines/templates/jobs/cross-build-azd-extension.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,10 @@ jobs:
parameters:
Condition: false

- template: /eng/pipelines/templates/steps/set-extension-version-cd.yml
parameters:
AzdExtensionDirectory: ${{ parameters.AzdExtensionDirectory }}

- task: PowerShell@2
displayName: Set extension version variable
inputs:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,10 @@ stages:
OSVmImage: ${{ build.value.OSVmImage }}
OS: ${{ build.value.OS }}
Variables: ${{ build.value.Variables }}
ValidateCrossCompile: ${{ build.value.ValidateCrossCompile }}
# TODO: Revert this before merge
# ValidateCrossCompile: ${{ build.value.ValidateCrossCompile }}
# TODO: Remove this line before merge
ValidateCrossCompile: false
ValidateVm: ${{ build.value.ValidateVm }}
ValidationTask: ${{ build.value.ValidationTask }}
ValidationScript: ${{ build.value.ValidationScript }}
Expand All @@ -110,6 +113,10 @@ stages:
steps:
- checkout: self

- template: /eng/pipelines/templates/steps/set-extension-version-cd.yml
parameters:
AzdExtensionDirectory: ${{ parameters.AzdExtensionDirectory }}

- task: PowerShell@2
displayName: Set extension version variable
inputs:
Expand Down Expand Up @@ -157,6 +164,18 @@ stages:
Copy-Item NOTICE.txt release-metadata/NOTICE.txt
displayName: Copy NOTICE.txt to release-metadata

- pwsh: |
Copy-Item eng/templates/extensions-registry-daily.json.template release-metadata/extensions-registry-daily.json.template
displayName: Copy registry template to release-metadata

- pwsh: |
Copy-Item eng/scripts/Update-ExtensionDailyRegistry.ps1 release-metadata/Update-ExtensionDailyRegistry.ps1
displayName: Copy Update-ExtensionDailyRegistry.ps1 to release-metadata

- pwsh: |
Copy-Item eng/common/scripts/Helpers/PSModule-Helpers.ps1 release-metadata/PSModule-Helpers.ps1
displayName: Copy PSModule-Helpers.ps1 to release-metadata

templateContext:
outputs:
- output: pipelineArtifact
Expand Down
63 changes: 63 additions & 0 deletions eng/pipelines/templates/stages/publish-extension-daily.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
parameters:
- name: SanitizedExtensionId
type: string
- name: AzdExtensionId
type: string

stages:
- stage: PublishDaily
dependsOn: Sign
condition: >-
and(
succeeded(),
ne(variables['Skip.Release'], 'true'),
or(
in(variables['BuildReasonOverride'], 'IndividualCI', 'BatchedCI'),
and(
eq('', variables['BuildReasonOverride']),
in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')
)
)
)

variables:
- template: /eng/pipelines/templates/variables/image.yml
- template: /eng/pipelines/templates/variables/globals.yml

jobs:
- deployment: Publish_Daily
environment: none

pool:
name: azsdk-pool
image: ubuntu-22.04
os: linux

templateContext:
type: releaseJob
isProduction: false
inputs:
- input: pipelineArtifact
artifactName: release
targetPath: release
- input: pipelineArtifact
artifactName: release-metadata
targetPath: release-metadata

strategy:
runOnce:
deploy:
steps:
- template: /eng/pipelines/templates/steps/extension-set-metadata-variables.yml
parameters:
Use1ESArtifactTask: true

- template: /eng/pipelines/templates/steps/publish-extension.yml
parameters:
PublishUploadLocations: ${{ parameters.SanitizedExtensionId }}/daily;${{ parameters.SanitizedExtensionId }}/daily/archive/$(EXT_VERSION)
CreateGitHubRelease: false

- template: /eng/pipelines/templates/steps/update-extension-daily-registry.yml
parameters:
SanitizedExtensionId: ${{ parameters.SanitizedExtensionId }}
AzdExtensionId: ${{ parameters.AzdExtensionId }}
120 changes: 120 additions & 0 deletions eng/pipelines/templates/stages/publish-extension-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
parameters:
- name: SanitizedExtensionId
type: string
- name: AzdExtensionId
type: string

stages:
- stage: PublishForPR
dependsOn: Sign
condition: >-
and(
succeeded(),
ne(variables['Skip.Release'], 'true'),
or(
eq('PullRequest', variables['BuildReasonOverride']),
and(
eq('', variables['BuildReasonOverride']),
eq(variables['Build.Reason'], 'PullRequest')
)
)
)

variables:
- template: /eng/pipelines/templates/variables/image.yml
- template: /eng/pipelines/templates/variables/globals.yml

jobs:
- deployment: Publish_Extension_For_PR
environment: none

pool:
name: azsdk-pool
image: ubuntu-22.04
os: linux

templateContext:
type: releaseJob
isProduction: false
inputs:
- input: pipelineArtifact
artifactName: release
targetPath: release
- input: pipelineArtifact
artifactName: release-metadata
targetPath: release-metadata

strategy:
runOnce:
deploy:
steps:
- pwsh: |
$PRNumber = '$(System.PullRequest.PullRequestNumber)'
if ($env:PRNUMBEROVERRIDE) {
Write-Host "PR Number override: $($env:PRNUMBEROVERRIDE)"
$PRNumber = "$($env:PRNUMBEROVERRIDE)"
}
if (-not $PRNumber -or $PRNumber -match '^\$\(') {
Write-Error "PR number could not be determined. Ensure this runs in a PR build or set PRNUMBEROVERRIDE."
exit 1
}
Write-Host "##vso[task.setvariable variable=PRNumber]$PRNumber"
displayName: Set PR Number Variable

- template: /eng/pipelines/templates/steps/extension-set-metadata-variables.yml
parameters:
Use1ESArtifactTask: true

- template: /eng/pipelines/templates/steps/publish-extension.yml
parameters:
PublishUploadLocations: ${{ parameters.SanitizedExtensionId }}/pr/$(PRNumber)
CreateGitHubRelease: false

- template: /eng/pipelines/templates/steps/update-extension-pr-registry.yml
parameters:
SanitizedExtensionId: ${{ parameters.SanitizedExtensionId }}
AzdExtensionId: ${{ parameters.AzdExtensionId }}
PRNumber: $(PRNumber)

- pwsh: |
$storageHost = "$(publish-storage-static-host)"
$extId = "${{ parameters.AzdExtensionId }}"
$sanitizedId = "${{ parameters.SanitizedExtensionId }}"
$prNumber = "$(PRNumber)"
$registryUrl = "$storageHost/azd/extensions/pr-registry-entries/$prNumber/$extId.json"
$binaryBase = "$storageHost/azd/extensions/$sanitizedId/pr/$prNumber"

$content = @"
<!-- #comment-ext-pr-$extId -->
## azd Extension Install Instructions — ``$extId``

> :warning: **These are unsigned PR builds for testing only.** Do not use in production.

### Install from PR build

``````bash
azd ext source add -n pr-$prNumber -t url -l "$registryUrl"
azd ext install $extId --source pr-$prNumber
``````

### Standalone Binaries

| Platform | Download |
|----------|----------|
| Linux x86_64 | $binaryBase/$sanitizedId-linux-amd64.tar.gz |
| Linux ARM64 | $binaryBase/$sanitizedId-linux-arm64.tar.gz |
| macOS x86_64 | $binaryBase/$sanitizedId-darwin-amd64.zip |
| macOS ARM64 | $binaryBase/$sanitizedId-darwin-arm64.zip |
| Windows x86_64 | $binaryBase/$sanitizedId-windows-amd64.zip |
| Windows ARM64 | $binaryBase/$sanitizedId-windows-arm64.zip |
"@
$file = New-TemporaryFile
Set-Content -Path $file -Value $content
Write-Host "##vso[task.setvariable variable=CommentBodyFile]$file"
displayName: Generate PR comment body

- template: /eng/pipelines/templates/steps/update-prcomment.yml
parameters:
PrNumber: $(PRNumber)
BodyFile: $(CommentBodyFile)
Tag: '<!-- #comment-ext-pr-${{ parameters.AzdExtensionId }} -->'
1 change: 1 addition & 0 deletions eng/pipelines/templates/stages/publish-extension.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,5 +67,6 @@ stages:
- template: /eng/pipelines/templates/steps/publish-extension.yml
parameters:
PublishUploadLocations: $(StorageUploadLocations)
CreateGitHubRelease: true
TagPrefix: azd-ext-${{ parameters.SanitizedExtensionId }}
TagVersion: $(EXT_VERSION)
18 changes: 17 additions & 1 deletion eng/pipelines/templates/stages/release-azd-extension.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,27 @@ stages:
AZURE_DEV_CI_OS: mac-arm64

# Only sign and release on manual builds from internal
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), eq(variables['Build.Reason'], 'Manual')) }}:
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), in(variables['Build.Reason'], 'Manual', 'IndividualCI', 'BatchedCI')) }}:
- template: /eng/pipelines/templates/stages/sign-extension.yml
parameters:
SanitizedExtensionId: ${{ parameters.SanitizedExtensionId }}

- template: /eng/pipelines/templates/stages/publish-extension.yml
parameters:
SanitizedExtensionId: ${{ parameters.SanitizedExtensionId }}

- template: /eng/pipelines/templates/stages/publish-extension-daily.yml
parameters:
SanitizedExtensionId: ${{ parameters.SanitizedExtensionId }}
AzdExtensionId: ${{ parameters.AzdExtensionId }}

# Publish PR builds to storage and post install instructions as PR comment
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), eq(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/pipelines/templates/stages/sign-extension.yml
parameters:
SanitizedExtensionId: ${{ parameters.SanitizedExtensionId }}

- template: /eng/pipelines/templates/stages/publish-extension-pr.yml
parameters:
SanitizedExtensionId: ${{ parameters.SanitizedExtensionId }}
AzdExtensionId: ${{ parameters.AzdExtensionId }}
Loading
Loading