Skip to content

Commit

Permalink
update workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
Natalie Abrams committed Feb 20, 2025
1 parent 5fe1cc4 commit ae0db90
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 63 deletions.
14 changes: 6 additions & 8 deletions .github/workflows/get-github-api-data.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
on:
workflow_dispatch:
inputs:
trigger:
description: 'Manual trigger for GitHub API data fetch'
required: true
default: 'true'
jobs:
my-job:
runs-on: ubuntu-latest
Expand All @@ -11,14 +16,7 @@ jobs:
GH_API_KEY: ${{ secrets.GH_API_KEY }}
run: |
cd website
node -e "
const { useGetRepos, useGetMembers, useGetCommits } = require('./src/routes/gh-data.tsx');
(async () => {
const platform = { env: { GH_API_KEY: process.env.GH_API_KEY } };
await useGetRepos({ platform });
await useGetMembers({ platform });
await useGetCommits({ platform });
})();
node -e 'import("./src/routes/gh-data").then(module => module.fetchAllData())'
"
- name: Deploy
run: npm run deploy
23 changes: 0 additions & 23 deletions website/.github/workflows/get-github-data.yml

This file was deleted.

72 changes: 40 additions & 32 deletions website/src/routes/gh-data.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { routeLoader$ } from "@builder.io/qwik-city";
import { Repo, Member, Commit } from "~/types";
import type { Repo, Member, Commit } from "~/types";
import { repos, contributors, kunaicoMembers } from "~/types/consts";

import { writeFile } from 'fs/promises';

export const useGetRepos = routeLoader$(async ({platform}) => {
export const getRepos = routeLoader$(async ({platform}) => {
try {
const responses = await Promise.all(
repos.map((repo) =>
Expand Down Expand Up @@ -32,36 +32,35 @@ export const useGetRepos = routeLoader$(async ({platform}) => {
}
});

export const useGetMembers = routeLoader$(async ({platform}) => {
try {
const responses = await Promise.all(
contributors.map((user) =>
fetch(`https://api.github.com/users/${user}`, {
headers: {
Accept: "application/json",
"User-Agent": "Cloudflare Worker",
Authorization: `Bearer ${platform.env?.GH_API_KEY}`,
},
}).then((res) => {
if (!res.ok) throw new Error(`HTTP error! status: ${res.status}`);
return res;
}),
),
);
const members = await Promise.all(responses.map((res) => res.json()));
// Write the members data to a JSON file
await writeFile('members.json', JSON.stringify(members, null, 2));
return members as Member[];
} catch (error) {
console.error("Error fetching members:", error);
return [] as Member[];
}
});
export const getMembers = routeLoader$(async ({platform}) => {
try {
const responses = await Promise.all(
contributors.map((user) =>
fetch(`https://api.github.com/users/${user}`, {
headers: {
Accept: "application/json",
"User-Agent": "Cloudflare Worker",
Authorization: `Bearer ${platform.env?.GH_API_KEY}`,
},
}).then((res) => {
if (!res.ok) throw new Error(`HTTP error! status: ${res.status}`);
return res;
}),
),
);
const members = await Promise.all(responses.map((res) => res.json()));

// Write the members data to a JSON file
await writeFile('members.json', JSON.stringify(members, null, 2));

return members as Member[];
} catch (error) {
console.error("Error fetching members:", error);
return [] as Member[];
}
});


export const useGetCommits = routeLoader$(async ({platform}) => {
export const getCommits = routeLoader$(async ({platform}) => {
try {
const responses = await Promise.all(
repos.flatMap((repo) =>
Expand Down Expand Up @@ -89,4 +88,13 @@ export const useGetCommits = routeLoader$(async ({platform}) => {
console.error("Error fetching commits:", error);
return [] as Commit[];
}
});
});

export const fetchAllData = async () => {
await Promise.all([
getRepos(),
getMembers(),
getCommits()
]);

};

0 comments on commit ae0db90

Please # to comment.