Compare commits

...

2 Commits

Author SHA1 Message Date
Laurent Bossavit 8ffad9346f ️(ci) take advantage of build-in caching in Node action
Run yarn install in install-front and subsequent jobs
2024-10-28 19:42:42 +01:00
Laurent Bossavit 5fc109b440 ️(ci) take advantage of build-in caching in Node action
Caching was ineffective on E2E setup, this simplifies caching logic
and will hopefully speed up the E2E testing part of the build
2024-10-28 09:45:51 +01:00
+28 -48
View File
@@ -63,28 +63,18 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
- name: Setup Node.js and cache
uses: actions/setup-node@v4
with:
node-version: '18.x'
# Per the documentation, this "caches global cache on the machine instead of node_modules"
# This means that a 'yarn install' is still required before using cache in subsequent jobs
cache: 'yarn'
cache-dependency-path: '**/package.json'
- name: Restore the frontend cache
uses: actions/cache@v4
id: front-node_modules
with:
path: 'src/frontend/**/node_modules'
key: front-node_modules-${{ hashFiles('src/frontend/**/yarn.lock') }}
- name: Checkout repository
run: cd src/frontend/ && yarn install
- name: Install dependencies
if: steps.front-node_modules.outputs.cache-hit != 'true'
run: cd src/frontend/ && yarn install --frozen-lockfile
- name: Cache install frontend
if: steps.front-node_modules.outputs.cache-hit != 'true'
uses: actions/cache@v4
with:
path: 'src/frontend/**/node_modules'
key: front-node_modules-${{ hashFiles('src/frontend/**/yarn.lock') }}
build-front:
runs-on: ubuntu-latest
@@ -93,21 +83,14 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- name: Restore the frontend cache
uses: actions/cache@v4
id: front-node_modules
- name: Retrieve cache
uses: actions/setup-node@v4
with:
path: 'src/frontend/**/node_modules'
key: front-node_modules-${{ hashFiles('src/frontend/**/yarn.lock') }}
cache: 'yarn'
cache-dependency-path: '**/package.json'
- name: Build CI App
run: cd src/frontend/ && yarn ci:build
- name: Cache build frontend
uses: actions/cache@v4
with:
path: src/frontend/apps/desk/out/
key: build-front-${{ github.run_id }}
run: cd src/frontend/ && yarn install && yarn ci:build
test-front:
runs-on: ubuntu-latest
@@ -116,15 +99,14 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- name: Restore the frontend cache
uses: actions/cache@v4
id: front-node_modules
- name: Retrieve cache
uses: actions/setup-node@v4
with:
path: 'src/frontend/**/node_modules'
key: front-node_modules-${{ hashFiles('src/frontend/**/yarn.lock') }}
cache: 'yarn'
cache-dependency-path: '**/package.json'
- name: Test App
run: cd src/frontend/ && yarn app:test
run: cd src/frontend/ && yarn install && yarn app:test
lint-front:
runs-on: ubuntu-latest
@@ -133,15 +115,14 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- name: Restore the frontend cache
uses: actions/cache@v4
id: front-node_modules
- name: Retrieve cache
uses: actions/setup-node@v4
with:
path: 'src/frontend/**/node_modules'
key: front-node_modules-${{ hashFiles('src/frontend/**/yarn.lock') }}
cache: 'yarn'
cache-dependency-path: '**/package.json'
- name: Check linting
run: cd src/frontend/ && yarn lint
run: cd src/frontend/ && yarn install && yarn lint
test-e2e:
runs-on: ubuntu-latest
@@ -156,6 +137,12 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- name: Retrieve cache
uses: actions/setup-node@v4
with:
cache: 'yarn'
cache-dependency-path: '**/package.json'
- name: Set services env variables
run: |
make create-env-files
@@ -167,13 +154,6 @@ jobs:
name: mails-templates
path: src/backend/core/templates/mail
- name: Restore the frontend cache
uses: actions/cache@v4
id: front-node_modules
with:
path: 'src/frontend/**/node_modules'
key: front-node_modules-${{ hashFiles('src/frontend/**/yarn.lock') }}
- name: Restore the build cache
uses: actions/cache@v4
id: cache-build