Skip to content

feat: Refactor the config for telemetry manager after kymastats changes #1942

feat: Refactor the config for telemetry manager after kymastats changes

feat: Refactor the config for telemetry manager after kymastats changes #1942

Workflow file for this run

name: PR Lifecycle
on:
pull_request:
branches:
- "main"
- "release-*"
workflow_dispatch:
jobs:
# This is a workaround to bypass the limitations of the workflow path filter:
# https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/troubleshooting-required-status-checks#handling-skipped-but-required-checks
check-changed-files:
outputs:
check: ${{ steps.changed-files.outputs.any_modified }}
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.draft == false }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Get changed files
uses: tj-actions/changed-files@6b2903bdce6310cfbddd87c418f253cf29b2dec9
id: changed-files
with:
files_ignore: |
docs/**
**/*.md
OWNERS
CODEOWNERS
- name: List changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' >> $GITHUB_STEP_SUMMARY
manager-upgrade:
needs:
- check-changed-files
if: ${{ needs.check-changed-files.outputs.check == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Setup Golang
uses: "./.github/template/setup-golang"
- name: Provision K3D
shell: bash
run: make provision-k3d
- name: Deploy with latest tag
shell: bash
run: |
git fetch --tags
LATEST_TAG=$(git tag --sort=-creatordate | sed -n 1p)
echo "Using tag ${LATEST_TAG}"
git checkout ${LATEST_TAG}
GIT_COMMIT_SHA=$(git rev-parse --short=8 HEAD)
GIT_COMMIT_DATE=$(git show -s --format=%cd --date=format:'v%Y%m%d' ${GIT_COMMIT_SHA})
echo "Deploying Manager using image europe-docker.pkg.dev/kyma-project/prod/telemetry-manager:${GIT_COMMIT_DATE}-${GIT_COMMIT_SHA}"
IMG=europe-docker.pkg.dev/kyma-project/prod/telemetry-manager:${GIT_COMMIT_DATE}-${GIT_COMMIT_SHA} make deploy-dev
- name: Wait for manager readiness
shell: bash
run: kubectl -n kyma-system rollout status deployment telemetry-manager --timeout=90s
- name: Run test on latest tag
shell: bash
run: |
bin/ginkgo run --junit-report=junit-report-latest-version.xml --tags e2e --flake-attempts=5 --label-filter="operational" -v test/e2e
- name: Switch back to current revision
uses: actions/checkout@v4
- name: Wait for cleanup of test run
shell: bash
run: hack/wait-for-namespaces.sh
# wait for the build to complete so that the manager image is available
- name: Wait for the Build Image workflow to complete
run: "./hack/await_workflow.sh"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
COMMIT_SHA: "${{ github.event.pull_request.head.sha }}"
- name: Deploy with current version
shell: bash
run: |
IMG=europe-docker.pkg.dev/kyma-project/dev/telemetry-manager:PR-${{ github.event.number }} make deploy-dev
- name: Wait for manager readiness
shell: bash
run: kubectl -n kyma-system rollout status deployment telemetry-manager --timeout=90s
- name: Run test on current version
shell: bash
run: |
make install-tools # delete after the tools via go modules are released
bin/ginkgo run --junit-report=junit-report-current-version.xml --tags e2e --flake-attempts=5 --label-filter="operational" -v test/e2e
- name: Finalize test
uses: "./.github/template/finalize-test"
if: success() || failure()
with:
failure: failure()
job-name: ${{ github.job }}
PR-Lifecycle-Success:
needs: manager-upgrade
runs-on: ubuntu-latest
steps:
- name: Success
run: |
echo "PR Lifecycle completed successfully"