diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index ded8bad536c4..9192264266a1 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -12,6 +12,9 @@ on: mergedSha: required: true type: string + ownersCanFail: + required: true + type: boolean targetSha: required: true type: string @@ -94,6 +97,7 @@ jobs: # handling untrusted PR input. owners: runs-on: ubuntu-24.04-arm + continue-on-error: ${{ inputs.ownersCanFail }} timeout-minutes: 5 steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 936a9173e7c4..81f0f1d0f507 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -61,6 +61,7 @@ jobs: headBranch: ${{ needs.prepare.outputs.headBranch }} mergedSha: ${{ needs.prepare.outputs.mergedSha }} targetSha: ${{ needs.prepare.outputs.targetSha }} + ownersCanFail: ${{ !contains(fromJSON(needs.prepare.outputs.touched), 'owners') }} lint: name: Lint diff --git a/ci/github-script/prepare.js b/ci/github-script/prepare.js index fb000cb6820a..0fcec880f376 100644 --- a/ci/github-script/prepare.js +++ b/ci/github-script/prepare.js @@ -76,8 +76,10 @@ module.exports = async ({ github, context, core }) => { }) ).map((file) => file.filename) - if (files.includes('ci/pinned.json')) core.setOutput('touched', ['pinned']) - else core.setOutput('touched', []) + const touched = [] + if (files.includes('ci/pinned.json')) touched.push('pinned') + if (files.includes('ci/OWNERS')) touched.push('owners') + core.setOutput('touched', touched) return }