build and test ci pipeline #26
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: NASA Project CI | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
build: | |
env: | |
CI: true | |
MONGO_URL: mongodb://localhost/nasa | |
strategy: | |
matrix: | |
node-version: ['20.x'] | |
mongodb-version: ['5.0'] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Use Node.js version ${{ matrix.node-version }} | |
uses: actions/setup-node@v2 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Use MongoDB from GitHub actions | |
uses: supercharge/[email protected] | |
with: | |
mongodb-version: ${{ matrix.mongodb-version }} | |
- name: Clean and Install server dependencies | |
run: | | |
rm -rf server/node_modules | |
npm install --prefix server | |
- name: Install client dependencies | |
run: npm install --prefix client | |
- name: Build client | |
run: npm run build --prefix client | |
- name: Set Jest permissions | |
run: chmod +x server/node_modules/.bin/jest | |
- name: Run Server Tests | |
run: npm test --prefix server | |
- name: Run Client Tests | |
run: npm test --prefix client | |