|
1 | 1 | name: reviewdog |
| 2 | +permissions: |
| 3 | + contents: read |
2 | 4 | on: [pull_request] |
3 | 5 | jobs: |
4 | 6 | golangci-lint: |
@@ -94,12 +96,52 @@ jobs: |
94 | 96 | steps: |
95 | 97 | - uses: actions/checkout@v6 |
96 | 98 | - name: check on release branch |
97 | | - if: ${{ contains(github.head_ref, 'release-') || contains(github.base_ref, 'release-') }} |
| 99 | + if: ${{ contains(github.base_ref, 'release-') }} |
98 | 100 | run: | |
99 | 101 | make generate manifests VERSION="$(grep -Eo "[0-9]+\.[0-9]+\.[0-9]+" pkg/version/version.txt)" IMAGE_TAG_BASE="percona/percona-server-mongodb-operator" |
100 | 102 | git diff --exit-code |
101 | 103 | - name: check on non release branches |
102 | | - if: ${{ ! (contains(github.head_ref, 'release-') || contains(github.base_ref, 'release-')) }} |
| 104 | + if: ${{ ! contains(github.base_ref, 'release-') }} |
103 | 105 | run: | |
104 | 106 | make generate manifests VERSION=main |
105 | 107 | git diff --exit-code |
| 108 | +
|
| 109 | + e2e-release-versions-images: |
| 110 | + name: e2e-tests release_versions image availability |
| 111 | + runs-on: ubuntu-latest |
| 112 | + steps: |
| 113 | + - uses: actions/checkout@v6 |
| 114 | + with: |
| 115 | + fetch-depth: 0 |
| 116 | + - name: Check if e2e-tests/release_versions changed |
| 117 | + id: changed |
| 118 | + run: | |
| 119 | + git fetch origin ${{ github.base_ref }} |
| 120 | + if git diff --name-only origin/${{ github.base_ref }}...HEAD -- e2e-tests/release_versions | grep -q .; then |
| 121 | + echo "changed=true" >> "$GITHUB_OUTPUT" |
| 122 | + else |
| 123 | + echo "changed=false" >> "$GITHUB_OUTPUT" |
| 124 | + fi |
| 125 | + - name: Verify release_versions images exist (docker manifest inspect) |
| 126 | + if: steps.changed.outputs.changed == 'true' |
| 127 | + run: | |
| 128 | + set -e |
| 129 | + # All IMAGE_*=value lines, exclude operator image (percona/percona-server-mongodb-operator) |
| 130 | + images=$(grep -E '^IMAGE_[^=]+=' e2e-tests/release_versions | cut -d= -f2 | grep -v '^$' | grep -v 'percona/percona-server-mongodb-operator' | sort -u) |
| 131 | + if [ -z "$images" ]; then |
| 132 | + echo "No non-operator images found in e2e-tests/release_versions" |
| 133 | + exit 0 |
| 134 | + fi |
| 135 | + failed="" |
| 136 | + for img in $images; do |
| 137 | + echo "Checking image $img" |
| 138 | + if ! docker manifest inspect "$img"; then |
| 139 | + echo "::error::Image not found or inaccessible: $img" |
| 140 | + failed="${failed} ${img}" |
| 141 | + fi |
| 142 | + done |
| 143 | + if [ -n "$failed" ]; then |
| 144 | + echo "::error::The following images failed docker manifest inspect:$failed" |
| 145 | + exit 1 |
| 146 | + fi |
| 147 | + echo "All images are available." |
0 commit comments