Skip to content

fix: Reallign DataHubNames with EDI (#3087) #2278

fix: Reallign DataHubNames with EDI (#3087)

fix: Reallign DataHubNames with EDI (#3087) #2278

Workflow file for this run

# Copyright 2020 Energinet DataHub A/S
#
# Licensed under the Apache License, Version 2.0 (the "License2");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: CD
on:
workflow_dispatch: {}
push:
branches:
- main
jobs:
#
# Detect changes to start relevant jobs
#
changes:
uses: ./.github/workflows/detect-changes.yml
#
# CD Docker image
#
cd_docker:
needs: changes
if: ${{ needs.changes.outputs.docker == 'true' }}
uses: Energinet-DataHub/.github/.github/workflows/python-build-and-push-docker-image.yml@v14
with:
docker_changed: ${{ needs.changes.outputs.docker == 'true' }}
# 'docker_changed_in_commit' value is same as 'docker_changed' because we want to build and push docker image when docker changed
docker_changed_in_commit: ${{ needs.changes.outputs.docker == 'true' }}
#
# CD Databricks
#
databricks_promote_prerelease:
needs: changes
if: ${{ needs.changes.outputs.any_databricks == 'true' }}
uses: Energinet-DataHub/.github/.github/workflows/promote-prerelease.yml@v14
with:
release_name_prefix: databricks
#
# CD .NET
#
dotnet_promote_prerelease:
needs: changes
if: ${{ needs.changes.outputs.dotnet == 'true' || needs.changes.outputs.db_migrations == 'true' }}
uses: Energinet-DataHub/.github/.github/workflows/promote-prerelease.yml@v14
with:
release_name_prefix: dotnet
#
# Dispatch deployment request
#
dispatch_deploment_event:
if: ${{ always() && !cancelled() && !failure() && (needs.changes.outputs.any_databricks == 'true' || needs.changes.outputs.dotnet == 'true' || needs.changes.outputs.db_migrations == 'true') }}
runs-on: ubuntu-latest
needs: [
changes,
databricks_promote_prerelease,
dotnet_promote_prerelease
]
steps:
- run: echo "${{ toJSON(needs) }}"
- name: Find associated pull request
uses: Energinet-DataHub/.github/.github/actions/find-related-pr-number@v14
id: find_pull_request
- uses: Energinet-DataHub/.github/.github/actions/github-create-token@v14
name: Generate Github token
id: generate_token
with:
app_id: ${{ vars.dh3serviceaccount_appid }}
private_key: ${{ secrets.dh3serviceaccount_privatekey }}
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ steps.generate_token.outputs.token }}
repository: ${{ vars.environment_repository_path }}
event-type: wholesale-deployment-request-domain
# yamllint disable-line rule:quoted-strings
client-payload: '{"pr_number": "${{ steps.find_pull_request.outputs.pull_request_number }}", "databricks": "${{ needs.changes.outputs.any_databricks }}", "dotnet": "${{ needs.changes.outputs.dotnet }}", "db_migrations": "${{ needs.changes.outputs.db_migrations }}"}'
#
# Send notification to teams channel if deployment dispatch failed
#
dispatch_failed:
needs:
[
databricks_promote_prerelease,
dotnet_promote_prerelease,
dispatch_deploment_event,
cd_docker
]
if: |
always() &&
contains(needs.*.result, 'failure')
uses: Energinet-DataHub/.github/.github/workflows/notify-team.yml@v14
with:
team_name: Mandalorian
subject: "Deployment dispatch failed: Wholesale"
secrets: inherit