Skip to content

Commit 6a8c90a

Browse files
committed
chore: update dependencies and add devDependencies for improved development workflow
- Moved "korojscommands" to devDependencies - Added various development tools including Cypress, all-contributors-cli, and others - Created a new taskfiles directory to track subproject commits
1 parent 2071523 commit 6a8c90a

File tree

8 files changed

+10415
-4622
lines changed

8 files changed

+10415
-4622
lines changed

.github/workflows/ci.yml

Lines changed: 132 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,138 @@
1-
name: ci
2-
on: [push]
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main, develop]
6+
pull_request:
7+
branches: [main, develop]
8+
workflow_dispatch:
9+
10+
env:
11+
NODE_VERSION: 20
12+
ELECTRON_CACHE: ~/.cache/electron
13+
ELECTRON_BUILDER_CACHE: ~/.cache/electron-builder
14+
315
jobs:
4-
tests:
5-
runs-on: ubuntu-24.04
16+
lint:
17+
name: Lint & Quality Checks
18+
runs-on: ubuntu-latest
19+
timeout-minutes: 10
620
steps:
7-
- name: Checkout
21+
- name: Checkout code
822
uses: actions/checkout@v4
923
with:
1024
submodules: recursive
11-
- name: Install npm dependencies
12-
run: npm install
13-
- name: linter readme.md
25+
fetch-depth: 0
26+
27+
- name: Setup Node.js
28+
uses: actions/setup-node@v4
29+
with:
30+
node-version: ${{ env.NODE_VERSION }}
31+
cache: npm
32+
33+
- name: Install dependencies
34+
run: npm ci
35+
36+
- name: Lint markdown files
1437
run: npm run lint:markdown
38+
39+
- name: Check for duplicate code
40+
run: npx jscpd apps/
41+
42+
- name: License check
43+
run: npx license-checker --summary
44+
45+
test:
46+
name: Tests
47+
runs-on: ubuntu-latest
48+
timeout-minutes: 15
49+
needs: lint
50+
steps:
51+
- name: Checkout code
52+
uses: actions/checkout@v4
53+
with:
54+
submodules: recursive
55+
56+
- name: Setup Node.js
57+
uses: actions/setup-node@v4
58+
with:
59+
node-version: ${{ env.NODE_VERSION }}
60+
cache: npm
61+
62+
- name: Install dependencies
63+
run: npm ci
64+
65+
- name: Install app dependencies
66+
run: |
67+
cd apps
68+
npm ci
69+
70+
- name: Cache Electron binaries
71+
uses: actions/cache@v4
72+
with:
73+
path: ${{ env.ELECTRON_CACHE }}
74+
key: ${{ runner.os }}-electron-${{ hashFiles('apps/package-lock.json') }}
75+
restore-keys: |
76+
${{ runner.os }}-electron-
77+
78+
- name: Run Cypress tests
79+
uses: cypress-io/github-action@v6
80+
with:
81+
working-directory: .
82+
start: npm run start --prefix apps
83+
wait-on: 'http://localhost:3000'
84+
wait-on-timeout: 120
85+
browser: electron
86+
env:
87+
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
88+
89+
build:
90+
name: Build Electron App
91+
runs-on: ${{ matrix.os }}
92+
timeout-minutes: 20
93+
needs: [lint, test]
94+
strategy:
95+
matrix:
96+
os: [ubuntu-latest, windows-latest, macos-latest]
97+
steps:
98+
- name: Checkout code
99+
uses: actions/checkout@v4
100+
with:
101+
submodules: recursive
102+
103+
- name: Setup Node.js
104+
uses: actions/setup-node@v4
105+
with:
106+
node-version: ${{ env.NODE_VERSION }}
107+
cache: npm
108+
109+
- name: Install dependencies
110+
run: npm ci
111+
112+
- name: Install app dependencies
113+
run: |
114+
cd apps
115+
npm ci
116+
117+
- name: Cache Electron binaries
118+
uses: actions/cache@v4
119+
with:
120+
path: ${{ env.ELECTRON_CACHE }}
121+
key: ${{ runner.os }}-electron-${{ hashFiles('apps/package-lock.json') }}
122+
restore-keys: |
123+
${{ runner.os }}-electron-
124+
125+
- name: Build Electron app
126+
run: |
127+
cd apps
128+
npx electron-builder --publish=never
129+
env:
130+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
131+
132+
- name: Upload build artifacts
133+
uses: actions/upload-artifact@v4
134+
if: matrix.os == 'ubuntu-latest'
135+
with:
136+
name: electron-app-${{ github.sha }}
137+
path: apps/dist/
138+
retention-days: 7

.github/workflows/codeql.yml

Lines changed: 0 additions & 41 deletions
This file was deleted.

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "taskfiles"]
2+
path = taskfiles
3+
url = [email protected]:koromerzhin/taskfiles.git

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v22

Taskfile.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
version: 3
2+
3+
# Taskfile principal - Tâches globales et inclusions
4+
# Charge automatiquement les variables depuis le fichier .env s'il existe
5+
dotenv: [ '.env' ]
6+
7+
includes:
8+
docker: ./taskfiles/docker/Taskfile.yml
9+
utils: ./taskfiles/utils/Taskfile.yml
10+
env: ./taskfiles/env/Taskfile.yml
11+
nodejs: ./taskfiles/nodejs/Taskfile.yml
12+
download: ./taskfiles/download/Taskfile.yml
13+
14+
vars:
15+
# Variables avec valeurs par défaut depuis .env ou valeurs de fallback
16+
PROJECT_NAME: '{{.PROJECT_NAME | default "electron"}}'
17+
PROJECT_VERSION: '1.0.0'
18+
ENVIRONMENT: '{{.ENVIRONMENT | default "development"}}'
19+
STACK_NAME: '{{.STACK | default "electron"}}'
20+
FOLDERLAMPY: '{{.FOLDERLAMPY | default "electron"}}'
21+
22+
tasks:
23+
default:
24+
desc: "Affiche l'aide et les tâches disponibles"
25+
silent: true
26+
cmds:
27+
- echo "🛠️ Collection de Taskfiles pour le développement"
28+
- echo ""
29+
- echo "Tâches globales disponibles :"
30+
- task --list
31+
- echo ""
32+
33+
info:
34+
desc: "Affiche les informations du projet avec les variables d'environnement"
35+
silent: true
36+
cmds:
37+
- |
38+
echo "🛠️ {{.PROJECT_NAME}} v{{.PROJECT_VERSION}} - Collection de Taskfiles"
39+
echo "Environnement: {{.ENVIRONMENT}}"
40+
41+
help:
42+
desc: "Affiche l'aide détaillée"
43+
aliases: [ h ]
44+
cmds:
45+
- task: default

0 commit comments

Comments
 (0)