Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Implement the ability to work with W outside of write #488

Implement the ability to work with W outside of write

Implement the ability to work with W outside of write #488

Workflow file for this run

name: Diff
on:
issue_comment:
types: [created]
jobs:
generate:
name: |
Generate matrix.
runs-on: ubuntu-latest
outputs:
diffs: ${{ steps.regress-ci.outputs.diffs }}
if: contains(toJson(github.event.comment.body), '\n/ci') || startsWith(github.event.comment.body, '/ci')
steps:
- name: Is member
run: |
if [[ "${{ github.event.comment.author_association }}" != "MEMBER" && "${{ github.event.comment.author_association }}" != "OWNER" ]]; then
exit 1
fi
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- name: Cache
uses: Swatinem/rust-cache@v2
with:
shared-key: "diff"
- run: cargo regress ci
id: regress-ci
env:
GITHUB_COMMENT: ${{ github.event.comment.body }}
GITHUB_COMMENT_PR: ${{ github.event.issue.number }}
diff:
runs-on: ubuntu-latest
needs: [generate]
if: needs.generate.outputs.diffs != '{}' && needs.generate.outputs.diffs != '[]' && needs.generate.outputs.diffs != ''
strategy:
matrix:
include: ${{ fromJson(needs.generate.outputs.diffs) }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- name: Cache
uses: Swatinem/rust-cache@v2
with:
shared-key: "diff"
- uses: taiki-e/install-action@v2
if: matrix.needs_semver_checks
with:
tool: cargo-semver-checks
- uses: taiki-e/install-action@v2
with:
tool: git-delta
# if a new line is added here, make sure to update the `summary` job to reference the new step index
- run: cargo regress diff --use-pager-directly ${{ matrix.command }}
env:
GH_TOKEN: ${{ github.token }}
GITHUB_PR: ${{ matrix.pr }}
GIT_PAGER: delta --raw
summary:
runs-on: ubuntu-latest
needs: [diff, generate]
if: always() && needs.generate.outputs.diffs != '{}' && needs.generate.outputs.diffs != '[]' && needs.generate.outputs.diffs != '' && needs.generate.result == 'success'
steps:
- uses: actions/checkout@v4
- run: |
gh run view ${{ github.run_id }} --json jobs | \
jq -r '"Diff for [comment]("+$comment+")\n\n" + ([.jobs[] | select(.name | startswith("diff")) | "- [" + (.name | capture("\\((?<name>[^,]+),.*") | .name) + "](" + .url + "?pr=" + $pr_id + "#step:7:47)"] | join("\n"))' --arg pr_id "${{ github.event.issue.number }}" --arg comment "${{ github.event.comment.url }}"| \
gh pr comment "${{ github.event.issue.number }}" --body "$(< /dev/stdin)"
env:
GH_TOKEN: ${{ github.token }}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.