Skip to content

Commit

Permalink
feat: add contributor dump script
Browse files Browse the repository at this point in the history
  • Loading branch information
manuel-rw committed Dec 21, 2023
1 parent f70e9d6 commit f85d490
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 2 deletions.
12 changes: 12 additions & 0 deletions .github/workflows/dump-api-data.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
on:
schedule:
- cron: "0 12 * * 7" # “At 12:00 on Sunday.” https://crontab.guru/#0_12_*_*_7
workflow_dispatch:

jobs:
dump:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- run: npm run
6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids"
"write-heading-ids": "docusaurus write-heading-ids",
"api-dump-contributors": "node ./scripts/dump-contributors.js"
},
"dependencies": {
"@cmfcmf/docusaurus-search-local": "^1.1.0",
Expand Down Expand Up @@ -48,7 +49,8 @@
"eslint-plugin-markdown": "^3.0.1",
"eslint-plugin-unused-imports": "^2.0.0",
"prettier": "^2.8.8",
"typescript": "^5.3.3"
"typescript": "^5.3.3",
"zod": "^3.22.4"
},
"peerDependencies": {
"@docusaurus/theme-common": "^3.0.1",
Expand Down
7 changes: 7 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 31 additions & 0 deletions scripts/dump-contributors.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
const z = require('zod');
const fs = require('fs');

const schema = z.object({
GITHUB_API_TOKEN: z.string()
});

const env = schema.parse(process.env);

const url = 'https://api.github.com/repos/ajnart/homarr/contributors';
const options = {
method: 'GET',
headers: {
Authorization: `Bearer ${env.GITHUB_API_TOKEN}`,
Accept: 'application/vnd.github+json',
'X-GitHub-Api-Version': '2022-11-28'
}
};

fetch(url, options).then((response) => {
const data = response.json();

const dataSchema = z.array(z.object({
login: z.string(),
avatar_url: z.string().url(),
}));

const contributionsData = dataSchema.parse(data);

fs.writeFileSync('./data/contributions.json', contributionsData);
});

0 comments on commit f85d490

Please sign in to comment.