diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 7d35066616..0ef9baf2f7 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -89,8 +89,8 @@ jobs: check-codestyle-python: needs: [ meta, check-permissions, build-build-tools-image ] - # No need to run on `main` because we this in the merge queue - if: ${{ needs.meta.outputs.run-kind == 'pr' }} + # No need to run on `main` because we this in the merge queue. We do need to run this in `.*-rc-pr` because of hotfixes. + if: ${{ contains(fromJSON('["pr", "storage-rc-pr", "proxy-rc-pr", "compute-rc-pr"]'), needs.meta.outputs.run-kind) }} uses: ./.github/workflows/_check-codestyle-python.yml with: build-tools-image: ${{ needs.build-build-tools-image.outputs.image }}-bookworm @@ -98,7 +98,8 @@ jobs: check-codestyle-jsonnet: needs: [ meta, check-permissions, build-build-tools-image ] - if: ${{ contains(fromJSON('["pr", "push-main"]'), needs.meta.outputs.run-kind) }} + # We do need to run this in `.*-rc-pr` because of hotfixes. + if: ${{ contains(fromJSON('["pr", "push-main", "storage-rc-pr", "proxy-rc-pr", "compute-rc-pr"]'), needs.meta.outputs.run-kind) }} runs-on: [ self-hosted, small ] container: image: ${{ needs.build-build-tools-image.outputs.image }} @@ -181,8 +182,8 @@ jobs: check-codestyle-rust: needs: [ meta, check-permissions, build-build-tools-image ] - # No need to run on `main` because we this in the merge queue - if: ${{ needs.meta.outputs.run-kind == 'pr' }} + # No need to run on `main` because we this in the merge queue. We do need to run this in `.*-rc-pr` because of hotfixes. + if: ${{ contains(fromJSON('["pr", "storage-rc-pr", "proxy-rc-pr", "compute-rc-pr"]'), needs.meta.outputs.run-kind) }} uses: ./.github/workflows/_check-codestyle-rust.yml with: build-tools-image: ${{ needs.build-build-tools-image.outputs.image }}-bookworm @@ -191,7 +192,8 @@ jobs: check-dependencies-rust: needs: [ meta, files-changed, build-build-tools-image ] - if: ${{ needs.files-changed.outputs.check-rust-dependencies == 'true' && needs.meta.outputs.run-kind == 'pr' }} + # No need to run on `main` because we this in the merge queue. We do need to run this in `.*-rc-pr` because of hotfixes. + if: ${{ needs.files-changed.outputs.check-rust-dependencies == 'true' && contains(fromJSON('["pr", "storage-rc-pr", "proxy-rc-pr", "compute-rc-pr"]'), needs.meta.outputs.run-kind) }} uses: ./.github/workflows/cargo-deny.yml with: build-tools-image: ${{ needs.build-build-tools-image.outputs.image }}-bookworm @@ -199,7 +201,8 @@ jobs: build-and-test-locally: needs: [ meta, build-build-tools-image ] - if: ${{ contains(fromJSON('["pr", "push-main"]'), needs.meta.outputs.run-kind) }} + # We do need to run this in `.*-rc-pr` because of hotfixes. + if: ${{ contains(fromJSON('["pr", "push-main", "storage-rc-pr", "proxy-rc-pr", "compute-rc-pr"]'), needs.meta.outputs.run-kind) }} strategy: fail-fast: false matrix: @@ -1565,10 +1568,10 @@ jobs: if: | contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') - || (needs.check-dependencies-rust.result == 'skipped' && needs.files-changed.outputs.check-rust-dependencies == 'true' && needs.meta.outputs.run-kind == 'pr') - || (needs.build-and-test-locally.result == 'skipped' && needs.meta.outputs.run-kind == 'pr') - || (needs.check-codestyle-python.result == 'skipped' && needs.meta.outputs.run-kind == 'pr') - || (needs.check-codestyle-rust.result == 'skipped' && needs.meta.outputs.run-kind == 'pr') + || (needs.check-dependencies-rust.result == 'skipped' && needs.files-changed.outputs.check-rust-dependencies == 'true' && contains(fromJSON('["pr", "storage-rc-pr", "proxy-rc-pr", "compute-rc-pr"]'), needs.meta.outputs.run-kind)) + || (needs.build-and-test-locally.result == 'skipped' && contains(fromJSON('["pr", "push-main", "storage-rc-pr", "proxy-rc-pr", "compute-rc-pr"]'), needs.meta.outputs.run-kind)) + || (needs.check-codestyle-python.result == 'skipped' && contains(fromJSON('["pr", "storage-rc-pr", "proxy-rc-pr", "compute-rc-pr"]'), needs.meta.outputs.run-kind)) + || (needs.check-codestyle-rust.result == 'skipped' && contains(fromJSON('["pr", "storage-rc-pr", "proxy-rc-pr", "compute-rc-pr"]'), needs.meta.outputs.run-kind)) || needs.files-changed.result == 'skipped' || (needs.push-compute-image-dev.result == 'skipped' && contains(fromJSON('["push-main", "pr", "compute-release", "compute-rc-pr"]'), needs.meta.outputs.run-kind)) || (needs.push-neon-image-dev.result == 'skipped' && contains(fromJSON('["push-main", "pr", "storage-release", "storage-rc-pr", "proxy-release", "proxy-rc-pr"]'), needs.meta.outputs.run-kind))