Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 0 additions & 21 deletions .editorconfig

This file was deleted.

124 changes: 0 additions & 124 deletions .eslintrc

This file was deleted.

9 changes: 8 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
*.qmd linguist-language=Markdown linguist-detectable=true
# Quarto source files in docs should be treated as source files,
# not as documentation-only files and without assigning a Markdown label.
docs/**/*.qmd linguist-detectable=true
docs/**/*.qmd linguist-documentation=false

# Apply the same rule to any other .qmd in the repo.
*.qmd linguist-detectable=true
*.qmd linguist-documentation=false
42 changes: 42 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: CD

on:
push:
branches:
- main
pull_request:
types: [labeled]

permissions:
contents: read

env:
TWENTY_DEPLOY_URL: http://localhost:2020

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

jobs:
deploy-and-install:
if: >-
github.event_name == 'push' ||
(github.event_name == 'pull_request' && github.event.label.name == 'deploy')
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}

- name: Deploy
uses: twentyhq/twenty/.github/actions/deploy-twenty-app@main
with:
api-url: ${{ env.TWENTY_DEPLOY_URL }}
api-key: ${{ secrets.TWENTY_DEPLOY_API_KEY }}

- name: Install
uses: twentyhq/twenty/.github/actions/install-twenty-app@main
with:
api-url: ${{ env.TWENTY_DEPLOY_URL }}
api-key: ${{ secrets.TWENTY_DEPLOY_API_KEY }}
116 changes: 34 additions & 82 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,103 +3,55 @@ name: CI
on:
push:
branches:
- version-16
pull_request:
- main
pull_request: {}

permissions:
contents: read

env:
TWENTY_VERSION: latest

concurrency:
group: version-16-aura-${{ github.event.number }}
group: ci-${{ github.ref }}
cancel-in-progress: true

jobs:
tests:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
name: Server

services:
redis-cache:
image: redis:alpine
ports:
- 13000:6379
redis-queue:
image: redis:alpine
ports:
- 11000:6379
mariadb:
image: mariadb:11.8
env:
MYSQL_ROOT_PASSWORD: root
ports:
- 3306:3306
options: --health-cmd="mariadb-admin ping" --health-interval=5s --health-timeout=2s --health-retries=3

steps:
- name: Clone
uses: actions/checkout@v6
- name: Checkout
uses: actions/checkout@v4

- name: Find tests
run: |
echo "Finding tests"
grep -rn "def test" > /dev/null

- name: Setup Python
uses: actions/setup-python@v6
- name: Spawn Twenty test instance
id: twenty
uses: twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main
with:
python-version: '3.14'
twenty-version: ${{ env.TWENTY_VERSION }}

- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: 24
check-latest: true
- name: Enable Corepack
run: corepack enable

- name: Cache pip
uses: actions/cache@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/*requirements.txt', '**/pyproject.toml', '**/setup.py', '**/setup.cfg') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
node-version-file: '.nvmrc'
cache: yarn

- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: 'echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT'
- name: Install dependencies
run: yarn install --immutable

- uses: actions/cache@v4
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Lint
run: yarn lint

- name: Install MariaDB Client
run: |
sudo apt update
sudo apt-get install mariadb-client
- name: Typecheck
run: yarn typecheck

- name: Setup
run: |
pip install frappe-bench
bench init --skip-redis-config-generation --skip-assets --python "$(which python)" ~/frappe-bench

- name: Install
working-directory: /home/runner/frappe-bench
run: |
bench get-app aura $GITHUB_WORKSPACE
bench setup requirements --dev
bench new-site --db-root-password root --admin-password admin test_site
bench --site test_site install-app aura
bench build
env:
CI: 'Yes'
- name: Unit tests
run: yarn test:unit

- name: Run Tests
working-directory: /home/runner/frappe-bench
run: |
bench --site test_site set-config allow_tests true
bench --site test_site run-tests --app aura
- name: Run integration tests
run: yarn test
env:
TYPE: server
TWENTY_API_URL: ${{ steps.twenty.outputs.server-url }}
TWENTY_API_KEY: ${{ steps.twenty.outputs.api-key }}
60 changes: 0 additions & 60 deletions .github/workflows/linter.yml

This file was deleted.

Loading
Loading