Skip to content

Commit b8966a9

Browse files
authored
Merge branch 'main' into 2146-feature-implement-a-data-cap
2 parents 9c723d6 + d8d31be commit b8966a9

File tree

112 files changed

+26321
-2265
lines changed

Some content is hidden

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

112 files changed

+26321
-2265
lines changed

.devcontainer/devcontainer.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// https://aka.ms/devcontainer.json
2+
{
3+
"name": "Existing Docker Compose (Extend)",
4+
"dockerComposeFile": [
5+
"../docker-compose.yml"
6+
],
7+
"service": "laravel.test",
8+
"workspaceFolder": "/var/www/html",
9+
"customizations": {
10+
"vscode": {
11+
"extensions": [
12+
"aaron-bond.better-comments",
13+
"austenc.laravel-blade-spacer",
14+
"bmewburn.vscode-intelephense-client",
15+
"laravel.vscode-laravel",
16+
"mikestead.dotenv",
17+
"streetsidesoftware.code-spell-checker"
18+
],
19+
"settings": {}
20+
}
21+
},
22+
"remoteUser": "sail",
23+
"postCreateCommand": "chown -R 1000:1000 /var/www/html 2>/dev/null || true"
24+
// "forwardPorts": [],
25+
// "runServices": [],
26+
// "shutdownAction": "none",
27+
}

.env.ci

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
APP_NAME="Speedtest Tracker"
2+
APP_KEY=

.github/ISSUE_TEMPLATE/BUG_REPORT_FORM.yml renamed to .github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
name: Bug Report
22
description: Use this template to report a bug or issue.
3-
title: "[Bug] "
4-
labels: ["bug", "needs review"]
3+
title: "[Question] "
4+
labels: ["question", "needs review"]
55
body:
66
- type: markdown
77
attributes:
88
value: |
9-
Thanks for taking the time to fill out this bug report! You should only use this form for issues, to request a change or feature use the [feature request form](https://github.com/alexjustesen/speedtest-tracker).
9+
Thanks for taking the time to report this issue! We appreciate your help in improving the project. If this report is confirmed as a bug, we’ll update its type accordingly.
10+
11+
Please note:
12+
- For **feature requests or changes**, use the [feature request form](https://github.com/alexjustesen/speedtest-tracker/issues/new?template=feature_request.yml).
13+
- For **general questions**, **setup or configuration help**, or if you’re not sure this is a bug, please use **[GitHub Discussions](https://github.com/alexjustesen/speedtest-tracker/discussions)** instead.
1014
- type: checkboxes
1115
attributes:
1216
label: Pre-work

.github/dependabot.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ updates:
33
- package-ecosystem: "github-actions"
44
directory: "/"
55
schedule:
6-
interval: "weekly"
6+
interval: "monthly"
77
day: "thursday"
88
labels:
9-
- "😑 dependencies"
10-
reviewers:
11-
- "alexjustesen"
9+
- "dependencies"
1210
commit-message:
1311
prefix: "gh actions"

.github/workflows/ci.yml

Lines changed: 216 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,217 @@ jobs:
2121
with:
2222
args: lint --using=pint -v
2323

24-
test-app:
24+
test-mariadb-11:
25+
needs: lint-app
26+
runs-on: ubuntu-24.04
27+
services:
28+
mariadb:
29+
image: mariadb:11
30+
env:
31+
MARIADB_ROOT_PASSWORD: password
32+
MARIADB_DATABASE: testing
33+
ports:
34+
- 3306:3306
35+
options: --health-cmd="healthcheck.sh --connect --innodb_initialized" --health-interval=10s --health-timeout=5s --health-retries=3
36+
steps:
37+
- name: Checkout
38+
uses: actions/checkout@v4
39+
40+
- name: Setup PHP
41+
uses: shivammathur/setup-php@v2
42+
with:
43+
php-version: '8.3'
44+
45+
- name: Install Dependencies
46+
run: |
47+
composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
48+
npm ci && npm run build
49+
50+
- name: Copy Environment File
51+
run: cp .env.ci .env
52+
53+
- name: Generate App Key
54+
run: php artisan key:generate --quiet
55+
56+
- name: Run Tests
57+
run: php artisan test
58+
env:
59+
DB_CONNECTION: mysql
60+
DB_HOST: 127.0.0.1
61+
DB_PORT: 3306
62+
DB_DATABASE: testing
63+
DB_USERNAME: root
64+
DB_PASSWORD: password
65+
66+
test-mysql-8:
67+
needs: lint-app
68+
runs-on: ubuntu-24.04
69+
services:
70+
mysql:
71+
image: mysql:8
72+
env:
73+
MYSQL_ROOT_PASSWORD: password
74+
MYSQL_DATABASE: testing
75+
ports:
76+
- 3306:3306
77+
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
78+
steps:
79+
- name: Checkout
80+
uses: actions/checkout@v4
81+
82+
- name: Setup PHP
83+
uses: shivammathur/setup-php@v2
84+
with:
85+
php-version: '8.3'
86+
87+
- name: Install Dependencies
88+
run: |
89+
composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
90+
npm ci && npm run build
91+
92+
- name: Copy Environment File
93+
run: cp .env.ci .env
94+
95+
- name: Generate App Key
96+
run: php artisan key:generate --quiet
97+
98+
- name: Run Tests
99+
run: php artisan test
100+
env:
101+
DB_CONNECTION: mysql
102+
DB_HOST: 127.0.0.1
103+
DB_PORT: 3306
104+
DB_DATABASE: testing
105+
DB_USERNAME: root
106+
DB_PASSWORD: password
107+
108+
test-postgres-15:
109+
needs: lint-app
110+
runs-on: ubuntu-24.04
111+
services:
112+
postgres:
113+
image: postgres:15
114+
env:
115+
POSTGRES_PASSWORD: password
116+
POSTGRES_DB: testing
117+
ports:
118+
- 5432:5432
119+
options: --health-cmd="pg_isready -U postgres" --health-interval=10s --health-timeout=5s --health-retries=3
120+
steps:
121+
- name: Checkout
122+
uses: actions/checkout@v4
123+
124+
- name: Setup PHP
125+
uses: shivammathur/setup-php@v2
126+
with:
127+
php-version: '8.3'
128+
129+
- name: Install Dependencies
130+
run: |
131+
composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
132+
npm ci && npm run build
133+
134+
- name: Copy Environment File
135+
run: cp .env.ci .env
136+
137+
- name: Generate App Key
138+
run: php artisan key:generate --quiet
139+
140+
- name: Run Tests
141+
run: php artisan test
142+
env:
143+
DB_CONNECTION: pgsql
144+
DB_HOST: 127.0.0.1
145+
DB_PORT: 5432
146+
DB_DATABASE: testing
147+
DB_USERNAME: postgres
148+
DB_PASSWORD: password
149+
150+
test-postgres-16:
151+
needs: lint-app
152+
runs-on: ubuntu-24.04
153+
services:
154+
postgres:
155+
image: postgres:16
156+
env:
157+
POSTGRES_PASSWORD: password
158+
POSTGRES_DB: testing
159+
ports:
160+
- 5432:5432
161+
options: --health-cmd="pg_isready -U postgres" --health-interval=10s --health-timeout=5s --health-retries=3
162+
steps:
163+
- name: Checkout
164+
uses: actions/checkout@v4
165+
166+
- name: Setup PHP
167+
uses: shivammathur/setup-php@v2
168+
with:
169+
php-version: '8.3'
170+
171+
- name: Install Dependencies
172+
run: |
173+
composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
174+
npm ci && npm run build
175+
176+
- name: Copy Environment File
177+
run: cp .env.ci .env
178+
179+
- name: Generate App Key
180+
run: php artisan key:generate --quiet
181+
182+
- name: Run Tests
183+
run: php artisan test
184+
env:
185+
DB_CONNECTION: pgsql
186+
DB_HOST: 127.0.0.1
187+
DB_PORT: 5432
188+
DB_DATABASE: testing
189+
DB_USERNAME: postgres
190+
DB_PASSWORD: password
191+
192+
test-postgres-17:
193+
needs: lint-app
194+
runs-on: ubuntu-24.04
195+
services:
196+
postgres:
197+
image: postgres:17
198+
env:
199+
POSTGRES_PASSWORD: password
200+
POSTGRES_DB: testing
201+
ports:
202+
- 5432:5432
203+
options: --health-cmd="pg_isready -U postgres" --health-interval=10s --health-timeout=5s --health-retries=3
204+
steps:
205+
- name: Checkout
206+
uses: actions/checkout@v4
207+
208+
- name: Setup PHP
209+
uses: shivammathur/setup-php@v2
210+
with:
211+
php-version: '8.3'
212+
213+
- name: Install Dependencies
214+
run: |
215+
composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
216+
npm ci && npm run build
217+
218+
- name: Copy Environment File
219+
run: cp .env.ci .env
220+
221+
- name: Generate App Key
222+
run: php artisan key:generate --quiet
223+
224+
- name: Run Tests
225+
run: php artisan test
226+
env:
227+
DB_CONNECTION: pgsql
228+
DB_HOST: 127.0.0.1
229+
DB_PORT: 5432
230+
DB_DATABASE: testing
231+
DB_USERNAME: postgres
232+
DB_PASSWORD: password
233+
234+
test-sqlite:
25235
needs: lint-app
26236
runs-on: ubuntu-24.04
27237
steps:
@@ -35,18 +245,20 @@ jobs:
35245

36246
- name: Create SQLite Database
37247
run: |
38-
touch database/testing.sqlite
248+
touch database/database.sqlite
39249
40250
- name: Install Dependencies
41251
run: |
42252
composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
43253
npm ci && npm run build
44254
45255
- name: Copy Environment File
46-
run: cp .env.example .env
256+
run: cp .env.ci .env
47257

48258
- name: Generate App Key
49259
run: php artisan key:generate --quiet
50260

51261
- name: Run Tests
52-
run: php artisan test --parallel
262+
run: php artisan test
263+
env:
264+
DB_CONNECTION: sqlite
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: 'Issue and PR Maintenance'
2+
3+
on:
4+
schedule:
5+
- cron: '0 0 * * *' # runs at midnight UTC
6+
workflow_dispatch:
7+
8+
permissions:
9+
issues: write
10+
pull-requests: write
11+
12+
jobs:
13+
lock-inactive:
14+
name: Lock Inactive Issues
15+
runs-on: ubuntu-24.04
16+
steps:
17+
- uses: klaasnicolaas/action-inactivity-lock@v1.1.3
18+
id: lock
19+
with:
20+
days-inactive-issues: 14
21+
lock-reason-issues: ""
22+
# Action can not skip PRs, set it to 100 years to cover it.
23+
days-inactive-prs: 36524
24+
lock-reason-prs: ""
25+
26+
close-stale:
27+
name: Close Stale Issues
28+
runs-on: ubuntu-24.04
29+
steps:
30+
- name: Close Stale Issues
31+
uses: actions/stale@v9
32+
with:
33+
repo-token: ${{ secrets.GITHUB_TOKEN }}
34+
35+
# Messaging
36+
stale-issue-message: >
37+
👋 This issue has been automatically marked as stale due to inactivity.
38+
If this issue is still relevant, please comment to keep it open.
39+
Without activity, it will be closed in 7 days.
40+
41+
close-issue-message: >
42+
🔒 This issue has been automatically closed due to prolonged inactivity.
43+
Feel free to open a new issue if you have further questions or concerns.
44+
45+
# Timing
46+
days-before-issue-stale: 14
47+
days-before-issue-close: 7
48+
49+
# Labels
50+
stale-issue-label: 'stale'
51+
remove-stale-when-updated: true
52+
only-issue-labels: 'question'
53+
exempt-issue-labels: >
54+
bug, chore, confirmed, dependencies, help wanted,
55+
documentation, duplicate, feature, good first issue,
56+
needs review, wontfix
57+
58+
# Exemptions
59+
exempt-assignees: true
60+
exempt-milestones: true

0 commit comments

Comments
 (0)