mirror of
https://github.com/TrianguloY/UrlChecker.git
synced 2024-09-19 20:02:16 +02:00
rewrite pr comment creation to use actions/upload-artifact@v4
This commit is contained in:
parent
24dfbb14db
commit
b6d599e5ce
57
.github/workflows/comment-download-link.yml
vendored
57
.github/workflows/comment-download-link.yml
vendored
@ -1,57 +0,0 @@
|
|||||||
# This action will send a comment to the pr for download the built apk.
|
|
||||||
# Needs to be as a separate action, artifacts are not available on the action used to upload them
|
|
||||||
name: Comment Artifact URL on PR
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_run:
|
|
||||||
workflows:
|
|
||||||
- "Validate gradle build test"
|
|
||||||
types:
|
|
||||||
- "completed"
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
actions: read # need to read the artifacts url
|
|
||||||
pull-requests: write # need to write the comment
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
comment-on-pr:
|
|
||||||
if: github.event.workflow_run.conclusion == 'success'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
|
|
||||||
- name: Post url to artifact
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ github.token }}
|
|
||||||
OWNER: ${{ github.repository_owner }}
|
|
||||||
REPO: ${{ github.event.repository.name }}
|
|
||||||
CURRENT_JOB_ID: ${{ github.run_id }}
|
|
||||||
PREVIOUS_JOB_ID: ${{ github.event.workflow_run.id }}
|
|
||||||
PREVIOUS_SUITE_ID: ${{ github.event.workflow_run.check_suite_id }}
|
|
||||||
run: |
|
|
||||||
|
|
||||||
# get artifacts
|
|
||||||
read PR_NUMBER ARTIFACT_ID EXPIRES_AT <<< $(gh api "/repos/$OWNER/$REPO/actions/runs/$PREVIOUS_JOB_ID/artifacts" --jq '"\(.artifacts[0].name) \(.artifacts[1].id) \(.artifacts[1].expires_at)"')
|
|
||||||
if [ "$ARTIFACT_ID" == "null" ]; then
|
|
||||||
echo "No artifacts, (probably) not a PR, exiting"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
echo "PR NUMBER: $PR_NUMBER"
|
|
||||||
echo "ARTIFACT ID: $ARTIFACT_ID"
|
|
||||||
echo "EXPIRES_AT: $EXPIRES_AT"
|
|
||||||
|
|
||||||
# post link comment
|
|
||||||
gh api "/repos/$OWNER/$REPO/issues/$PR_NUMBER/comments" -F body=@- <<EOF
|
|
||||||
This PR builds correctly, here is the generated apk.
|
|
||||||
This unsigned version can be installed alongside the original app and should only be used for testing the changes, not for daily usage.
|
|
||||||
|
|
||||||
| [Download testing apk](https://github.com/$OWNER/$REPO/suites/$PREVIOUS_SUITE_ID/artifacts/$ARTIFACT_ID) |
|
|
||||||
| - |
|
|
||||||
|
|
||||||
|
|
||||||
You must be logged in for the link to work.
|
|
||||||
The link will expire at $EXPIRES_AT.
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<sub>This is an automatic comment created by a [Github Action](https://github.com/$OWNER/$REPO/actions/runs/$CURRENT_JOB_ID)</sub>
|
|
||||||
EOF
|
|
48
.github/workflows/validate-gradle-build-test.yml
vendored
48
.github/workflows/validate-gradle-build-test.yml
vendored
@ -19,6 +19,7 @@ concurrency:
|
|||||||
env:
|
env:
|
||||||
VARIANT: evaluation
|
VARIANT: evaluation
|
||||||
NAME: URLCheck_evaluation.apk
|
NAME: URLCheck_evaluation.apk
|
||||||
|
RETENTION_DAYS: 14
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
@ -57,17 +58,46 @@ jobs:
|
|||||||
assemble${{ env.VARIANT }}
|
assemble${{ env.VARIANT }}
|
||||||
|
|
||||||
- name: Upload apk as artifact
|
- name: Upload apk as artifact
|
||||||
|
id: artifact-upload-step
|
||||||
if: ${{ github.event_name == 'pull_request' }}
|
if: ${{ github.event_name == 'pull_request' }}
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
path: ./app/build/outputs/apk/${{ env.VARIANT }}/app-${{ env.VARIANT }}.apk
|
path: ./app/build/outputs/apk/${{ env.VARIANT }}/app-${{ env.VARIANT }}.apk
|
||||||
name: ${{ env.NAME }}
|
name: ${{ env.NAME }}
|
||||||
retention-days: 14
|
retention-days: ${{ env.RETENTION_DAYS }}
|
||||||
|
|
||||||
- name: Upload PR id as artifact
|
outputs:
|
||||||
if: ${{ github.event_name == 'pull_request' }}
|
artifact-url: ${{ steps.artifact-upload-step.outputs.artifact-url }}
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
comment:
|
||||||
path: /dev/null
|
if: ${{ github.event_name == 'pull_request' }}
|
||||||
name: ${{ github.event.number }}
|
runs-on: ubuntu-latest
|
||||||
retention-days: 1
|
needs: build
|
||||||
|
permissions:
|
||||||
|
pull-requests: write # need to write the comment
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Create comment
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ github.token }}
|
||||||
|
run: |
|
||||||
|
# post link comment
|
||||||
|
URL="${{ github.event.pull_request.html_url }}"
|
||||||
|
BODY="
|
||||||
|
This PR builds correctly, here is the generated apk.
|
||||||
|
This unsigned version can be installed alongside the original app and should only be used for testing the changes, not for daily usage.
|
||||||
|
|
||||||
|
| [Download testing apk](${{ needs.build.outputs.artifact-url }}) |
|
||||||
|
| - |
|
||||||
|
|
||||||
|
|
||||||
|
You must be logged in for the link to work.
|
||||||
|
The link will expire at $(date -d "+$RETENTION_DAYS days").
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<sub>This is an automatic comment created by a [Github Action](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})</sub>
|
||||||
|
"
|
||||||
|
|
||||||
|
# use --edit-last-or-create whenever it is ready: https://github.com/cli/cli/issues/6790
|
||||||
|
gh pr comment "$URL" --edit-last --body "$BODY" || gh pr comment "$URL" --body "$BODY"
|
Loading…
Reference in New Issue
Block a user