mirror of
https://github.com/GreemDev/Ryujinx
synced 2025-01-08 20:16:55 +01:00
12b264af44
Launch the Ryujinx.exe, first argument --no-gui or nogui, and the rest of the arguments should be your normal headless script. You can include the new option --use-main-config which will provide any arguments that you don't, filled in from your main config made by the UI. Input config is not inherited at this time.
61 lines
2.5 KiB
YAML
61 lines
2.5 KiB
YAML
name: Comment PR artifacts links
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ['Build PR']
|
|
types: [completed]
|
|
|
|
jobs:
|
|
pr_comment:
|
|
if: github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/github-script@v6
|
|
with:
|
|
script: |
|
|
const {owner, repo} = context.repo;
|
|
const run_id = ${{github.event.workflow_run.id}};
|
|
const pull_head_sha = '${{github.event.workflow_run.head_sha}}';
|
|
|
|
const issue_number = await (async () => {
|
|
const pulls = await github.rest.pulls.list({owner, repo});
|
|
for await (const {data} of github.paginate.iterator(pulls)) {
|
|
for (const pull of data) {
|
|
if (pull.head.sha === pull_head_sha) {
|
|
return pull.number;
|
|
}
|
|
}
|
|
}
|
|
})();
|
|
if (issue_number) {
|
|
core.info(`Using pull request ${issue_number}`);
|
|
} else {
|
|
return core.error(`No matching pull request found`);
|
|
}
|
|
|
|
const {data: {artifacts}} = await github.rest.actions.listWorkflowRunArtifacts({owner, repo, run_id});
|
|
if (!artifacts.length) {
|
|
return core.error(`No artifacts found`);
|
|
}
|
|
let body = `Download the artifacts for this pull request:\n`;
|
|
let hidden_debug_artifacts = `\n\n <details><summary>Only for Developers</summary>\n`;
|
|
for (const art of artifacts) {
|
|
const url = `https://github.com/Ryubing/Ryujinx/actions/runs/${run_id}/artifacts/${art.id}`;
|
|
if(art.name.includes('Debug')) {
|
|
hidden_debug_artifacts += `\n* [${art.name}](${url})`;
|
|
} else {
|
|
body += `\n* [${art.name}](${url})`;
|
|
}
|
|
}
|
|
hidden_debug_artifacts += `\n</details>`;
|
|
body += hidden_debug_artifacts;
|
|
|
|
const {data: comments} = await github.rest.issues.listComments({repo, owner, issue_number});
|
|
const existing_comment = comments.find((c) => c.user.login === 'github-actions[bot]');
|
|
if (existing_comment) {
|
|
core.info(`Updating comment ${existing_comment.id}`);
|
|
await github.rest.issues.updateComment({repo, owner, comment_id: existing_comment.id, body});
|
|
} else {
|
|
core.info(`Creating a comment`);
|
|
await github.rest.issues.createComment({repo, owner, issue_number, body});
|
|
}
|