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
96 changes: 52 additions & 44 deletions .github/workflows/lcm-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,7 @@ jobs:
run: |
version=$(cat VERSION | tr -d '\n')
echo "service_version=$version" >> $GITHUB_OUTPUT
major=$(echo "$version" | cut -d. -f1)
echo "service_major_version=M$major" >> $GITHUB_OUTPUT
echo "service_major_version=M$version" >> $GITHUB_OUTPUT

dockerfiles-validation:
needs: [ prepare-build ]
Expand Down Expand Up @@ -174,30 +173,31 @@ jobs:
ecr-url: '${{ secrets.ECR_URL }}'
dry-run: ${{ !inputs.deploy }}

register-bricks-staging:
runs-on:
group: infra1-runners-arc
labels: runners-small
needs: [ prepare-build, services-build ]
if: |
!cancelled() &&
!contains(needs.*.result, 'failure') &&
needs.prepare-build.outputs.images != '[]' &&
needs.prepare-build.outputs.images != ''
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Register bricks to staging
uses: ./.github/actions/rundeck
with:
server: '${{ secrets.RUNDECK_URL }}'
project: stg1-ansible
job-group: ansible/msf/hotfix
job-name: stg1_lcm_pipeline_component_tool
vault-url: ${{ secrets.VAULT_ADDRESS }}
# register-bricks-staging:
# runs-on:
# group: infra1-runners-arc
# labels: runners-small
# needs: [ prepare-build, services-build ]
# if: |
# !cancelled() &&
# !contains(needs.*.result, 'failure') &&
# needs.prepare-build.outputs.images != '[]' &&
# needs.prepare-build.outputs.images != ''
# steps:
# - name: Checkout repository
# uses: actions/checkout@v5
# - name: Register bricks to staging
# uses: ./.github/actions/rundeck
# with:
# server: '${{ secrets.RUNDECK_URL }}'
# project: stg1-ansible
# job-group: ansible/msf/hotfix
# job-name: stg1_lcm_pipeline_component_tool
# vault-url: ${{ secrets.VAULT_ADDRESS }}

build-helmreleases:
needs: [ prepare-build, services-build, helm-charts-build, register-bricks-staging ]
# needs: [ prepare-build, services-build, helm-charts-build, register-bricks-staging ]
needs: [ prepare-build, services-build, helm-charts-build ]
if: |
!cancelled() &&
!contains(needs.*.result, 'failure') &&
Expand Down Expand Up @@ -242,11 +242,15 @@ jobs:
pipeline_identifier: ${{ needs.prepare-build.outputs.pipeline_identifier }}

lcm-integration-e2e:
needs: [ prepare-build, register-bricks-staging, build-helmreleases, wait-for-deployment ]
needs: [ prepare-build, build-helmreleases, wait-for-deployment ]
# needs: [ prepare-build, register-bricks-staging, build-helmreleases, wait-for-deployment ]
# if: |
# !cancelled() &&
# !contains(needs.*.result, 'failure') &&
# needs.register-bricks-staging.result == 'success'
if: |
!cancelled() &&
!contains(needs.*.result, 'failure') &&
needs.register-bricks-staging.result == 'success'
!contains(needs.*.result, 'failure')
uses: ./.github/workflows/lcm-integration-e2e.yaml
secrets: inherit
permissions:
Expand Down Expand Up @@ -288,34 +292,38 @@ jobs:
image_tag: ${{ needs.prepare-build.outputs.service_major_version }}
secrets: inherit

register-bricks-prod:
notify-image-available:
runs-on:
group: infra1-runners-arc
labels: runners-small
needs: [ prepare-build, promote-to-stable ]
needs: [ prepare-build ]
permissions:
pull-requests: write
if: |
!cancelled() &&
!contains(needs.*.result, 'failure') &&
needs.prepare-build.outputs.images != '[]' &&
needs.prepare-build.outputs.images != '' &&
inputs.deploy
strategy:
matrix:
cluster: [ na1, ca2, perf1, bom1, syd1, na3, eu1, fra1 ]
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Register bricks to ${{ matrix.cluster }}
uses: ./.github/actions/rundeck
with:
server: '${{ secrets.RUNDECK_URL }}'
project: ${{ matrix.cluster }}-ansible
job-group: ansible/msf/hotfix
job-name: ${{ matrix.cluster }}_lcm_pipeline_component_tool
vault-url: ${{ secrets.VAULT_ADDRESS }}
- name: Comment on PR
run: |
gh pr comment ${{ inputs.pr_number }} \
--repo ${{ github.repository }} \
--body "## LCM bricks image available

New image \`stable/lcm-bricks\` available and tagged for all prod clusters.
Please, manually run the respective rundeck job for each: ${{ secrets.RUNDECK_URL }}

| | |
|---|---|
| **Version** | \`${{ needs.prepare-build.outputs.service_version }}\` |
| **Build tag** | \`${{ needs.prepare-build.outputs.image_tag }}\` |"
env:
GH_TOKEN: ${{ secrets.TOKEN_GITHUB_YENKINS }}

create-auto-merge-prod-pr:
needs: [ prepare-build, build-helmreleases, register-bricks-prod ]
needs: [ prepare-build, build-helmreleases ]
if: |
!cancelled() &&
!contains(needs.*.result, 'failure') &&
Expand All @@ -335,7 +343,7 @@ jobs:
secrets: inherit

create-manual-merge-prod-pr:
needs: [ prepare-build, build-helmreleases, register-bricks-prod ]
needs: [ prepare-build, build-helmreleases ]
if: |
!cancelled() &&
!contains(needs.*.result, 'failure') &&
Expand Down
18 changes: 18 additions & 0 deletions .github/workflows/test-lcm-pipeline.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: test-lcm-pipeline
on:
push:
branches:
- gsantos-grif716
jobs:
test:
uses: ./.github/workflows/lcm-pipeline.yaml
with:
AUTO_MERGE: false
base_branch: master
deploy: true
pr_number: "2079"
secrets: inherit
permissions:
contents: read
id-token: write
pull-requests: write
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.7.105
3.7.106
Loading