mirror of
https://github.com/Mr-X-GTA/YimMenu.git
synced 2024-12-23 04:27:25 +08:00
feat(ci): comment PR artifact (#816)
* chore(issue_templates): remove Yimura from assignees * chore(README): typos, notes, toc * feat(ci): comment artifact nightly.link on PR workflow success
This commit is contained in:
parent
10d0f317dc
commit
7b040aff2d
2
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
2
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
@ -2,8 +2,6 @@ name: Feature request
|
|||||||
description: Suggest an idea for this project
|
description: Suggest an idea for this project
|
||||||
title: "[Request]: "
|
title: "[Request]: "
|
||||||
labels: enhancement
|
labels: enhancement
|
||||||
assignees:
|
|
||||||
- Yimura
|
|
||||||
body:
|
body:
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
|
61
.github/workflows/pr-comment.yml
vendored
Normal file
61
.github/workflows/pr-comment.yml
vendored
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
name: Comment on pull request
|
||||||
|
on:
|
||||||
|
workflow_run:
|
||||||
|
workflows: ['Test workflow with upload']
|
||||||
|
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:
|
||||||
|
# This snippet is public-domain, taken from
|
||||||
|
# https://github.com/oprypin/nightly.link/blob/master/.github/workflows/pr-comment.yml
|
||||||
|
script: |
|
||||||
|
async function upsertComment(owner, repo, issue_number, purpose, body) {
|
||||||
|
const {data: comments} = await github.rest.issues.listComments(
|
||||||
|
{owner, repo, issue_number});
|
||||||
|
|
||||||
|
const marker = `<!-- bot: ${purpose} -->`;
|
||||||
|
body = marker + "\n" + body;
|
||||||
|
|
||||||
|
const existing = comments.filter((c) => c.body.includes(marker));
|
||||||
|
if (existing.length > 0) {
|
||||||
|
const last = existing[existing.length - 1];
|
||||||
|
core.info(`Updating comment ${last.id}`);
|
||||||
|
await github.rest.issues.updateComment({
|
||||||
|
owner, repo,
|
||||||
|
body,
|
||||||
|
comment_id: last.id,
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
core.info(`Creating a comment in issue / PR #${issue_number}`);
|
||||||
|
await github.rest.issues.createComment({issue_number, body, owner, repo});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const {owner, repo} = context.repo;
|
||||||
|
const run_id = ${{github.event.workflow_run.id}};
|
||||||
|
|
||||||
|
const pull_requests = ${{ toJSON(github.event.workflow_run.pull_requests) }};
|
||||||
|
if (!pull_requests.length) {
|
||||||
|
return core.error("This workflow doesn't match any pull requests!");
|
||||||
|
}
|
||||||
|
|
||||||
|
const artifacts = await github.paginate(
|
||||||
|
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`;
|
||||||
|
for (const art of artifacts) {
|
||||||
|
body += `\n* [${art.name}.zip](https://nightly.link/${owner}/${repo}/actions/artifacts/${art.id}.zip)`;
|
||||||
|
}
|
||||||
|
|
||||||
|
core.info("Review thread message body:", body);
|
||||||
|
|
||||||
|
for (const pr of pull_requests) {
|
||||||
|
await upsertComment(owner, repo, pr.number,
|
||||||
|
"nightly-link", body);
|
||||||
|
}
|
18
README.md
18
README.md
@ -11,6 +11,7 @@ So here I am with an up-to-date menu focusing on protecting the user from toxic
|
|||||||
## Table of contents
|
## Table of contents
|
||||||
|
|
||||||
* [How to build](#how-to-build)
|
* [How to build](#how-to-build)
|
||||||
|
* [Curl](#curl)
|
||||||
* [Git](#git)
|
* [Git](#git)
|
||||||
* [CMake](#CMake)
|
* [CMake](#CMake)
|
||||||
* [Cloning and generating project files](#cloning-and-generating-project-files)
|
* [Cloning and generating project files](#cloning-and-generating-project-files)
|
||||||
@ -23,21 +24,21 @@ So here I am with an up-to-date menu focusing on protecting the user from toxic
|
|||||||
|
|
||||||
Requirements:
|
Requirements:
|
||||||
|
|
||||||
* [Git](#Git)
|
* [Git](#git)
|
||||||
* [CMake](#CMake)
|
* [CMake](#cmake)
|
||||||
|
|
||||||
If you have both of the above requirements you can skip to [cloning the git repo and generating the project files](#cloning-and-generating-project-files).
|
If you have both of the above requirements you can skip to [cloning the git repo and generating the project files](#cloning-and-generating-project-files).
|
||||||
|
|
||||||
### Curl
|
### Curl
|
||||||
|
|
||||||
Curl should be already installed on your computer, but if you are having issues with building the project, you will need to download and install
|
Curl should be already installed on your computer, but if you are having issues with building the project, you will need to download and install
|
||||||
it. Once Installed run the exe located in bin and it should work
|
it.
|
||||||
|
|
||||||
[Download Link](https://curl.se/download.html)
|
[Download Link](https://curl.se/download.html)
|
||||||
|
|
||||||
### Git
|
### Git
|
||||||
|
|
||||||
If you haven't installed git on your system go and do so it is **REQUIRED** for setting up a working build environment.
|
If you haven't installed git on your system go and do so as it is **REQUIRED** for setting up a working build environment.
|
||||||
|
|
||||||
[Download Link](https://git-scm.com/download/win)
|
[Download Link](https://git-scm.com/download/win)
|
||||||
|
|
||||||
@ -63,7 +64,8 @@ CMake is used to generate our project files, if you haven't used it before you w
|
|||||||
|
|
||||||
#### Generate project files
|
#### Generate project files
|
||||||
|
|
||||||
#### `NOTE` You will have cd build and cmake again if you add any files or you will get an error when building.
|
> **Note**
|
||||||
|
> You will have cd build and cmake again if you add any files or you will get an error when building.
|
||||||
|
|
||||||
- Windows Only
|
- Windows Only
|
||||||
|
|
||||||
@ -104,7 +106,7 @@ git pull
|
|||||||
|
|
||||||
CMake should be handling removed / added files automatically without any user input.
|
CMake should be handling removed / added files automatically without any user input.
|
||||||
|
|
||||||
If this is not the case for some reason you'll have to redo the steps in the [Generate project files](#Generate-project-files) section above.
|
If this is not the case for some reason you'll have to redo the steps in the [Generate project files](#generate-project-files) section above.
|
||||||
|
|
||||||
If you are doing custom modifications to the codebase and have a fork you are on your own for staying up to date with upstream (this repository), google stuff like "merge from upstream" and learn how to use Git.
|
If you are doing custom modifications to the codebase and have a fork you are on your own for staying up to date with upstream (this repository), google stuff like "merge from upstream" and learn how to use Git.
|
||||||
|
|
||||||
@ -122,7 +124,7 @@ If you are doing custom modifications to the codebase and have a fork you are on
|
|||||||
Below is an incomplete list of feature that I believe are notable to this "base" or menu.
|
Below is an incomplete list of feature that I believe are notable to this "base" or menu.
|
||||||
|
|
||||||
- Return Native spoofing
|
- Return Native spoofing
|
||||||
- Custom [settings](src/core/globals.hpp) with deep compare if changes were made include auto saving
|
- Custom [settings](src/core/globals.hpp) with deep compare if changes were made, including auto saving
|
||||||
- Clear and well structured source code
|
- Clear and well structured source code
|
||||||
- Includes a thread pool to queue tasks that shouldn't block the game thread, very similar to fiber pool
|
- Includes a thread pool to queue tasks that shouldn't block the game thread, very similar to fiber pool
|
||||||
- Updated natives.hpp from https://nativedb.spyral.dev
|
- Updated natives.hpp from https://nativedb.spyral.dev
|
||||||
@ -130,6 +132,6 @@ Below is an incomplete list of feature that I believe are notable to this "base"
|
|||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
You're free to contribute to YimMenu as long as the feature are useful, not overly toxic, and do not contain anything money related that might get the menu targetted by Take2.
|
You're free to contribute to YimMenu as long as the features are useful, not overly toxic and do not contain anything money related that might get the menu targeted by Take2.
|
||||||
|
|
||||||
Make sure to read the [CONTRIBUTING.md](CONTRIBUTING.md) file.
|
Make sure to read the [CONTRIBUTING.md](CONTRIBUTING.md) file.
|
||||||
|
Loading…
Reference in New Issue
Block a user