name: CI on: push: branches: ["**"] pull_request: permissions: contents: read jobs: test: runs-on: ubuntu-latest env: NEXT_TELEMETRY_DISABLED: "1" DATABASE_URI: postgresql://ci:ci@localhost:5432/ci PAYLOAD_SECRET: ci-only-not-a-real-secret MEETING_SESSION_SECRET: ci-only-not-a-real-secret ANALYTICS_SALT_SECRET: ci-only-not-a-real-secret CRON_SECRET: ci-only-not-a-real-secret NEXT_PUBLIC_SERVER_URL: http://localhost:3000 steps: - name: Checkout uses: actions/checkout@v5 - name: Use Node.js 22 uses: actions/setup-node@v5 with: node-version: 22 cache: npm - name: Install dependencies run: npm ci - name: Lint run: npm run lint - name: Typecheck run: npx next typegen && npx tsc --noEmit - name: Test run: npm test build-image: needs: test if: github.ref == 'refs/heads/main' && github.event_name == 'push' runs-on: ubuntu-latest permissions: actions: write contents: read packages: write env: IMAGE: ghcr.io/whitehai11/anouma steps: - name: Checkout uses: actions/checkout@v5 - name: Log in to registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build image run: docker build --tag "$IMAGE:$GITHUB_SHA" . - name: Push image run: docker push "$IMAGE:$GITHUB_SHA"