Merge pull request #372 from cobbler/feature/group-actions #542
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: Tests | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
# Always use latest Node.js version! | |
jobs: | |
unit-typescript-xmlrpc: | |
runs-on: ubuntu-latest | |
container: | |
image: timbru31/node-chrome | |
env: | |
CHROME_BIN: /usr/bin/google-chrome | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: NPM CI | |
run: npm ci | |
- name: Build project typescript-xmlrpc | |
run: npm run build typescript-xmlrpc | |
- name: Test Project | |
run: npm run test:ci typescript-xmlrpc --code-coverage | |
# https://github.com/actions/upload-artifact | |
- name: Upload coverage report to GH artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-report-typescript-xmlrpc | |
path: coverage/typescript-xmlrpc/lcov.info | |
if-no-files-found: error | |
unit-cobbler-api: | |
runs-on: ubuntu-latest | |
container: | |
image: timbru31/node-chrome | |
env: | |
CHROME_BIN: /usr/bin/google-chrome | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: NPM CI | |
run: npm ci | |
- name: Build sibling project typescript-xmlrpc | |
run: npm run build typescript-xmlrpc | |
- name: Build project cobbler-api | |
run: npm run build cobbler-api | |
- name: Test Project | |
run: npm run test:ci cobbler-api --code-coverage | |
# https://github.com/actions/upload-artifact | |
- name: Upload coverage report to GH artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-report-cobbler-api | |
path: coverage/cobbler-api/lcov.info | |
if-no-files-found: error | |
unit-cobbler-frontend: | |
runs-on: ubuntu-latest | |
container: | |
image: timbru31/node-chrome | |
env: | |
CHROME_BIN: /usr/bin/google-chrome | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: NPM CI | |
run: npm ci | |
- name: Build sibling project typescript-xmlrpc | |
run: npm run build typescript-xmlrpc | |
- name: Build sibling project cobbler-api | |
run: npm run build cobbler-api | |
- name: Build project | |
run: npm run build cobbler-frontend | |
- name: Test Project | |
run: npm run test:ci cobbler-frontend --code-coverage | |
# https://github.com/actions/upload-artifact | |
- name: Upload coverage report to GH artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-report-cobbler-frontend | |
path: coverage/cobbler-frontend/lcov.info | |
if-no-files-found: error | |
e2e-cobbler-frontend: | |
if: ${{ false }} # disable for now; we don't have e2e tests currently | |
runs-on: ubuntu-latest | |
container: | |
image: timbru31/node-chrome | |
env: | |
CHROME_BIN: /usr/bin/google-chrome | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: NPM CI | |
run: npm ci | |
- name: Build sibling project typscript-xmlrpc | |
run: npm run build typescript-xmlrpc | |
- name: Build sibling project cobbler-api | |
run: npm run build cobbler-api | |
- name: Build project | |
run: npm run build cobbler-frontend | |
- name: E2E Tests | |
run: npm run e2e -- --configuration=ci |