66 pull_request :
77 branches : [main, develop]
88
9- env :
10- FLUTTER_VERSION : ' 3.24.0'
11-
129jobs :
10+ setup-env :
11+ name : Setup Environment Variables
12+ runs-on : ubuntu-24.04
13+ outputs :
14+ flutter-version : ${{ steps.env.outputs.flutter-version }}
15+ node-version : ${{ steps.env.outputs.node-version }}
16+ steps :
17+ - name : 📚 Checkout repository
18+ uses : actions/checkout@v4
19+
20+ - name : 🔧 Load environment variables
21+ id : env
22+ run : |
23+ # Lire les variables depuis .env.example
24+ FLUTTER_VERSION=$(grep "FLUTTER_VERSION=" .env.example | cut -d '=' -f2)
25+ NODE_VERSION=$(grep "NODE_VERSION=" .env.example | cut -d '=' -f2)
26+
27+ echo "flutter-version=$FLUTTER_VERSION" >> $GITHUB_OUTPUT
28+ echo "node-version=$NODE_VERSION" >> $GITHUB_OUTPUT
29+
30+ echo "Flutter version: $FLUTTER_VERSION"
31+ echo "Node version: $NODE_VERSION"
32+
1333 lint-and-test :
1434 name : Lint & Test
1535 runs-on : ubuntu-24.04
36+ needs : setup-env
1637 timeout-minutes : 30
1738
1839 steps :
2546 - name : 🏗️ Setup Node.js
2647 uses : actions/setup-node@v4
2748 with :
28- node-version-file : ' .nvmrc '
49+ node-version : ${{ needs.setup-env.outputs.node-version }}
2950 cache : ' npm'
3051 cache-dependency-path : ' package-lock.json'
3152
3859 - name : 🏗️ Setup Flutter
3960 uses : subosito/flutter-action@v2
4061 with :
41- flutter-version : ${{ env.FLUTTER_VERSION }}
62+ flutter-version : ${{ needs.setup- env.outputs.flutter-version }}
4263 cache : true
4364
4465 - name : 📦 Get Flutter dependencies
6384 build :
6485 name : Build Applications
6586 runs-on : ubuntu-24.04
66- needs : lint-and-test
87+ needs : [setup-env, lint-and-test]
6788 if : github.event_name == 'push'
6889 timeout-minutes : 45
6990
80101 - name : 🏗️ Setup Flutter
81102 uses : subosito/flutter-action@v2
82103 with :
83- flutter-version : ${{ env.FLUTTER_VERSION }}
104+ flutter-version : ${{ needs.setup- env.outputs.flutter-version }}
84105 cache : true
85106
86107 - name : 📦 Get Flutter dependencies
@@ -108,6 +129,7 @@ jobs:
108129 security-scan :
109130 name : Security Scan
110131 runs-on : ubuntu-24.04
132+ needs : setup-env
111133 timeout-minutes : 15
112134
113135 steps :
@@ -117,7 +139,7 @@ jobs:
117139 - name : 🏗️ Setup Node.js
118140 uses : actions/setup-node@v4
119141 with :
120- node-version-file : ' .nvmrc '
142+ node-version : ${{ needs.setup-env.outputs.node-version }}
121143 cache : ' npm'
122144 cache-dependency-path : ' package-lock.json'
123145
@@ -130,7 +152,7 @@ jobs:
130152 - name : 🏗️ Setup Flutter
131153 uses : subosito/flutter-action@v2
132154 with :
133- flutter-version : ${{ env.FLUTTER_VERSION }}
155+ flutter-version : ${{ needs.setup- env.outputs.flutter-version }}
134156 cache : true
135157
136158 - name : 📦 Get Flutter dependencies
0 commit comments