name: CI Website
on:
  push:
    branches:
      - main

  pull_request:
    

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  website-build:
    runs-on: ubuntu-latest
    services:
      postgres:
        image: twentycrm/twenty-postgres
        env:
          POSTGRES_PASSWORD: twenty
          POSTGRES_USER: twenty
        ports:
          - 5432:5432
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Check for changed files
        id: changed-files
        uses: tj-actions/changed-files@v11
        with:
          files: 'package.json, packages/twenty-website/**'

      - name: Install dependencies
        if: steps.changed-files.outputs.changed == 'true' 
        uses: ./.github/workflows/actions/yarn-install

      - name: Website / Run migrations
        if: steps.changed-files.outputs.changed == 'true' 
        run: npx nx database:migrate twenty-website 
        env:
          DATABASE_PG_URL: postgres://twenty:twenty@localhost:5432/default
      - name: Website / Build Website
        if: steps.changed-files.outputs.changed == 'true' 
        run: npx nx build twenty-website
        env:
          DATABASE_PG_URL: postgres://twenty:twenty@localhost:5432/default

      - name: Mark as VALID
        if: steps.changed-files.outputs.changed != 'true'  # If no changes, mark as valid
        run: echo "No relevant changes detected. CI is valid."    