4.47.0 #754
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Master branch tests | |
on: | |
push: | |
branches: [master] | |
jobs: | |
test-front: | |
name: Front test | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: ⬇️ Checkout Gladys code | |
uses: actions/checkout@v3 | |
- name: 💽 Setup nodejs | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: 'front/package.json' | |
cache: 'npm' | |
cache-dependency-path: '**/package-lock.json' | |
- name: 📦 Install Global NPM Packages | |
run: | | |
sudo npm install typescript node-gyp npm@latest -g | |
- name: 📦 Install NPM front packages | |
working-directory: ./front | |
run: | | |
npm ci | |
- name: 🧐 Prettier check | |
working-directory: ./front | |
run: | | |
npm run prettier-check | |
- name: 👕 ESlint | |
working-directory: ./front | |
run: | | |
npm run eslint | |
- name: 🌐 Integration comparison | |
working-directory: ./front | |
run: | | |
npm run compare-translations | |
build-front: | |
name: Front build | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: ⬇️ Checkout code | |
uses: actions/checkout@v3 | |
- name: 💽 Setup nodejs | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: 'front/package.json' | |
cache: 'npm' | |
cache-dependency-path: '**/package-lock.json' | |
- name: 📦 Install NPM front packages | |
working-directory: ./front | |
run: | | |
npm ci | |
- name: 🏗️ Build front | |
working-directory: ./front | |
run: | | |
npm run build-with-stats | |
- name: Upload bundle ci | |
working-directory: ./front | |
run: npx relative-ci-agent | |
env: | |
RELATIVE_CI_KEY: ${{ secrets.RELATIVE_CI_KEY }} | |
- name: ↗️ Upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: static | |
path: front/build | |
test-server: | |
name: Server test | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: ⬇️ Checkout Gladys code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 2 | |
- name: 💽 Setup nodejs | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: 'server/package.json' | |
cache: 'npm' | |
cache-dependency-path: '**/package-lock.json' | |
- name: 💽 Install System Dependencies | |
run: | | |
sudo apt update | |
sudo apt-get install -y libudev-dev sqlite3 openssl python-is-python3 | |
- name: 📦 Install Global NPM Packages | |
run: | | |
sudo npm install typescript node-gyp npm@latest -g | |
- name: 📦 Install NPM server packages | |
working-directory: ./server | |
run: | | |
npm ci | |
- name: 🧐 Prettier check | |
working-directory: ./server | |
run: | | |
npm run prettier-check | |
- name: 👕 ESlint | |
working-directory: ./server | |
run: | | |
npm run eslint | |
- name: ✅ Test with coverage | |
working-directory: ./server | |
run: | | |
npm run coverage | |
- name: 🔐 Dependencies security audit | |
working-directory: ./server | |
run: npm audit --production --audit-level=critical || true | |
- name: 📄 Codecov report upload | |
uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: true | |
token: 08cd0d46-0291-42ed-b352-50924cb6cca6 | |
## Yes, we are storing the CODECOV token in plain text here and not as a secret. | |
## This is because Codecov report upload keeps failing because of a Github Action rate limit | |
## And as we are an open source project, we need forks to be able to upload reports as well, so | |
## we followed the recommandatiom from CodeCov: | |
## https://community.codecov.com/t/upload-issues-unable-to-locate-build-via-github-actions-api/3954 | |
## It's not that dangerous to do it, and it's the best tradeoff we could find |