mirror of
https://github.com/ditkrg/project-version-check.git
synced 2026-01-22 22:06:42 +00:00
Change version and commit changes
Signed-off-by: Shakar <5h4k4r.b4kr@gmail.com>
This commit is contained in:
parent
fb31fa8b7f
commit
36fbfe3356
81
commit.js
Normal file
81
commit.js
Normal file
@ -0,0 +1,81 @@
|
||||
const axios = require('axios');
|
||||
|
||||
|
||||
|
||||
|
||||
export async function commitChanges(filePath) {
|
||||
const commitMessage = 'Commit message here';
|
||||
const newContent = 'New content to be added';
|
||||
|
||||
|
||||
// Get the repository owner and name
|
||||
const repoFullName = process.env.GITHUB_REPOSITORY;
|
||||
const [owner, repo] = repoFullName.split('/');
|
||||
|
||||
// Get the current branch
|
||||
const branch = process.env.GITHUB_REF.replace('refs/heads/', '');
|
||||
|
||||
try {
|
||||
// Get the current commit SHA for the branch
|
||||
const branchResponse = await axios.get(
|
||||
`https://api.github.com/repos/${owner}/${repo}/branches/${branch}`
|
||||
);
|
||||
|
||||
const baseTreeSha = branchResponse.data.commit.sha;
|
||||
|
||||
// Create a new blob with the updated content
|
||||
const blobResponse = await axios.post(
|
||||
`https://api.github.com/repos/${owner}/${repo}/git/blobs`,
|
||||
{
|
||||
content: newContent,
|
||||
encoding: 'utf-8',
|
||||
}
|
||||
);
|
||||
|
||||
const newBlobSha = blobResponse.data.sha;
|
||||
|
||||
// Create a new tree with the updated blob
|
||||
const treeResponse = await axios.post(
|
||||
`https://api.github.com/repos/${owner}/${repo}/git/trees`,
|
||||
{
|
||||
base_tree: baseTreeSha,
|
||||
tree: [
|
||||
{
|
||||
path: filePath,
|
||||
mode: '100644',
|
||||
type: 'blob',
|
||||
sha: newBlobSha,
|
||||
},
|
||||
],
|
||||
}
|
||||
);
|
||||
|
||||
const newTreeSha = treeResponse.data.sha;
|
||||
|
||||
// Create a new commit
|
||||
const commitResponse = await axios.post(
|
||||
`https://api.github.com/repos/${owner}/${repo}/git/commits`,
|
||||
{
|
||||
message: commitMessage,
|
||||
tree: newTreeSha,
|
||||
parents: [baseTreeSha],
|
||||
}
|
||||
);
|
||||
|
||||
const newCommitSha = commitResponse.data.sha;
|
||||
|
||||
// Update the branch reference
|
||||
await axios.patch(
|
||||
`https://api.github.com/repos/${owner}/${repo}/git/refs/heads/${branch}`,
|
||||
{
|
||||
sha: newCommitSha,
|
||||
}
|
||||
);
|
||||
|
||||
console.log('Changes committed successfully!');
|
||||
} catch (error) {
|
||||
console.error('Error committing changes:', error);
|
||||
}
|
||||
}
|
||||
|
||||
commitChanges();
|
||||
9
index.js
9
index.js
@ -1,13 +1,14 @@
|
||||
const core = require('@actions/core')
|
||||
const github = require('@actions/github')
|
||||
const fs = require('fs')
|
||||
const xml2js = require('xml2js')
|
||||
import commitChanges from './commit.js';
|
||||
|
||||
try {
|
||||
console.log(`CWD: ${process.cwd()}`)
|
||||
const label = core.getInput('label');
|
||||
const filePath = `${process.cwd()}/${core.getInput('filePath')}`;
|
||||
|
||||
|
||||
console.log(`Label: ${label}`)
|
||||
console.log(`File path: ${filePath}`)
|
||||
|
||||
@ -18,7 +19,8 @@ try {
|
||||
// else if (project == 'nodejs')
|
||||
// filePath = `${filePath}/package.json`;
|
||||
|
||||
const version = require(filePath).version;
|
||||
const packageJson = require(filePath);
|
||||
const version = packageJson.version;
|
||||
|
||||
|
||||
// the version is in semantic format, so we can split it by dot
|
||||
@ -46,7 +48,10 @@ try {
|
||||
|
||||
console.log(`Old version: ${version}. New version: ${newVersion}`)
|
||||
|
||||
packageJson.version = newVersion;
|
||||
|
||||
fs.writeFileSync(filePath, JSON.stringify(packageJson, null, 2));
|
||||
commitChanges();
|
||||
const payload = JSON.stringify(github.context.payload, undefined, 2)
|
||||
|
||||
// console.log(`The event payload: ${payload}`);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user