name: CI Pipeline for the Backend and Frontend on: push: env: NODE_VERSION: 16.15.0 jobs: backend: strategy: matrix: flavor: ['dev', 'prod'] runs-on: 'ubuntu-latest' name: Backend (${{ matrix.flavor }}) steps: - name: Checkout uses: actions/checkout@v3 with: path: ${{ matrix.flavor }} - name: Setup Node uses: actions/setup-node@v3 with: node-version: ${{ env.NODE_VERSION }} registry-url: 'https://registry.npmjs.org' - name: Install if: ${{ matrix.flavor == 'dev'}} run: npm install working-directory: ${{ matrix.flavor }}/backend - name: Install (Prod dependencies only) if: ${{ matrix.flavor == 'prod'}} run: npm install --prod working-directory: ${{ matrix.flavor }}/backend - name: Lint if: ${{ matrix.flavor == 'dev'}} run: npm run lint working-directory: ${{ matrix.flavor }}/backend # - name: Test # run: npm run test - name: Build run: npm run build working-directory: ${{ matrix.flavor }}/backend frontend: strategy: matrix: flavor: ['dev', 'prod'] runs-on: 'ubuntu-latest' name: Frontend (${{ matrix.flavor }}) steps: - name: Checkout uses: actions/checkout@v3 with: path: ${{ matrix.flavor }} - name: Setup Node uses: actions/setup-node@v3 with: node-version: ${{ env.NODE_VERSION }} registry-url: 'https://registry.npmjs.org' - name: Install (Prod dependencies only) run: npm install if: ${{ matrix.flavor == 'prod'}} working-directory: ${{ matrix.flavor }}/frontend - name: Install if: ${{ matrix.flavor == 'dev'}} run: npm install working-directory: ${{ matrix.flavor }}/frontend - name: Lint run: npm run lint working-directory: ${{ matrix.flavor }}/frontend # - name: Test # run: npm run test - name: Build run: npm run build working-directory: ${{ matrix.flavor }}/frontend