Files
synapse/.github/workflows/schema_diff_comment.yml
T
dependabot[bot] a0a3aa8de9 Bump the all-github-actions group with 3 updates (#20456)
Bumps the all-github-actions group with 3 updates:
[dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain),
[actions/upload-artifact](https://github.com/actions/upload-artifact)
and
[actions/download-artifact](https://github.com/actions/download-artifact).

Updates `dtolnay/rust-toolchain` from
02cb101ec7c40f2c49e1d9714d64511d8e1b74de to
683b588c487a69d01f6c6ddf40f036ff682cc2c8
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/rust-toolchain/commit/683b588c487a69d01f6c6ddf40f036ff682cc2c8"><code>683b588</code></a>
Add 1.99.1 patch release</li>
<li><a
href="https://github.com/dtolnay/rust-toolchain/commit/e2a55d2ffb04f378e9626c28d38b36d230d1e12f"><code>e2a55d2</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/rust-toolchain/issues/187">#187</a>
from dtolnay/pwn</li>
<li><a
href="https://github.com/dtolnay/rust-toolchain/commit/6af9a09a9f985be78d729e2c9b2440bdb0314675"><code>6af9a09</code></a>
Unify flags[@] and downgrade[@]</li>
<li><a
href="https://github.com/dtolnay/rust-toolchain/commit/83d06109b7912fe94032e68e59feb6b9e3070e34"><code>83d0610</code></a>
Safely handle action inputs</li>
<li><a
href="https://github.com/dtolnay/rust-toolchain/commit/7e38f4b43b4db5c8dd498af069a4f6196df1d067"><code>7e38f4b</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/rust-toolchain/issues/186">#186</a>
from WaterWhisperer/feat/retry-install</li>
<li><a
href="https://github.com/dtolnay/rust-toolchain/commit/7645b072e70aa7a5ee7bb3e38735e66b822d8321"><code>7645b07</code></a>
Retry release-server checksum failures</li>
<li>See full diff in <a
href="https://github.com/dtolnay/rust-toolchain/compare/02cb101ec7c40f2c49e1d9714d64511d8e1b74de...683b588c487a69d01f6c6ddf40f036ff682cc2c8">compare
view</a></li>
</ul>
</details>
<br />

Updates `actions/upload-artifact` from 7.0.1 to 7.0.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Improves artifact download retries when the service returns HTTP 429
(rate limiting), including honoring valid Retry-After headers.</li>
<li>Updates <code>@​actions/artifact</code> to v6.3.1.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/tunc-d"><code>@​tunc-d</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/821">actions/upload-artifact#821</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v7.0.1...v7.0.2">https://github.com/actions/upload-artifact/compare/v7.0.1...v7.0.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/upload-artifact/commit/cf430e030ddbb5b0abf93d22962f4752f3646cd9"><code>cf430e0</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/822">#822</a>
from actions/tunc-d-prepare-upload-v7-0-2</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/c2acdedd35a8824a1552c7137f8c18288c3ea469"><code>c2acded</code></a>
chore: prepare v7.0.2 release</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/4687c1bbaa0a58abb517d90b4bbade6754c80c1a"><code>4687c1b</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/821">#821</a>
from actions/tunc-d-upload-artifact-package-bump</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/8cbe1bebdb858105d8fdd88f81404d4de4595719"><code>8cbe1be</code></a>
Bump <code>@​actions/artifact</code> to 6.3.1</li>
<li>See full diff in <a
href="https://github.com/actions/upload-artifact/compare/043fb46d1a93c77aae656e7c1c64a875d1fc6a0a...cf430e030ddbb5b0abf93d22962f4752f3646cd9">compare
view</a></li>
</ul>
</details>
<br />

Updates `actions/download-artifact` from 8.0.1 to 8.0.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/download-artifact/releases">actions/download-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v8.0.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Update the readme by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/download-artifact/pull/473">actions/download-artifact#473</a></li>
<li>Improves artifact download retries when the service returns HTTP 429
(rate limiting), including honoring valid Retry-After headers.</li>
<li>Update <code>@​actions/artifact</code> to 6.3.1 by <a
href="https://github.com/tunc-d"><code>@​tunc-d</code></a> in <a
href="https://redirect.github.com/actions/download-artifact/pull/492">actions/download-artifact#492</a></li>
<li>Prepare download-artifact v8.0.2 by <a
href="https://github.com/tunc-d"><code>@​tunc-d</code></a> in <a
href="https://redirect.github.com/actions/download-artifact/pull/493">actions/download-artifact#493</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/tunc-d"><code>@​tunc-d</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/download-artifact/pull/492">actions/download-artifact#492</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/download-artifact/compare/v8.0.1...v8.0.2">https://github.com/actions/download-artifact/compare/v8.0.1...v8.0.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/download-artifact/commit/9000827ccba6bdab643e8b6fd33ac0654aef8333"><code>9000827</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/493">#493</a>
from actions/tunc-d-prepare-download-v8-0-2</li>
<li><a
href="https://github.com/actions/download-artifact/commit/e455989ae00f5bdd4054f05d3e972c6bf8a62dc5"><code>e455989</code></a>
Prepare download-artifact v8.0.2</li>
<li><a
href="https://github.com/actions/download-artifact/commit/a00b90c4a2f01d73a8c89552caabca6ea3b43137"><code>a00b90c</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/492">#492</a>
from actions/tunc-d-download-artifact-package-bump</li>
<li><a
href="https://github.com/actions/download-artifact/commit/29bb7ce6af5345aeab5bb4774ce7249ee3ccc27f"><code>29bb7ce</code></a>
Update <code>@​actions/artifact</code> to 6.3.1</li>
<li><a
href="https://github.com/actions/download-artifact/commit/484a0b528fb4d7bd804637ccb632e47a0e638317"><code>484a0b5</code></a>
Update the readme (<a
href="https://redirect.github.com/actions/download-artifact/issues/473">#473</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/download-artifact/compare/3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c...9000827ccba6bdab643e8b6fd33ac0654aef8333">compare
view</a></li>
</ul>
</details>
<br />

<details>
<summary>Most Recent Ignore Conditions Applied to This Pull
Request</summary>

| Dependency Name | Ignore Conditions |
| --- | --- |
| dtolnay/rust-toolchain | [> 1.66.0] |
</details>


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-03 21:00:32 +00:00

72 lines
3.1 KiB
YAML

name: Post schema diff comment for forked PRs
# The "Schema Diff" workflow can't post a PR comment for PRs from forks,
# since GITHUB_TOKEN is downgraded to read-only in that context. Instead it
# uploads the diff (and PR number) as an artifact, which we pick up here and
# post as a comment.
#
# This workflow runs in the context of the main repository, so its
# `GITHUB_TOKEN` can have write access.
# The downloaded artifact comes from an untrusted fork though, so it must only
# ever be treated as inert comment text, never executed.
# The PR number it carries is likewise untrusted: we cross-check it against the trusted
# `workflow_run` event before posting, so a fork PR can't point the comment
# at some other PR or issue.
on:
workflow_run:
workflows: ["Schema Diff"]
types: [completed]
# DANGER: Due to untrusted input and untrusted triggers,
# think very carefully before expanding the permissions
permissions:
# To read the artifacts from the `schema_diff.yml` run
actions: read
# To post a comment to the PR
pull-requests: write
jobs:
comment:
name: Post schema diff comment
runs-on: ubuntu-latest
# Only run when triggered by a pull request and only on a PR from a fork
if: github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.head_repository.full_name != github.repository && github.event.workflow_run.conclusion != 'cancelled'
steps:
- name: Download schema diff artifact
id: download
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
with:
name: schema-diff
path: schema-diff
run-id: ${{ github.event.workflow_run.id }}
github-token: ${{ secrets.GITHUB_TOKEN }}
# The artifact (including the PR number) comes from an untrusted fork.
# Cross-check the number against the trusted workflow_run event before
# posting, so a fork PR cannot target another PR or issue.
- name: Verify PR matches the run that produced the artifact
id: verify
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# No checkout in this job, so tell gh which repo to talk to.
GH_REPO: ${{ github.repository }}
EXPECTED_BRANCH: ${{ github.event.workflow_run.head_branch }}
EXPECTED_HEAD_REPO: ${{ github.event.workflow_run.head_repository.full_name }}
run: |
pr_number="$(cat schema-diff/pr_number)"
read -r pr_branch pr_head_repo < <(
gh api "repos/{owner}/{repo}/pulls/$pr_number" --jq '.head.ref + " " + .head.repo.full_name'
)
if [ "$pr_branch" != "$EXPECTED_BRANCH" ] || [ "$pr_head_repo" != "$EXPECTED_HEAD_REPO" ]; then
echo "::error::Artifact PR $pr_number does not match the triggering run; refusing to post a comment"
exit 1
fi
echo "number=$pr_number" >> "$GITHUB_OUTPUT"
- name: Post sticky PR comment
uses: marocchino/sticky-pull-request-comment@28ad303d6acb4ccfc50f20c0044188e7e294b8c4 # v3
with:
header: schema-diff
number_force: ${{ steps.verify.outputs.number }}
path: schema-diff/schema_diff.md