mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-07 05:22:56 +00:00
CI(deploy): fix deploy to staging and prod (#9030)
## Problem
It turns out the previous approach (with `skip_if` input) doesn't work
(from https://github.com/neondatabase/neon/pull/9017).
Revert it and use more straightforward if-conditions
## Summary of changes
- Revert efbe8db7f1
- Add if-condition to`promote-compatibility-data` job and relevant
comments
This commit is contained in:
committed by
GitHub
parent
c5cd8577ff
commit
e161a2fa42
6
.github/workflows/_push-to-acr.yml
vendored
6
.github/workflows/_push-to-acr.yml
vendored
@@ -26,15 +26,9 @@ on:
|
|||||||
description: Azure tenant ID
|
description: Azure tenant ID
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
skip_if:
|
|
||||||
description: Skip the job if this expression is true
|
|
||||||
required: true
|
|
||||||
type: boolean
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
push-to-acr:
|
push-to-acr:
|
||||||
if: ${{ !inputs.skip_if }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
permissions:
|
permissions:
|
||||||
contents: read # This is required for actions/checkout
|
contents: read # This is required for actions/checkout
|
||||||
|
|||||||
10
.github/workflows/build_and_test.yml
vendored
10
.github/workflows/build_and_test.yml
vendored
@@ -849,6 +849,7 @@ jobs:
|
|||||||
done
|
done
|
||||||
|
|
||||||
push-to-acr-dev:
|
push-to-acr-dev:
|
||||||
|
if: github.ref_name == 'main'
|
||||||
needs: [ tag, promote-images ]
|
needs: [ tag, promote-images ]
|
||||||
uses: ./.github/workflows/_push-to-acr.yml
|
uses: ./.github/workflows/_push-to-acr.yml
|
||||||
with:
|
with:
|
||||||
@@ -858,9 +859,9 @@ jobs:
|
|||||||
registry_name: ${{ vars.AZURE_DEV_REGISTRY_NAME }}
|
registry_name: ${{ vars.AZURE_DEV_REGISTRY_NAME }}
|
||||||
subscription_id: ${{ vars.AZURE_DEV_SUBSCRIPTION_ID }}
|
subscription_id: ${{ vars.AZURE_DEV_SUBSCRIPTION_ID }}
|
||||||
tenant_id: ${{ vars.AZURE_TENANT_ID }}
|
tenant_id: ${{ vars.AZURE_TENANT_ID }}
|
||||||
skip_if: ${{ github.ref_name != 'main' }}
|
|
||||||
|
|
||||||
push-to-acr-prod:
|
push-to-acr-prod:
|
||||||
|
if: github.ref_name == 'release'|| github.ref_name == 'release-proxy'
|
||||||
needs: [ tag, promote-images ]
|
needs: [ tag, promote-images ]
|
||||||
uses: ./.github/workflows/_push-to-acr.yml
|
uses: ./.github/workflows/_push-to-acr.yml
|
||||||
with:
|
with:
|
||||||
@@ -870,7 +871,6 @@ jobs:
|
|||||||
registry_name: ${{ vars.AZURE_PROD_REGISTRY_NAME }}
|
registry_name: ${{ vars.AZURE_PROD_REGISTRY_NAME }}
|
||||||
subscription_id: ${{ vars.AZURE_PROD_SUBSCRIPTION_ID }}
|
subscription_id: ${{ vars.AZURE_PROD_SUBSCRIPTION_ID }}
|
||||||
tenant_id: ${{ vars.AZURE_TENANT_ID }}
|
tenant_id: ${{ vars.AZURE_TENANT_ID }}
|
||||||
skip_if: ${{ !startsWith(github.ref_name, 'release') }}
|
|
||||||
|
|
||||||
trigger-custom-extensions-build-and-wait:
|
trigger-custom-extensions-build-and-wait:
|
||||||
needs: [ check-permissions, tag ]
|
needs: [ check-permissions, tag ]
|
||||||
@@ -948,7 +948,8 @@ jobs:
|
|||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
needs: [ check-permissions, promote-images, tag, build-and-test-locally, trigger-custom-extensions-build-and-wait, push-to-acr-dev, push-to-acr-prod ]
|
needs: [ check-permissions, promote-images, tag, build-and-test-locally, trigger-custom-extensions-build-and-wait, push-to-acr-dev, push-to-acr-prod ]
|
||||||
if: github.ref_name == 'main' || github.ref_name == 'release' || github.ref_name == 'release-proxy'
|
# `!failure() && !cancelled()` is required because the workflow depends on the job that can be skipped: `push-to-acr-dev` and `push-to-acr-prod`
|
||||||
|
if: (github.ref_name == 'main' || github.ref_name == 'release' || github.ref_name == 'release-proxy') && !failure() && !cancelled()
|
||||||
|
|
||||||
runs-on: [ self-hosted, small ]
|
runs-on: [ self-hosted, small ]
|
||||||
container: 369495373322.dkr.ecr.eu-central-1.amazonaws.com/ansible:latest
|
container: 369495373322.dkr.ecr.eu-central-1.amazonaws.com/ansible:latest
|
||||||
@@ -1046,7 +1047,8 @@ jobs:
|
|||||||
# The job runs on `release` branch and copies compatibility data and Neon artifact from the last *release PR* to the latest directory
|
# The job runs on `release` branch and copies compatibility data and Neon artifact from the last *release PR* to the latest directory
|
||||||
promote-compatibility-data:
|
promote-compatibility-data:
|
||||||
needs: [ deploy ]
|
needs: [ deploy ]
|
||||||
if: github.ref_name == 'release'
|
# `!failure() && !cancelled()` is required because the workflow transitively depends on the job that can be skipped: `push-to-acr-dev` and `push-to-acr-prod`
|
||||||
|
if: github.ref_name == 'release' && !failure() && !cancelled()
|
||||||
|
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
Reference in New Issue
Block a user