-
Notifications
You must be signed in to change notification settings - Fork 66
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
Fix wrong format for Co-authored automerged commits + pagination #263
Comments
/help |
Hello, @smoya! 👋🏼 I'm 🧞🧞🧞 Genie 🧞🧞🧞 from the magic lamp. Looks like somebody needs a hand! At the moment the following comments are supported in issues:
|
/gfi ci-cd |
Hey @smoya I have found a way around for this problem "Each co-author line (Co-authored-by: ...) should appear in a new line as the documentation says." |
Feel free to open a PR with that fix as soon as you have it 👍
If we don't use github rest API, what do you suggest as an alternative? GraphQL API also have the same limitation (100 results "per page") |
can anyone help me with this const { Octokit } = require('@octokit/rest');
const { paginateRest } = require('@octokit/plugin-paginate-rest');
const token = process.env.GITHUB_TOKEN;
const prNumber = process.env.PR_NUMBER;
const repository = process.env.GITHUB_REPOSITORY;
async function getCoAuthors() {
try {
const octokit = new Octokit({ auth: token });
const commitsResponse = await octokit.paginate("GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", {
owner: "asyncapi",
repo: repository,
pull_number: prNumber,
per_page: 100,
});
const authors = commitsResponse
.map(data => ({
name: data.commit.author.name,
email: data.commit.author.email,
login: data.commit.author.login,
}))
.filter(author => author.login !== 'PR_sender_login')
.reduce((uniqueAuthors, author) => {
if (!uniqueAuthors.some(a => a.email === author.email)) {
uniqueAuthors.push(author);
}
return uniqueAuthors;
}, [])
.map(author => `Co-authored-by: ${author.name} <${author.email}>`)
.join('\n');
consoler.log(authors);
return authors;
} catch (error) {
console.error('Error fetching commits:', error);
return null;
}
} how do i run this within the github action |
You will need to run it on your fork or somehow using act. Whatever you use, you will need to modify the action and include something like this. |
Describe the bug
Commit Co-authoring allow us to merge PR's and tell Github who were the committers so it does not appear only the PR creator as the author of all the code on it. Unfortunately, it doesn't work at this moment due to a bug in our side.
The way it works is described here.
We basically make it happen in this action.
However, the final commit message contains a wrong format that makes the co-authoring feature fail.
It seems like a format problem: no new line character is being printed (each co-author should appear in new line). Instead, the new line characters appears encoded (
%0A
) 😞How to Reproduce
See an example here: asyncapi/parser-js@4799f2a
Expected behavior
Each co-author line (
Co-authored-by: ...
) should appear in a new line as the documentation says.Additionally, we should find an alternative to curl + jq or maybe use some bash so we can implement pagination and by pass the limitation of 100 commit results. There are PR's that have more than 100 commits, specially in long-live branches.
The text was updated successfully, but these errors were encountered: