Skip to content

Commit 68ae1b1

Browse files
committed
ci: add GitHub Actions (headers check, lint, test, build + artifact)
1 parent f8d4ee8 commit 68ae1b1

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

.github/workflows/ci.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Copyright (C) 2025 Dimitrios S. Sfyris
2+
# SPDX-License-Identifier: GPL-3.0-or-later
3+
name: CI
4+
5+
on:
6+
push:
7+
branches: [ main ]
8+
pull_request:
9+
branches: [ main ]
10+
paths-ignore:
11+
- "**/*.md"
12+
- "LICENSE"
13+
- ".gitignore"
14+
- ".husky/**"
15+
16+
permissions:
17+
contents: read
18+
19+
concurrency:
20+
group: ci-${{ github.ref }}
21+
cancel-in-progress: true
22+
23+
jobs:
24+
build-test:
25+
runs-on: ubuntu-latest
26+
27+
steps:
28+
- name: Checkout
29+
uses: actions/checkout@v4
30+
31+
- name: Setup Node
32+
uses: actions/setup-node@v4
33+
with:
34+
node-version: 20
35+
cache: npm
36+
37+
- name: Install dependencies
38+
run: npm ci || npm i
39+
40+
- name: Check SPDX headers
41+
run: node tools/copyright-headers.mjs --owner "Dimitrios S. Sfyris" --default-start 2025 --check
42+
43+
- name: Lint
44+
run: npm run lint -- --ext .js,.jsx
45+
46+
- name: Tests
47+
env:
48+
CI: true
49+
run: npm test -- --watchAll=false
50+
51+
- name: Build (CRA)
52+
env:
53+
CI: true
54+
REACT_APP_APP_NAME: AspectReact Store
55+
REACT_APP_DEFAULT_LOCALE: ${{ vars.REACT_APP_DEFAULT_LOCALE || 'en-US' }}
56+
REACT_APP_CURRENCY: ${{ vars.REACT_APP_CURRENCY || 'USD' }}
57+
REACT_APP_ENABLE_TOASTS: ${{ vars.REACT_APP_ENABLE_TOASTS || 'true' }}
58+
REACT_APP_AUTH_MODE: ${{ vars.REACT_APP_AUTH_MODE || 'none' }}
59+
REACT_APP_API_BASE_URL: ${{ vars.REACT_APP_API_BASE_URL || '' }}
60+
REACT_APP_AUTH0_DOMAIN: ${{ secrets.REACT_APP_AUTH0_DOMAIN }}
61+
REACT_APP_AUTH0_CLIENT_ID: ${{ secrets.REACT_APP_AUTH0_CLIENT_ID }}
62+
run: npm run build
63+
64+
- name: Upload production build
65+
uses: actions/upload-artifact@v4
66+
with:
67+
name: build
68+
path: build
69+
retention-days: 7

0 commit comments

Comments
 (0)