name: Run Tests on: pull_request: branches: - main - dev jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' - name: Copy config file run: cp config/config.example.yml config/config.yml - name: Install dependencies run: npm ci - name: Generate database migrations run: npm run db:sqlite:generate - name: Apply database migrations run: npm run db:sqlite:push - name: Start app in background run: nohup npm run dev & - name: Wait for app availability run: | for i in {1..5}; do if curl --silent --fail http://localhost:3002/auth/login; then echo "App is up" exit 0 fi echo "Waiting for the app... attempt $i" sleep 5 done echo "App failed to start" exit 1 - name: Build Docker image run: make build