Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ignore #1730

Closed
wants to merge 4 commits into from
Closed

Ignore #1730

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .github/actions/pr-comment-data-export/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: 'Export data for PR comment'
description: 'Exports the neccessary data to post a PR comment securely.'

# This action might be running off of a fork and would thus not have write
# permissions on the origin repository. In order to allow a separate
# priviledged action to post a comment on a pull request, upload the
# necessary metadata.

inputs:
name:
description: 'A unique name for the artifact used for exporting.'
required: true
contents:
description: 'A filename with a comment (in Markdown) to be added to the PR.'
required: true
log-url:
description: 'A URL to a log to be linked from the PR comment.'
required: false

runs:
using: composite
steps:
- if: github.event_name == 'pull_request'
shell: bash
run: |
mkdir comment-data
cp "${{ inputs.contents }}" comment-data/contents
echo "${{ inputs.name }}"" > comment-data/name
echo "${{ inputs.log-url }}"" > comment-data/log-url
echo "${{ github.event.number }}" > comment-data/pr-number

- if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.name }}
path: comment-data
retention-days: 1
29 changes: 29 additions & 0 deletions .github/actions/pr-comment/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: 'Comment on PR'
description: 'Post a PR comment securely.'

inputs:
name:
description: 'Artifact name to import comment data from.'
required: true

runs:
using: composite
steps:
- uses: actions/download-artifact@v4
with:
run-id: ${{ github.event.workflow_run.id }}
name: ${{ inputs.name }}

- id: pr-number
shell: bash
run: echo "number=$(cat pr-number)" >> "$GITHUB_OUTPUT"

- shell: bash
run: |
[ -s log-url ] && echo "" >> contents && echo "[:arrow_down: Download logs]($(cat log-url))" >> contents

- uses: thollander/actions-comment-pull-request@v2
with:
filePath: contents
pr_number: ${{ steps.pr-number.outputs.number }}
comment_tag: ${{ inputs.name }}-comment
32 changes: 14 additions & 18 deletions .github/actions/quic-interop-runner/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,24 +88,20 @@ runs:
name: logs
path: quic-interop-runner/logs

# This action might be running off of a fork and would thus not have write
# permissions on the origin repository. In order to allow a separate
# priviledged action to post a comment on a pull request, upload the
# necessary metadata.
- name: store comment-data
shell: bash
if: github.event_name == 'pull_request'
env:
PULL_REQUEST_NUMBER: ${{ github.event.number }}
- name: Format GitHub comment
run: |
mkdir comment-data
mv quic-interop-runner/summary comment-data/summary
echo $PULL_REQUEST_NUMBER > comment-data/pr-number
echo '${{ steps.artifact-upload-step.outputs.artifact-url }}' > comment-data/logs-url
echo '[**QUIC Interop Runner**](https://github.com/quic-interop/quic-interop-runner)' >> comment
echo '' >> comment
echo '```' >> comment
cat quic-interop-runner/summary >> comment
echo '```' >> comment
echo '' >> comment
shell: bash

- name: Upload comment data
uses: actions/upload-artifact@v4
if: github.event_name == 'pull_request'
- name: Export PR comment data
if: ${{ github.event_name == 'pull_request' }}
uses: ./.github/actions/pr-comment-data-export
with:
name: comment-data
path: ./comment-data
name: qns
contents: comment
log-url: ${{ steps.artifact-upload-step.outputs.artifact-url }}
24 changes: 24 additions & 0 deletions .github/workflows/bench-comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Post test results as pull request comment.
#
# This is done as a separate workflow as it requires write permissions. The
# tests itself might run off of a fork, i.e. an untrusted environment and should
# thus not be granted write permissions.

name: Benchmark Comment

on:
workflow_run:
workflows: ["Bench"]
types:
- completed

jobs:
comment:
permissions:
pull-requests: write
runs-on: ubuntu-latest
if: github.event.workflow_run.event == 'pull_request'
steps:
- uses: ./.github/actions/pr-comment
with:
name: bench
13 changes: 6 additions & 7 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,12 +140,11 @@ jobs:
-e 's/(change:[^%]*%)([^%]*%)(.*)/\1**\2**\3/gi' \
> results.md
echo '' >> results.md
echo '[:arrow_down: Download full results](${{ steps.export.outputs.artifact-url }})' >> results.md

- name: "Post results to PR"
uses: thollander/actions-comment-pull-request@v2
- name: Export PR comment data
if: ${{ github.event_name == 'pull_request' }}
uses: ./.github/actions/pr-comment-data-export
with:
filePath: results.md
pr_number: ${{ github.event.pull_request.number }}
comment_tag: bench-results

name: bench
contents: results.md
log-url: ${{ steps.export.outputs.artifact-url }}
7 changes: 0 additions & 7 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -152,10 +152,3 @@ jobs:
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
if: matrix.type == 'debug' && matrix.rust-toolchain == 'stable'

bench:
name: "Benchmark"
needs: [check]
permissions:
pull-requests: write
uses: ./.github/workflows/bench.yml
38 changes: 3 additions & 35 deletions .github/workflows/qns-comment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,40 +17,8 @@ jobs:
permissions:
pull-requests: write
runs-on: ubuntu-latest
if: >
github.event.workflow_run.event == 'pull_request' &&
github.event.workflow_run.conclusion == 'failure'
if: github.event.workflow_run.event == 'pull_request'
steps:
- name: Download comment-data
uses: actions/download-artifact@v4
- uses: ./.github/actions/pr-comment
with:
run-id: ${{ github.event.workflow_run.id }}
name: comment-data
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Format GitHub comment
run: |
pwd
ls -la
echo '[**QUIC Interop Runner**](https://github.com/quic-interop/quic-interop-runner)' >> comment
echo '' >> comment
echo '```' >> comment
cat summary >> comment
echo '```' >> comment
echo '' >> comment
echo 'Download artifacts [here](' >> comment
cat logs-url >> comment
echo ').' >> comment
shell: bash

- name: Read PR Number
id: pr-number
run: echo "::set-output name=number::$(cat pr-number)"
shell: bash

- name: Comment PR
uses: thollander/actions-comment-pull-request@v2
with:
filePath: comment
pr_number: ${{ steps.pr-number.outputs.number }}
comment_tag: quic-network-simulator-comment
name: qns
Loading