mirror of
https://github.com/twentyhq/twenty.git
synced 2024-12-23 20:13:21 +03:00
736635a94b
We will remove the `twenty-postgres` image that was used for local development and only use `twenty-postgres-pilo` (which we use in prod), bringing the development environment closer to prod and avoiding having to maintain 2 images. Instead of provisioning the super user after the db initialization, we directly rely on the superuser provided by Spilo for simplicity. We also introduce a change that tries to create the right database (`default` or `test`) based on the context. How to test: ``` docker build -t twentycrm/twenty-postgres-spilo:latest -f ./packages/twenty-docker/twenty-postgres-spilo/Dockerfile . docker images --no-trunc | grep twenty-postgres-spilo postgres-on-docker: docker run \ --name twenty_pg \ -e PGUSER_SUPERUSER=twenty \ -e PGPASSWORD_SUPERUSER=twenty \ -e ALLOW_NOSSL=true \ -v twenty_db_data:/home/postgres/pgdata \ -p 5432:5432 \ REPLACE_WITH_IMAGE_ID ```
64 lines
1.9 KiB
YAML
64 lines
1.9 KiB
YAML
name: CI Website
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
pull_request:
|
|
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
website-build:
|
|
timeout-minutes: 3
|
|
runs-on: ubuntu-latest
|
|
services:
|
|
postgres:
|
|
image: twentycrm/twenty-postgres-spilo
|
|
env:
|
|
PGUSER_SUPERUSER: postgres
|
|
PGPASSWORD_SUPERUSER: twenty
|
|
ALLOW_NOSSL: "true"
|
|
SPILO_PROVIDER: "local"
|
|
ports:
|
|
- 5432:5432
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
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: Server / Create DB
|
|
if: steps.changed-files.outputs.any_changed == 'true'
|
|
run: PGPASSWORD=twenty psql -h localhost -p 5432 -U postgres -d postgres -c 'CREATE DATABASE "default";'
|
|
|
|
- name: Website / Run migrations
|
|
if: steps.changed-files.outputs.changed == 'true'
|
|
run: npx nx database:migrate twenty-website
|
|
env:
|
|
DATABASE_PG_URL: postgres://postgres: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://postgres: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." |