name: CI Zod on: pull_request: branches: - '*' push: branches: - dev - main env: NODE_ENV: development TAG: dev jobs: install_dependencies: name: Install Dependencies runs-on: ubuntu-latest steps: - name: Checkout Code uses: actions/checkout@v3 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: 22.4.1 - name: Install Dependencies run: npm install - name: Cache Node Modules uses: actions/cache@v3 with: path: node_modules key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node_modules- run_tests: name: Run Tests runs-on: ubuntu-latest needs: install_dependencies steps: - name: Checkout Code uses: actions/checkout@v3 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: 22.4.1 - name: Install Dependencies run: npm install - name: Run Lint run: npm run lint - name: Run Tests with Coverage run: npm run test:cov build_app: name: Build Application runs-on: ubuntu-latest needs: run_tests steps: - name: Checkout Code uses: actions/checkout@v3 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: 22.4.1 - name: Install Dependencies run: npm install - name: Build Application run: npm run build - name: Upload Build Artifacts uses: actions/upload-artifact@v3 with: name: dist path: dist/