update builder (#98) #66
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run validation on action using OIDC | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- '**.md' | |
pull_request: | |
branches: | |
- main | |
paths-ignore: | |
- '**.md' | |
env: | |
TEST_FULL_ACR_NAME: ${{ vars.TEST_ACR_NAME }}.azurecr.io | |
TEST_IMAGE_REPOSITORY: github-actions/container-app | |
jobs: | |
create-using-builder: | |
name: 'Create app using builder' | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write #This is required for requesting the OIDC JWT Token | |
timeout-minutes: 10 | |
env: | |
TEST_IMAGE_TAG: 'bs-${{ github.run_id }}' | |
TEST_CONTAINER_APP_NAME: 'gh-ca-bs-${{ github.run_id }}' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Clone Oryx repository | |
uses: actions/checkout@v3 | |
with: | |
repository: microsoft/Oryx | |
path: oryx | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.TEST_SUBSCRIPTION_ID }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
appSourcePath: '${{ github.workspace }}/oryx/tests/SampleApps/DotNetCore/NetCore6PreviewWebApp' | |
acrName: ${{ vars.TEST_ACR_NAME }} | |
acrUsername: ${{ secrets.TEST_REGISTRY_USERNAME }} | |
acrPassword: ${{ secrets.TEST_REGISTRY_PASSWORD }} | |
containerAppName: ${{ env.TEST_CONTAINER_APP_NAME }} | |
containerAppEnvironment: ${{ vars.TEST_EXISTING_CONTAINER_APP_ENV }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NAME }} | |
imageToBuild: ${{ env.TEST_FULL_ACR_NAME }}/${{ env.TEST_IMAGE_REPOSITORY }}:${{ env.TEST_IMAGE_TAG }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} | |
- name: Delete created Azure Container App | |
if: ${{ always() }} | |
shell: bash | |
run: az containerapp delete -n ${{ env.TEST_CONTAINER_APP_NAME }} -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} -y | |
- name: Delete pushed image | |
if: ${{ always() }} | |
shell: bash | |
run: az acr repository delete -n ${{ vars.TEST_ACR_NAME }} -t ${{ env.TEST_IMAGE_REPOSITORY }}:${{ env.TEST_IMAGE_TAG }} -y | |
create-using-builder-and-internal-registry: | |
name: 'Create app using builder and push to internal registry' | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write #This is required for requesting the OIDC JWT Token | |
timeout-minutes: 10 | |
env: | |
TEST_IMAGE_TAG: 'bs-${{ github.run_id }}' | |
TEST_CONTAINER_APP_NAME: 'gh-ca-bs-${{ github.run_id }}' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Clone Oryx repository | |
uses: actions/checkout@v3 | |
with: | |
repository: microsoft/Oryx | |
path: oryx | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.OIDC_TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.OIDC_TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.OIDC_TEST_SUBSCRIPTION_ID }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
appSourcePath: '${{ github.workspace }}/oryx/tests/SampleApps/DotNetCore/NetCore6PreviewWebApp' | |
containerAppName: ${{ env.TEST_CONTAINER_APP_NAME }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NO_ACR_NAME }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} | |
- name: Delete created Azure Container App | |
if: ${{ always() }} | |
shell: bash | |
run: az containerapp delete -n ${{ env.TEST_CONTAINER_APP_NAME }} -g ${{ vars.TEST_RESOURCE_GROUP_NO_ACR_NAME }} -y | |
create-using-found-dockerfile: | |
name: 'Create app using found Dockerfile' | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write #This is required for requesting the OIDC JWT Token | |
timeout-minutes: 10 | |
env: | |
TEST_IMAGE_TAG: 'fd-${{ github.run_id }}' | |
TEST_CONTAINER_APP_NAME: 'gh-ca-fd-${{ github.run_id }}' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Clone Oryx repository | |
uses: actions/checkout@v3 | |
with: | |
repository: microsoft/Oryx | |
path: oryx | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.TEST_SUBSCRIPTION_ID }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
appSourcePath: '${{ github.workspace }}/oryx/tests/SampleApps/DotNetCore/Blazor_Function_Sample/blazor-sample-app' | |
acrName: ${{ vars.TEST_ACR_NAME }} | |
acrUsername: ${{ secrets.TEST_REGISTRY_USERNAME }} | |
acrPassword: ${{ secrets.TEST_REGISTRY_PASSWORD }} | |
containerAppName: ${{ env.TEST_CONTAINER_APP_NAME }} | |
containerAppEnvironment: ${{ vars.TEST_EXISTING_CONTAINER_APP_ENV }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NAME }} | |
imageToBuild: ${{ env.TEST_FULL_ACR_NAME }}/${{ env.TEST_IMAGE_REPOSITORY }}:${{ env.TEST_IMAGE_TAG }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} | |
- name: Delete created Azure Container App | |
if: ${{ always() }} | |
shell: bash | |
run: az containerapp delete -n ${{ env.TEST_CONTAINER_APP_NAME }} -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} -y | |
- name: Delete pushed image | |
if: ${{ always() }} | |
shell: bash | |
run: az acr repository delete -n ${{ vars.TEST_ACR_NAME }} -t ${{ env.TEST_IMAGE_REPOSITORY }}:${{ env.TEST_IMAGE_TAG }} -y | |
create-using-provided-dockerfile: | |
name: 'Create app using provided Dockerfile' | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write #This is required for requesting the OIDC JWT Token | |
timeout-minutes: 10 | |
env: | |
TEST_IMAGE_TAG: 'pd-${{ github.run_id }}' | |
TEST_CONTAINER_APP_NAME: 'gh-ca-pd-${{ github.run_id }}' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Clone Oryx repository | |
uses: actions/checkout@v3 | |
with: | |
repository: microsoft/Oryx | |
path: oryx | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.TEST_SUBSCRIPTION_ID }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
appSourcePath: '${{ github.workspace }}/oryx/tests/SampleApps/DotNetCore/Blazor_Function_Sample/blazor-sample-app' | |
dockerfilePath: 'Dockerfile' | |
acrName: ${{ vars.TEST_ACR_NAME }} | |
acrUsername: ${{ secrets.TEST_REGISTRY_USERNAME }} | |
acrPassword: ${{ secrets.TEST_REGISTRY_PASSWORD }} | |
containerAppName: ${{ env.TEST_CONTAINER_APP_NAME }} | |
containerAppEnvironment: ${{ vars.TEST_EXISTING_CONTAINER_APP_ENV }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NAME }} | |
imageToBuild: ${{ env.TEST_FULL_ACR_NAME }}/${{ env.TEST_IMAGE_REPOSITORY }}:${{ env.TEST_IMAGE_TAG }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} | |
- name: Delete created Azure Container App | |
if: ${{ always() }} | |
shell: bash | |
run: az containerapp delete -n ${{ env.TEST_CONTAINER_APP_NAME }} -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} -y | |
- name: Delete pushed image | |
if: ${{ always() }} | |
shell: bash | |
run: az acr repository delete -n ${{ vars.TEST_ACR_NAME }} -t ${{ env.TEST_IMAGE_REPOSITORY }}:${{ env.TEST_IMAGE_TAG }} -y | |
create-using-image-linux: | |
name: 'Create app using image on Linux runner' | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write #This is required for requesting the OIDC JWT Token | |
timeout-minutes: 10 | |
env: | |
TEST_CONTAINER_APP_NAME: 'gh-ca-is-lin-${{ github.run_id }}' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.TEST_SUBSCRIPTION_ID }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
imageToDeploy: 'mcr.microsoft.com/azuredocs/containerapps-helloworld:latest' | |
containerAppName: ${{ env.TEST_CONTAINER_APP_NAME }} | |
containerAppEnvironment: ${{ vars.TEST_EXISTING_CONTAINER_APP_ENV }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NAME }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} | |
- name: Delete created Azure Container App | |
if: ${{ always() }} | |
shell: bash | |
run: az containerapp delete -n ${{ env.TEST_CONTAINER_APP_NAME }} -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} -y | |
create-using-image-windows: | |
name: 'Create app using image on Windows runner' | |
runs-on: windows-latest | |
permissions: | |
id-token: write #This is required for requesting the OIDC JWT Token | |
timeout-minutes: 10 | |
env: | |
TEST_CONTAINER_APP_NAME: 'gh-ca-is-win-${{ github.run_id }}' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.TEST_SUBSCRIPTION_ID }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
imageToDeploy: 'mcr.microsoft.com/azuredocs/containerapps-helloworld:latest' | |
containerAppName: ${{ env.TEST_CONTAINER_APP_NAME }} | |
containerAppEnvironment: ${{ vars.TEST_EXISTING_CONTAINER_APP_ENV }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NAME }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} | |
- name: Delete created Azure Container App | |
if: ${{ always() }} | |
shell: bash | |
run: az containerapp delete -n ${{ env.TEST_CONTAINER_APP_NAME }} -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} -y | |
create-using-image-new-env: | |
name: 'Create app using image with new environment' | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write # This is required for requesting the OIDC JWT Token | |
timeout-minutes: 25 | |
env: | |
TEST_CONTAINER_APP_NAME: 'gh-ca-is-ne-${{ github.run_id }}' | |
TEST_NEW_CONTAINER_APP_ENV: 'gh-ca-is-ne-${{ github.run_id }}-env' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.TEST_SUBSCRIPTION_ID }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
imageToDeploy: 'mcr.microsoft.com/azuredocs/containerapps-helloworld:latest' | |
containerAppName: ${{ env.TEST_CONTAINER_APP_NAME }} | |
containerAppEnvironment: ${{ env.TEST_NEW_CONTAINER_APP_ENV }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NAME }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} | |
- name: Delete created Azure Container App | |
if: ${{ always() }} | |
shell: bash | |
run: az containerapp delete -n ${{ env.TEST_CONTAINER_APP_NAME }} -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} -y | |
- name: Get customer ID for workspace to delete | |
if: ${{ always() }} | |
shell: bash | |
run: | | |
CUSTOMER_ID=$(az containerapp env show -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} -n ${{ env.TEST_NEW_CONTAINER_APP_ENV }} --query 'properties.appLogsConfiguration.logAnalyticsConfiguration.customerId') | |
echo "CUSTOMER_ID=${CUSTOMER_ID}" >> $GITHUB_ENV | |
- name: Get name of workspace to delete | |
if: ${{ always() }} | |
shell: bash | |
run: | | |
WORKSPACE_NAME=$(az monitor log-analytics workspace list -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} --query '[?customerId == `${{ env.CUSTOMER_ID }}`].name | [0]') | |
echo "WORKSPACE_NAME=${WORKSPACE_NAME}" >> $GITHUB_ENV | |
- name: Delete created Azure Container App environment | |
if: ${{ always() }} | |
shell: bash | |
run: az containerapp env delete -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} -n ${{ env.TEST_NEW_CONTAINER_APP_ENV }} -y | |
- name: Delete created workspace | |
if: ${{ always() }} | |
shell: bash | |
run: az monitor log-analytics workspace delete -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} -n ${{ env.WORKSPACE_NAME }} -y | |
create-using-builder-yaml: | |
name: 'Create app using builder with YAML configuration' | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write # This is required for requesting the OIDC JWT Token | |
timeout-minutes: 10 | |
env: | |
TEST_IMAGE_TAG: 'bs-yaml-${{ github.run_id }}' | |
TEST_CONTAINER_APP_NAME: 'gh-ca-bs-yaml-${{ github.run_id }}' | |
TEST_YAML_FILE_PATH: '${{ github.workspace }}/yaml-samples/create-with-builder-simple.yaml' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Clone Oryx repository | |
uses: actions/checkout@v3 | |
with: | |
repository: microsoft/Oryx | |
path: oryx | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.TEST_SUBSCRIPTION_ID }} | |
- name: Update values in YAML configuration file | |
shell: pwsh | |
run: | | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$SUBSCRIPTION_ID$', '${{ vars.TEST_SUBSCRIPTION_ID }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$RESOURCE_GROUP$', '${{ vars.TEST_RESOURCE_GROUP_NAME }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$CONTAINER_APP_ENV$', '${{ vars.TEST_EXISTING_CONTAINER_APP_ENV }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$FULL_ACR_NAME$', '${{ env.TEST_FULL_ACR_NAME }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$ACR_USERNAME$', '${{ secrets.TEST_REGISTRY_USERNAME }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$ACR_PASSWORD$', '${{ secrets.TEST_REGISTRY_PASSWORD }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$IMAGE_REPOSITORY$', '${{ env.TEST_IMAGE_REPOSITORY }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$IMAGE_TAG$', '${{ env.TEST_IMAGE_TAG }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
yamlConfigPath: ${{ env.TEST_YAML_FILE_PATH }} | |
appSourcePath: '${{ github.workspace }}/oryx/tests/SampleApps/DotNetCore/NetCore6PreviewWebApp' | |
acrName: ${{ vars.TEST_ACR_NAME }} | |
acrUsername: ${{ secrets.TEST_REGISTRY_USERNAME }} | |
acrPassword: ${{ secrets.TEST_REGISTRY_PASSWORD }} | |
containerAppName: ${{ env.TEST_CONTAINER_APP_NAME }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NAME }} | |
imageToBuild: ${{ env.TEST_FULL_ACR_NAME }}/${{ env.TEST_IMAGE_REPOSITORY }}:${{ env.TEST_IMAGE_TAG }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} | |
- name: Delete created Azure Container App | |
if: ${{ always() }} | |
shell: bash | |
run: az containerapp delete -n ${{ env.TEST_CONTAINER_APP_NAME }} -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} -y | |
- name: Delete pushed image | |
if: ${{ always() }} | |
shell: bash | |
run: az acr repository delete -n ${{ vars.TEST_ACR_NAME }} -t ${{ env.TEST_IMAGE_REPOSITORY }}:${{ env.TEST_IMAGE_TAG }} -y | |
create-using-image-yaml-linux: | |
name: 'Create app using image with YAML configuration on Linux runner' | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write #This is required for requesting the OIDC JWT Token | |
timeout-minutes: 10 | |
env: | |
TEST_CONTAINER_APP_NAME: 'gh-ca-bs-yaml-lin-${{ github.run_id }}' | |
TEST_YAML_FILE_PATH: '${{ github.workspace }}/yaml-samples/create-with-image-simple.yaml' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Clone Oryx repository | |
uses: actions/checkout@v3 | |
with: | |
repository: microsoft/Oryx | |
path: oryx | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.TEST_SUBSCRIPTION_ID }} | |
- name: Update values in YAML configuration file | |
shell: pwsh | |
run: | | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$SUBSCRIPTION_ID$', '${{ vars.TEST_SUBSCRIPTION_ID }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$RESOURCE_GROUP$', '${{ vars.TEST_RESOURCE_GROUP_NAME }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$CONTAINER_APP_ENV$', '${{ vars.TEST_EXISTING_CONTAINER_APP_ENV }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
yamlConfigPath: ${{ env.TEST_YAML_FILE_PATH }} | |
containerAppName: ${{ env.TEST_CONTAINER_APP_NAME }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NAME }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} | |
- name: Delete created Azure Container App | |
if: ${{ always() }} | |
shell: bash | |
run: az containerapp delete -n ${{ env.TEST_CONTAINER_APP_NAME }} -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} -y | |
create-using-image-yaml-windows: | |
name: 'Create app using image with YAML configuration on Windows runner' | |
runs-on: windows-latest | |
permissions: | |
id-token: write #This is required for requesting the OIDC JWT Token | |
timeout-minutes: 10 | |
env: | |
TEST_CONTAINER_APP_NAME: 'gh-ca-bs-yaml-win-${{ github.run_id }}' | |
TEST_YAML_FILE_PATH: 'yaml-samples/create-with-image-simple.yaml' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Clone Oryx repository | |
uses: actions/checkout@v3 | |
with: | |
repository: microsoft/Oryx | |
path: oryx | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.TEST_SUBSCRIPTION_ID }} | |
- name: Update values in YAML configuration file | |
shell: pwsh | |
run: | | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$SUBSCRIPTION_ID$', '${{ vars.TEST_SUBSCRIPTION_ID }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$RESOURCE_GROUP$', '${{ vars.TEST_RESOURCE_GROUP_NAME }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$CONTAINER_APP_ENV$', '${{ vars.TEST_EXISTING_CONTAINER_APP_ENV }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
yamlConfigPath: ${{ env.TEST_YAML_FILE_PATH }} | |
containerAppName: ${{ env.TEST_CONTAINER_APP_NAME }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NAME }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} | |
- name: Delete created Azure Container App | |
if: ${{ always() }} | |
shell: bash | |
run: az containerapp delete -n ${{ env.TEST_CONTAINER_APP_NAME }} -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} -y | |
update-using-builder: | |
name: 'Update existing app using builder' | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write #This is required for requesting the OIDC JWT Token | |
timeout-minutes: 10 | |
env: | |
TEST_IMAGE_TAG: 'bs-up-${{ github.run_id }}' | |
TEST_CONTAINER_APP_NAME: 'update-using-builder-app' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Clone Oryx repository | |
uses: actions/checkout@v3 | |
with: | |
repository: microsoft/Oryx | |
path: oryx | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.TEST_SUBSCRIPTION_ID }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
appSourcePath: '${{ github.workspace }}/oryx/tests/SampleApps/DotNetCore/NetCore6PreviewWebApp' | |
acrName: ${{ vars.TEST_ACR_NAME }} | |
acrUsername: ${{ secrets.TEST_REGISTRY_USERNAME }} | |
acrPassword: ${{ secrets.TEST_REGISTRY_PASSWORD }} | |
containerAppName: ${{ env.TEST_CONTAINER_APP_NAME }} | |
containerAppEnvironment: ${{ vars.TEST_EXISTING_CONTAINER_APP_ENV }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NAME }} | |
imageToBuild: ${{ env.TEST_FULL_ACR_NAME }}/${{ env.TEST_IMAGE_REPOSITORY }}:${{ env.TEST_IMAGE_TAG }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} | |
- name: Delete pushed image | |
if: ${{ always() }} | |
shell: bash | |
run: az acr repository delete -n ${{ vars.TEST_ACR_NAME }} -t ${{ env.TEST_IMAGE_REPOSITORY }}:${{ env.TEST_IMAGE_TAG }} -y | |
- name: Update Container App with existing image | |
if: ${{ always() }} | |
shell: bash | |
run: az containerapp update -n ${{ env.TEST_CONTAINER_APP_NAME }} -g ${{ vars.TEST_RESOURCE_GROUP_NAME }} -i mcr.microsoft.com/azuredocs/containerapps-helloworld:latest | |
update-using-builder-and-internal-registry: | |
name: 'Update existing app using builder and push to internal registry' | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write #This is required for requesting the OIDC JWT Token | |
timeout-minutes: 10 | |
env: | |
TEST_IMAGE_TAG: 'bs-up-${{ github.run_id }}' | |
TEST_CONTAINER_APP_NAME: 'update-using-builder-app' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Clone Oryx repository | |
uses: actions/checkout@v3 | |
with: | |
repository: microsoft/Oryx | |
path: oryx | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.OIDC_TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.OIDC_TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.OIDC_TEST_SUBSCRIPTION_ID }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
appSourcePath: '${{ github.workspace }}/oryx/tests/SampleApps/DotNetCore/NetCore6PreviewWebApp' | |
containerAppName: ${{ vars.TEST_EXISTING_CONTAINER_APP }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NO_ACR_NAME }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} | |
- name: Update Container App with existing image | |
if: ${{ always() }} | |
shell: bash | |
run: az containerapp update -n ${{ vars.TEST_EXISTING_CONTAINER_APP }} -g ${{ vars.TEST_RESOURCE_GROUP_NO_ACR_NAME }} -i mcr.microsoft.com/azuredocs/containerapps-helloworld:latest | |
update-using-image: | |
name: 'Update app using image' | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write # This is required for requesting the OIDC JWT Token | |
timeout-minutes: 10 | |
env: | |
TEST_CONTAINER_APP_NAME: 'update-using-image-app' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.TEST_SUBSCRIPTION_ID }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
imageToDeploy: 'mcr.microsoft.com/azuredocs/containerapps-helloworld:latest' | |
containerAppName: ${{ env.TEST_CONTAINER_APP_NAME }} | |
containerAppEnvironment: ${{ vars.TEST_EXISTING_CONTAINER_APP_ENV }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NAME }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} | |
update-using-image-yaml: | |
name: 'Update app using image with YAML configuration' | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write # This is required for requesting the OIDC JWT Token | |
timeout-minutes: 10 | |
env: | |
TEST_CONTAINER_APP_NAME: 'update-using-image-yaml-app' | |
TEST_YAML_FILE_PATH: '${{ github.workspace }}/yaml-samples/update-with-image-simple.yaml' | |
steps: | |
- name: Checkout action repository | |
uses: actions/checkout@v3 | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.TEST_CLIENT_ID }} | |
tenant-id: ${{ secrets.TEST_TENANT_ID }} | |
subscription-id: ${{ secrets.TEST_SUBSCRIPTION_ID }} | |
- name: Update values in YAML configuration file | |
shell: pwsh | |
run: | | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$SUBSCRIPTION_ID$', '${{ vars.TEST_SUBSCRIPTION_ID }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$RESOURCE_GROUP$', '${{ vars.TEST_RESOURCE_GROUP_NAME }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
(Get-Content ${{ env.TEST_YAML_FILE_PATH }}).Replace('$CONTAINER_APP_ENV$', '${{ vars.TEST_EXISTING_CONTAINER_APP_ENV }}') | Set-Content ${{ env.TEST_YAML_FILE_PATH }} | |
- name: Execute Azure Container Apps Build and Deploy Action | |
uses: ./ | |
with: | |
yamlConfigPath: ${{ env.TEST_YAML_FILE_PATH }} | |
containerAppName: ${{ env.TEST_CONTAINER_APP_NAME }} | |
resourceGroup: ${{ vars.TEST_RESOURCE_GROUP_NAME }} | |
disableTelemetry: ${{ vars.TEST_DISABLE_TELEMETRY }} |