fix: reworking files

This commit is contained in:
GitHub Actions
2022-05-11 13:09:38 +02:00
parent a141d23972
commit 19c4c8f761
5 changed files with 9550 additions and 201 deletions

View File

@@ -4,7 +4,6 @@ on: [workflow_dispatch]
jobs:
release:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3

9700
index.js

File diff suppressed because it is too large Load Diff

View File

@@ -2,10 +2,17 @@
import * as core from '@actions/core';
import * as exec from '@actions/exec';
import fs from 'fs/promises';
const { GITHUB_REPOSITORY, GITHUB_REF } = process.env;
const branch = GITHUB_REF?.replace('refs/heads/', '');
type File = {
filename: string;
data: string;
};
class Git {
constructor() {
const githubToken = core.getInput('github-token', { required: true });
@@ -89,6 +96,20 @@ class Git {
updateOrigin = (repo: string) => this.exec(`remote set-url origin ${repo}`);
createTag = (tag: string) => this.exec(`tag -a ${tag} -m "${tag}"`);
async pushNewFiles(files: File[] = []): Promise<any> {
if (!files.length) return;
await this.pull();
await Promise.all(
files.map(({ filename, data }) => fs.writeFile(filename, data))
);
await this.add(files.map(({ filename }) => filename));
await this.commit(`chore(updates): updated entries in files`);
await this.push();
}
}
export default new Git();

View File

@@ -1,15 +1,11 @@
import fs from 'fs';
import ejs from 'ejs';
import * as core from '@actions/core';
import { remark } from 'remark';
import toc from 'remark-toc';
import git from './git';
export const REPO_USERNAME = process.env.GITHUB_REPOSITORY?.split('/')[0];
export const API_STARRED_URL = `${process.env.GITHUB_API_URL}/users/${REPO_USERNAME}/starred`;
const fsp = fs.promises;
export async function renderer(
data: { [key: string]: any },
templateString: string
@@ -38,22 +34,3 @@ export function generateMd(data: string): Promise<string> {
}
export const MARKDOWN_FILENAME: string = core.getInput('output-filename');
type File = {
filename: string;
data: string;
};
export async function pushNewFiles(files: File[] = []): Promise<any> {
if (!files.length) return;
await git.pull();
await Promise.all(
files.map(({ filename, data }) => fsp.writeFile(filename, data))
);
await git.add(files.map(({ filename }) => filename));
await git.commit(`chore(updates): updated entries in files`);
await git.push();
}

View File

@@ -7,9 +7,9 @@ import {
renderer,
REPO_USERNAME,
generateMd,
pushNewFiles,
MARKDOWN_FILENAME,
} from './helpers';
import git from './git';
export async function main() {
// set default template
@@ -43,7 +43,7 @@ export async function main() {
const markdown: string = await generateMd(rendered);
await pushNewFiles([
await git.pushNewFiles([
{
filename: MARKDOWN_FILENAME,
data: markdown,
@@ -55,7 +55,7 @@ export async function main() {
]);
}
export async function run(): Promise<any> {
export async function run(): Promise<void> {
try {
await main();
} catch (error) {