-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(infrastructure): create new yt01 infrastructure environment (#1290)
<!--- Provide a general summary of your changes in the Title above --> ## Description <!--- Describe your changes in detail --> Create a new infrastructure environment for the performance environment yt01 ## Related Issue(s) - #1258 ## Verification - [ ] **Your** code builds clean without any errors or warnings - [ ] Manual testing done (required) - [ ] Relevant automated test added (if you find this hard, leave it and we'll help out) ## Documentation - [ ] Documentation is updated (either in `docs`-directory, Altinnpedia or a separate linked PR in [altinn-studio-docs.](https://github.com/Altinn/altinn-studio-docs), if applicable) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a CI/CD workflow for the yt01 environment, enabling automated deployments and version management. - Added the option to select `yt01` as a deployment environment in manual workflow triggers. - **Bug Fixes** - Updated the environment parameter from 'soak' to 'yt01' to reflect the correct context. - **Chores** - Adjusted formatting for parameter definitions for better readability. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
- Loading branch information
Showing
3 changed files
with
124 additions
and
2 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
name: CI/CD YT01 | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
tags: | ||
- "v*.*.*" | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref_name }} | ||
|
||
jobs: | ||
# Get changed files between previous tag and current tag: https://github.com/marketplace/actions/changed-files | ||
check-for-changes: | ||
name: Check for changes | ||
uses: ./.github/workflows/workflow-check-for-changes.yml | ||
|
||
get-current-version: | ||
name: Get current version | ||
uses: ./.github/workflows/workflow-get-current-version.yml | ||
|
||
publish: | ||
name: Build and publish docker images | ||
uses: ./.github/workflows/workflow-publish.yml | ||
if: ${{ github.event_name == 'workflow_dispatch' || needs.check-for-changes.outputs.hasBackendChanges == 'true' }} | ||
needs: [get-current-version, check-for-changes] | ||
secrets: | ||
GCR_PASSWORD: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
dockerImageBaseName: ghcr.io/digdir/dialogporten- | ||
version: ${{ needs.get-current-version.outputs.version }} | ||
|
||
deploy-infra: | ||
name: Deploy infra to yt01 | ||
if: ${{ github.event_name == 'workflow_dispatch' || needs.check-for-changes.outputs.hasAzureChanges == 'true' }} | ||
needs: [get-current-version, check-for-changes] | ||
uses: ./.github/workflows/workflow-deploy-infra.yml | ||
secrets: | ||
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} | ||
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} | ||
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | ||
AZURE_SOURCE_KEY_VAULT_NAME: ${{ secrets.AZURE_SOURCE_KEY_VAULT_NAME }} | ||
AZURE_SOURCE_KEY_VAULT_SUBSCRIPTION_ID: ${{ secrets.AZURE_SOURCE_KEY_VAULT_SUBSCRIPTION_ID }} | ||
AZURE_SOURCE_KEY_VAULT_RESOURCE_GROUP: ${{ secrets.AZURE_SOURCE_KEY_VAULT_RESOURCE_GROUP }} | ||
AZURE_SOURCE_KEY_VAULT_SSH_JUMPER_SSH_PUBLIC_KEY: ${{ secrets.AZURE_SOURCE_KEY_VAULT_SSH_JUMPER_SSH_PUBLIC_KEY }} | ||
with: | ||
environment: yt01 | ||
region: norwayeast | ||
version: ${{ needs.get-current-version.outputs.version }} | ||
|
||
# todo: enable when we have infrastructure set up for yt01 | ||
# deploy-apps-yt01: | ||
# name: Deploy apps to yt01 | ||
# needs: | ||
# [get-current-version, check-for-changes, deploy-infra, publish] | ||
# # we want deployment of apps to be dependent on deployment of infrastructure, but if infrastructure is skipped, we still want to deploy the apps | ||
# if: ${{ always() && !failure() && !cancelled() && (github.event_name == 'workflow_dispatch' || needs.check-for-changes.outputs.hasBackendChanges == 'true') }} | ||
# uses: ./.github/workflows/workflow-deploy-apps.yml | ||
# secrets: | ||
# AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} | ||
# AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} | ||
# AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | ||
# # todo: consider resolving these in another way since they are created in the infra-step | ||
# AZURE_RESOURCE_GROUP_NAME: ${{ secrets.AZURE_RESOURCE_GROUP_NAME }} | ||
# AZURE_ENVIRONMENT_KEY_VAULT_NAME: ${{ secrets.AZURE_ENVIRONMENT_KEY_VAULT_NAME }} | ||
# AZURE_CONTAINER_APP_ENVIRONMENT_NAME: ${{ secrets.AZURE_CONTAINER_APP_ENVIRONMENT_NAME }} | ||
# AZURE_APP_INSIGHTS_CONNECTION_STRING: ${{ secrets.AZURE_APP_INSIGHTS_CONNECTION_STRING }} | ||
# AZURE_APP_CONFIGURATION_NAME: ${{ secrets.AZURE_APP_CONFIGURATION_NAME }} | ||
# with: | ||
# environment: yt01 | ||
# region: norwayeast | ||
# version: ${{ needs.get-current-version.outputs.version }} | ||
# runMigration: ${{ github.event_name == 'workflow_dispatch' || needs.check-for-changes.outputs.hasMigrationChanges == 'true' }} | ||
|
||
# deploy-slack-notifier-yt01: | ||
# name: Deploy slack notifier (yt01) | ||
# needs: [check-for-changes] | ||
# if: ${{ github.event_name == 'workflow_dispatch' || needs.check-for-changes.outputs.hasSlackNotifierChanges == 'true' }} | ||
# uses: ./.github/workflows/workflow-deploy-function.yml | ||
# secrets: | ||
# AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} | ||
# AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} | ||
# AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | ||
# # todo: resolve this automatically, or use tags | ||
# AZURE_FUNCTION_APP_NAME: ${{ secrets.AZURE_SLACK_NOTIFIER_FUNCTION_APP_NAME }} | ||
# with: | ||
# function-app-name: "slack-notifier" | ||
# function-project-path: "./src/Digdir.Tool.Dialogporten.SlackNotifier" | ||
# environment: yt01 | ||
|
||
# run-e2e-tests: | ||
# name: "Run K6 functional end-to-end tests" | ||
# # we want the end-to-end tests to be dependent on deployment of infrastructure and apps, but if infrastructure is skipped, we still want to run the tests | ||
# if: ${{ always() && !failure() && !cancelled() && (github.event_name == 'workflow_dispatch' || needs.check-for-changes.outputs.hasBackendChanges == 'true') }} | ||
# needs: [deploy-apps-yt01, check-for-changes] | ||
# uses: ./.github/workflows/workflow-run-k6-tests.yml | ||
# secrets: | ||
# TOKEN_GENERATOR_USERNAME: ${{ secrets.TOKEN_GENERATOR_USERNAME }} | ||
# TOKEN_GENERATOR_PASSWORD: ${{ secrets.TOKEN_GENERATOR_PASSWORD }} | ||
# with: | ||
# environment: yt01 | ||
# apiVersion: v1 | ||
# testSuitePath: tests/k6/suites/all-single-pass.js | ||
# permissions: | ||
# checks: write | ||
# pull-requests: write | ||
|
||
# send-slack-message-on-failure: | ||
# name: Send Slack message on failure | ||
# needs: [deploy-infra, deploy-apps-yt01, deploy-slack-notifier-yt01, run-e2e-tests, publish] | ||
# if: ${{ always() && failure() && !cancelled() }} | ||
# uses: ./.github/workflows/workflow-send-ci-cd-status-slack-message.yml | ||
# with: | ||
# environment: yt01 | ||
# infra_status: ${{ needs.deploy-infra.result }} | ||
# apps_status: ${{ needs.deploy-apps-yt01.result }} | ||
# slack_notifier_status: ${{ needs.deploy-slack-notifier-yt01.result }} | ||
# e2e_tests_status: ${{ needs.run-e2e-tests.result }} | ||
# publish_status: ${{ needs.publish.result }} | ||
# secrets: | ||
# SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} | ||
# SLACK_CHANNEL_ID: ${{ secrets.SLACK_CHANNEL_ID_FOR_CI_CD_STATUS }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,6 +10,7 @@ on: | |
type: choice | ||
options: | ||
- test | ||
- yt01 | ||
- staging | ||
- prod | ||
version: | ||
|