Build(deps): bump prettyplease from 0.2.37 to 0.3.0 - #78
Conversation
Bumps [prettyplease](https://github.com/dtolnay/prettyplease) from 0.2.37 to 0.3.0. - [Release notes](https://github.com/dtolnay/prettyplease/releases) - [Commits](dtolnay/prettyplease@0.2.37...0.3.0) --- updated-dependencies: - dependency-name: prettyplease dependency-version: 0.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
There was a problem hiding this comment.
Sorry @dependabot[bot], you have reached your weekly rate limit of 500000 diff characters.
Please try again later or upgrade to continue using Sourcery
|
@coderabbitai please investigate the cause of the build/test CI failure and raise a GitHub issue for the fix. |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="leynos/theoremc"
pr="78"
echo "== Pull request and checks =="
gh pr view "$pr" --repo "$repo" \
--json url,headRefName,baseRefName,statusCheckRollup,files \
--jq '{url, headRefName, baseRefName, checks: [.statusCheckRollup[] | {name, status, conclusion, detailsUrl}], files: [.files[].path]}'
echo
echo "== Failed GitHub Actions jobs =="
gh api "repos/$repo/actions/runs?event=pull_request&per_page=100" --paginate \
--jq --arg head "$(gh pr view "$pr" --repo "$repo" --json headRefOid --jq .headRefOid)" '
.workflow_runs[] | select(.head_sha == $head) | {id, name, status, conclusion, html_url}
' | while IFS= read -r run; do
echo "$run"
done
head_sha="$(gh pr view "$pr" --repo "$repo" --json headRefOid --jq .headRefOid)"
run_ids="$(gh api "repos/$repo/actions/runs?event=pull_request&per_page=100" --paginate \
--jq --arg head "$head_sha" '.workflow_runs[] | select(.head_sha == $head and .conclusion == "failure") | .id')"
for run_id in $run_ids; do
echo
echo "== Failed jobs for run $run_id =="
gh api "repos/$repo/actions/runs/$run_id/jobs?filter=latest&per_page=100" --paginate \
--jq '.jobs[] | select(.conclusion == "failure") | {name, html_url, steps: [.steps[] | select(.conclusion == "failure") | {name, number}]}'
echo "== Failure log for run $run_id =="
gh run view "$run_id" --repo "$repo" --log-failed || true
done
echo
echo "== Rust and Cargo constraints =="
fd -HI -t f '^(Cargo\.toml|Cargo\.lock|rust-toolchain(\.toml)?|.*\.ya?ml)$' . \
-E .git -E target | sort | while IFS= read -r file; do
echo "--- $file"
rg -n -i -C 2 'prettyplease|rust-version|toolchain|msrv|cargo (build|test)|rustup' "$file" || true
doneLength of output: 3794 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="leynos/theoremc"
run_id="30550832694"
job_id="90898737477"
echo "== Failed job metadata =="
gh api "repos/$repo/actions/jobs/$job_id" \
--jq '{name, conclusion, html_url, started_at, completed_at, steps: [.steps[] | {name, conclusion, number}]}'
echo
echo "== Failed job log =="
gh run view "$run_id" --repo "$repo" --job "$job_id" --log-failed
echo
echo "== Changed Cargo manifest =="
cat -n crates/theoremc-macros/Cargo.toml
echo
echo "== Relevant lockfile entries =="
rg -n -A12 -B3 'name = "(prettyplease|syn|theoremc-macros)"' Cargo.lock
echo
echo "== Rust and CI configuration =="
fd -HI -t f '^(rust-toolchain(\.toml)?|Cargo\.toml|.*\.ya?ml)$' . -E .git -E target \
| sort \
| while IFS= read -r file; do
if rg -q -i 'rust-version|toolchain|rustup|cargo (build|test)' "$file"; then
echo "--- $file"
rg -n -i -C2 'rust-version|toolchain|rustup|cargo (build|test)' "$file"
fi
doneLength of output: 174030 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="leynos/theoremc"
pr_url="https://github.com/leynos/theoremc/pull/78"
existing="$(gh issue list --repo "$repo" --state open --limit 100 \
--search '"prettyplease" "syn"' \
--json number,title,url \
--jq '.[] | select((.title | ascii_downcase | contains("prettyplease")) and (.title | ascii_downcase | contains("syn"))) | "\(.number)\t\(.title)\t\(.url)"' \
|| true)"
if [ -n "$existing" ]; then
echo "EXISTING_ISSUE"
printf '%s\n' "$existing"
exit 0
fi
comment_url="$(gh api "repos/$repo/issues/78/comments?per_page=100" \
--jq '.[] | select(.user.login == "leynos" and (.body | contains("please investigate the cause of the build/test CI failure"))) | .html_url' \
| tail -n 1)"
issue_body="$(cat <<EOF
## Summary
The \`build-test\` workflow fails after PR `#78` upgrades \`prettyplease\` from \`0.2.37\` to \`0.3.0\`.
## Cause
\`prettyplease 0.3.0\` depends on \`syn 3.0.3\`. The macro crate still directly depends on \`syn 2.0.117\`. In \`crates/theoremc-macros/src/tests.rs\`, the test passes a \`syn 2::File\` to \`prettyplease::unparse\`, which now requires \`syn 3::File\`.
The coverage command fails with:
\`\`\`text
error[E0308]: mismatched types
expected \`syn::file::File\`, found \`syn::File\`
note: there are multiple different versions of crate \`syn\` in the dependency graph
\`\`\`
## Required changes
- Update \`crates/theoremc-macros\` and its test code to use the \`syn 3\` API required by \`prettyplease 0.3.0\`.
- If the crate cannot yet migrate to \`syn 3\`, revert or defer the \`prettyplease\` upgrade to a version compatible with \`syn 2\`.
- Run the workspace coverage test command after the dependency versions are aligned.
## Acceptance criteria
- \`cargo llvm-cov nextest --manifest-path Cargo.toml --workspace --lcov --output-path lcov.info\` succeeds.
- The macro tests compile without passing a \`syn 2::File\` to an API that requires \`syn 3::File\`.
- The dependency graph does not contain incompatible \`syn::File\` types at the \`prettyplease::unparse\` call site.
## Backlinks
- Pull request: $pr_url
- Request comment: ${comment_url:-$pr_url}
- Failing job: https://github.com/leynos/theoremc/actions/runs/30550832694/job/90898737477
EOF
)"
issue_url="$(gh issue create --repo "$repo" \
--title "Align theoremc-macros with syn 3 for prettyplease 0.3.0" \
--body "$issue_body" \
--assignee "leynos")"
echo "CREATED_ISSUE"
echo "$issue_url"Length of output: 2649
Track the fix in 🧠 Learnings usedYou are interacting with an AI system. |
Bumps prettyplease from 0.2.37 to 0.3.0.
Release notes
Sourced from prettyplease's releases.
Commits
49e5089Release 0.3.0fcbf4d3Merge pull request #128 from dtolnay/syn33bcd9d9Update to syn 31a89d07Format with rustfmtdaa39f5Update actions/upload-artifact@v6 -> v744d4c3dUpdate actions/checkout@v6 -> v787d1c22Update examples to nightly-2026-02-0950a7042Raise required compiler to Rust 1.71ae76ee8Resolve unnecessary_map_or clippy lint938b756Raise required compiler to Rust 1.70Dependabot 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 commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)