Skip to content

Commit 96a1856

Browse files
authored
update release (#122)
Merging the latest `master` into `release` in order to create a new release.
2 parents d982bef + b64d601 commit 96a1856

321 files changed

Lines changed: 13927 additions & 30708 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CONTRIBUTING.md

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@
22

33
## Local Development
44

5-
To run and test GitHub-Stats-Extended, you need to follow a few simple steps:
5+
To set up the project GitHub-Stats-Extended locally, run the following commands:
66

7-
1. create [your own deployment](../docs/deploy.md)
8-
2. optional: add an SQL database; by using e.g. the ["Nile" integration](https://vercel.com/marketplace/nile) or by manually setting the environment variable `POSTGRES_URL`
9-
3. optional: [create your own OAuth App](https://github.com/settings/developers) and set environment variables `OAUTH_REDIRECT_URI`, `OAUTH_CLIENT_ID` and `OAUTH_CLIENT_SECRET` on Vercel accordingly
10-
4. optional: in addition to the Vercel project based on the `backend` folder, create a second project based on the `frontend/frontend` folder. No environment variables needed.
7+
```bash
8+
./vercel-preparation.sh
9+
pnpm install
10+
pnpm --filter frontend run build
11+
```
12+
13+
The easiest way to run and test the project is to deploy it to Vercel as described in the [deployment guide](../docs/deploy.md).
1114

1215
## Themes Contribution
1316

@@ -37,9 +40,9 @@ We use GitHub issues to track public bugs. Report a bug by [opening a new issue]
3740

3841
> **Ans:** Please read all the related issues/comments before opening any issues regarding language card stats:
3942
>
40-
> - <https://github.com/anuraghazra/github-readme-stats/issues/136#issuecomment-665164174>
43+
> - <https://github.com/anuraghazra/github-readme-stats/issues/136#issuecomment-665164174>
4144
>
42-
> - <https://github.com/anuraghazra/github-readme-stats/issues/136#issuecomment-665172181>
45+
> - <https://github.com/anuraghazra/github-readme-stats/issues/136#issuecomment-665172181>
4346
4447
**Q:** How to count private stats?
4548

@@ -49,6 +52,6 @@ We use GitHub issues to track public bugs. Report a bug by [opening a new issue]
4952

5053
**Great Feature Requests** tend to have:
5154

52-
- A quick idea summary
53-
- What & why do you want to add the specific feature
54-
- Additional context like images, links to resources to implement the feature, etc.
55+
- A quick idea summary
56+
- What & why do you want to add the specific feature
57+
- Additional context like images, links to resources to implement the feature, etc.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Setup Node.js + PNPM and install Dependencies
2+
description: |
3+
This is a composite GitHub Action that:
4+
- Sets up pnpm package manager
5+
- Configures Node.js environment
6+
- Installs project dependencies with caching
7+
8+
inputs:
9+
node-version:
10+
description: "Explicit node version. Otherwise fallback reading `.nvmrc`"
11+
12+
runs:
13+
using: composite
14+
15+
steps:
16+
- name: Install pnpm
17+
uses: pnpm/action-setup@v4
18+
19+
- name: Setup Node.js (via input)
20+
if: ${{ inputs.node-version }}
21+
uses: actions/setup-node@v6
22+
with:
23+
node-version: ${{ inputs.node-version }}
24+
cache: "pnpm"
25+
registry-url: "https://registry.npmjs.org"
26+
27+
- name: Setup Node.js (via .nvmrc)
28+
if: ${{ !inputs.node-version }}
29+
uses: actions/setup-node@v6
30+
with:
31+
node-version-file: ".nvmrc"
32+
cache: "pnpm"
33+
registry-url: "https://registry.npmjs.org"
34+
35+
- name: Install Dependencies
36+
shell: bash
37+
run: pnpm install --frozen-lockfile

.github/dependabot.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
version: 2
2+
updates:
3+
# Maintain dependencies for npm
4+
- package-ecosystem: npm
5+
directory: "/"
6+
schedule:
7+
interval: cron
8+
cronjob: every day at 5am
9+
open-pull-requests-limit: 10
10+
commit-message:
11+
prefix: "build(deps)"
12+
prefix-development: "build(deps-dev)"
13+
cooldown:
14+
default-days: 7
15+
ignore:
16+
- dependency-name: "@types/node"
17+
update-types: ["version-update:semver-major"]
18+
19+
# Maintain dependencies for GitHub Actions
20+
- package-ecosystem: github-actions
21+
directory: "/"
22+
schedule:
23+
interval: cron
24+
cronjob: every day at 5am
25+
open-pull-requests-limit: 10
26+
commit-message:
27+
prefix: "ci(deps)"
28+
prefix-development: "ci(deps-dev)"
29+
cooldown:
30+
default-days: 7
31+
32+
# Maintain dependencies for Devcontainers
33+
- package-ecosystem: devcontainers
34+
directory: "/"
35+
schedule:
36+
interval: cron
37+
cronjob: every day at 5am
38+
open-pull-requests-limit: 10
39+
commit-message:
40+
prefix: "build(deps)"
41+
prefix-development: "build(deps-dev)"
42+
cooldown:
43+
default-days: 7

.github/workflows/ci.yml

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
name: CI
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- master
8+
pull_request:
9+
branches:
10+
- master
11+
12+
concurrency:
13+
group: "${{ github.workflow }}-${{ github.head_ref }}"
14+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
15+
16+
permissions: {}
17+
18+
jobs:
19+
build-and-test:
20+
name: Build and test ${{ matrix.node }} on ${{ matrix.os }}
21+
22+
strategy:
23+
fail-fast: false
24+
matrix:
25+
node: [24]
26+
os: [ubuntu-latest, macos-latest]
27+
runs-on: ${{ matrix.os }}
28+
29+
permissions:
30+
contents: read
31+
32+
steps:
33+
- name: Checkout code
34+
uses: actions/checkout@v6
35+
36+
- name: Run vercel-preparation.sh
37+
run: |
38+
chmod +x ./vercel-preparation.sh
39+
./vercel-preparation.sh
40+
41+
- name: Install Dependencies
42+
uses: ./.github/actions/install-dependencies
43+
with:
44+
node-version: ${{ matrix.node }}
45+
46+
- name: Build frontend
47+
run: pnpm --filter frontend run build
48+
49+
- name: Run frontend tests
50+
run: pnpm --filter frontend run test
51+
52+
- name: Run backend tests
53+
run: pnpm --filter github-readme-stats run test
54+
55+
frontend-test-e2e:
56+
name: Frontend E2E test
57+
58+
permissions:
59+
contents: read
60+
61+
timeout-minutes: 60
62+
63+
runs-on: ubuntu-latest
64+
65+
steps:
66+
- name: Checkout code
67+
uses: actions/checkout@v6
68+
69+
- name: Install Dependencies
70+
uses: ./.github/actions/install-dependencies
71+
72+
- name: Run vercel-preparation.sh
73+
run: |
74+
chmod +x ./vercel-preparation.sh
75+
./vercel-preparation.sh
76+
77+
- name: Install Playwright Browsers
78+
run: pnpm exec playwright install --with-deps
79+
80+
- name: Run Playwright tests
81+
run: pnpm --filter frontend run test:e2e
82+
83+
code-checks:
84+
name: Code checks
85+
86+
runs-on: ubuntu-latest
87+
88+
permissions:
89+
contents: read
90+
91+
steps:
92+
- name: Checkout code
93+
uses: actions/checkout@v6
94+
95+
# Heads up!
96+
#
97+
# 1. Execution of this script is needed to resolve `.vercel` folder from `apps/frontend/src/components/Card/SVG.js`
98+
# 2. This scripts removes `apps/backend/node_modules` breaking ESLint’s module resolution.
99+
# Dependency installation must occur after running ./vercel-preparation.sh.
100+
- name: Run vercel-preparation.sh
101+
run: |
102+
chmod +x ./vercel-preparation.sh
103+
./vercel-preparation.sh
104+
105+
- name: Install Dependencies
106+
uses: ./.github/actions/install-dependencies
107+
108+
- name: Format
109+
run: pnpm run format:check
110+
111+
- name: Lint
112+
run: pnpm run lint
113+
114+
- name: Lint (knip)
115+
run: pnpm run lint:knip
116+
117+
- name: Typecheck
118+
run: pnpm run typecheck
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Generate Theme Readme
2+
on:
3+
push:
4+
branches:
5+
- master
6+
paths:
7+
- "apps/backend/themes/index.js"
8+
workflow_dispatch:
9+
10+
permissions: {}
11+
12+
jobs:
13+
generate-theme-doc:
14+
runs-on: ubuntu-latest
15+
name: Generate theme doc
16+
17+
permissions:
18+
actions: read
19+
checks: read
20+
contents: write
21+
deployments: read
22+
issues: read
23+
discussions: read
24+
packages: read
25+
pages: read
26+
pull-requests: write
27+
repository-projects: read
28+
security-events: read
29+
statuses: read
30+
31+
steps:
32+
- name: Checkout code
33+
uses: actions/checkout@v6
34+
35+
- name: Install Dependencies
36+
uses: ./.github/actions/install-dependencies
37+
38+
- name: Generate readme
39+
run: |
40+
pnpm --filter github-readme-stats run theme-readme-gen
41+
42+
- name: Create Pull Request if themes README has changed
43+
uses: peter-evans/create-pull-request@v8
44+
with:
45+
commit-message: "feat(backend): update themes README"
46+
branch: "update_themes_readme/patch"
47+
delete-branch: true
48+
title: Update themes README
49+
body: "The
50+
[generate-theme-doc](https://github.com/stats-organization/github-stats-extended/actions/workflows/generate-theme-doc.yml)
51+
action found new/updated languages in the [upstream languages JSON
52+
file](https://raw.githubusercontent.com/github/linguist/master/lib/linguist/languages.yml)."
53+
labels: "ci"

.github/workflows/repeat-recent-requests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
steps:
2121
- name: Make Request
2222
id: myRequest
23-
uses: fjogeleit/http-request-action@v1
23+
uses: fjogeleit/http-request-action@v2
2424
with:
2525
url: "https://github-stats-extended.vercel.app/api/repeat-recent"
2626
method: "POST"
Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
name: Update supported languages
22
on:
3+
workflow_dispatch:
34
schedule:
45
# ┌───────────── minute (0 - 59)
56
# │ ┌───────────── hour (0 - 23)
@@ -27,41 +28,33 @@ permissions:
2728
statuses: read
2829

2930
jobs:
30-
updateLanguages:
31-
if: github.repository == 'anuraghazra/github-readme-stats'
31+
update-languages:
32+
if: |
33+
github.repository == 'anuraghazra/github-readme-stats' ||
34+
github.repository == 'stats-organization/github-readme-stats' ||
35+
github.repository == 'stats-organization/github-stats-extended'
3236
name: Update supported languages
3337
runs-on: ubuntu-latest
34-
strategy:
35-
matrix:
36-
node-version: [22.x]
3738

3839
steps:
39-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
40+
- name: Checkout code
41+
uses: actions/checkout@v6
4042

41-
- name: Setup Node
42-
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
43-
with:
44-
node-version: ${{ matrix.node-version }}
45-
cache: npm
46-
47-
- name: Install dependencies
48-
run: npm ci
49-
env:
50-
CI: true
43+
- name: Install Dependencies
44+
uses: ./.github/actions/install-dependencies
5145

5246
- name: Run update-languages-json.js script
53-
run: npm run generate-langs-json
47+
run: pnpm --filter github-readme-stats run generate-langs-json
5448

5549
- name: Create Pull Request if upstream language file is changed
56-
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
50+
uses: peter-evans/create-pull-request@v8
5751
with:
58-
commit-message: "refactor: update languages JSON"
52+
commit-message: "feat(backend): update languages JSON"
5953
branch: "update_langs/patch"
6054
delete-branch: true
6155
title: Update languages JSON
62-
body:
63-
"The
64-
[update-langs](https://github.com/anuraghazra/github-readme-stats/actions/workflows/update-langs.yaml)
56+
body: "The
57+
[update-langs](https://github.com/stats-organization/github-stats-extended/actions/workflows/update-langs.yml)
6558
action found new/updated languages in the [upstream languages JSON
6659
file](https://raw.githubusercontent.com/github/linguist/master/lib/linguist/languages.yml)."
67-
labels: "ci, lang-card"
60+
labels: "ci"

0 commit comments

Comments
 (0)