Skip to content

Commit f1f2ba8

Browse files
committed
Merge branch 'release/0.1.0'
2 parents 21e67e4 + 027c096 commit f1f2ba8

File tree

251 files changed

+48312
-2622
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

251 files changed

+48312
-2622
lines changed

.env.example

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ API_URL="http://localhost:8000"
66
ORGANIZATION_NAME="Evo AI"
77
ORGANIZATION_URL="https://evoai.evoapicloud.com"
88

9+
# AI Engine configuration: "adk" or "crewai"
10+
AI_ENGINE="adk"
11+
912
# Database settings
1013
POSTGRES_CONNECTION_STRING="postgresql://postgres:root@localhost:5432/evo_ai"
1114

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
name: Build and Deploy Docker Images
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
tags:
8+
- "*.*.*"
9+
pull_request:
10+
branches:
11+
- main
12+
13+
jobs:
14+
detect-changes:
15+
name: Detect Changes
16+
runs-on: ubuntu-latest
17+
outputs:
18+
backend-changed: ${{ steps.changes.outputs.backend }}
19+
frontend-changed: ${{ steps.changes.outputs.frontend }}
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
with:
24+
fetch-depth: 0
25+
26+
- name: Detect changes
27+
id: changes
28+
uses: dorny/paths-filter@v2
29+
with:
30+
filters: |
31+
backend:
32+
- 'src/**'
33+
- 'migrations/**'
34+
- 'scripts/**'
35+
- 'Dockerfile'
36+
- 'pyproject.toml'
37+
- 'alembic.ini'
38+
- 'conftest.py'
39+
- 'setup.py'
40+
- 'Makefile'
41+
- '.dockerignore'
42+
frontend:
43+
- 'frontend/**'
44+
45+
build-backend:
46+
name: Build Backend Image
47+
runs-on: ubuntu-latest
48+
needs: detect-changes
49+
if: needs.detect-changes.outputs.backend-changed == 'true' || github.event_name == 'push'
50+
permissions:
51+
contents: read
52+
packages: write
53+
steps:
54+
- name: Checkout
55+
uses: actions/checkout@v4
56+
57+
- name: Docker meta
58+
id: meta
59+
uses: docker/metadata-action@v5
60+
with:
61+
images: evoapicloud/evo-ai
62+
tags: |
63+
type=ref,event=branch
64+
type=ref,event=pr
65+
type=semver,pattern={{version}}
66+
type=semver,pattern={{major}}.{{minor}}
67+
type=raw,value=latest,enable={{is_default_branch}}
68+
69+
- name: Set up QEMU
70+
uses: docker/setup-qemu-action@v3
71+
72+
- name: Set up Docker Buildx
73+
uses: docker/setup-buildx-action@v3
74+
75+
- name: Login to Docker Hub
76+
uses: docker/login-action@v3
77+
with:
78+
username: ${{ secrets.DOCKER_USERNAME }}
79+
password: ${{ secrets.DOCKER_PASSWORD }}
80+
81+
- name: Build and push
82+
id: docker_build
83+
uses: docker/build-push-action@v5
84+
with:
85+
context: .
86+
file: ./Dockerfile
87+
platforms: linux/amd64,linux/arm64
88+
push: ${{ github.event_name != 'pull_request' }}
89+
tags: ${{ steps.meta.outputs.tags }}
90+
labels: ${{ steps.meta.outputs.labels }}
91+
cache-from: type=gha
92+
cache-to: type=gha,mode=max
93+
94+
- name: Image digest
95+
run: echo ${{ steps.docker_build.outputs.digest }}
96+
97+
build-frontend:
98+
name: Build Frontend Image
99+
runs-on: ubuntu-latest
100+
needs: detect-changes
101+
if: needs.detect-changes.outputs.frontend-changed == 'true' || github.event_name == 'push'
102+
permissions:
103+
contents: read
104+
packages: write
105+
steps:
106+
- name: Checkout
107+
uses: actions/checkout@v4
108+
109+
- name: Docker meta
110+
id: meta
111+
uses: docker/metadata-action@v5
112+
with:
113+
images: evoapicloud/evo-ai-frontend
114+
tags: |
115+
type=ref,event=branch
116+
type=ref,event=pr
117+
type=semver,pattern={{version}}
118+
type=semver,pattern={{major}}.{{minor}}
119+
type=raw,value=latest,enable={{is_default_branch}}
120+
121+
- name: Set up QEMU
122+
uses: docker/setup-qemu-action@v3
123+
124+
- name: Set up Docker Buildx
125+
uses: docker/setup-buildx-action@v3
126+
127+
- name: Login to Docker Hub
128+
uses: docker/login-action@v3
129+
with:
130+
username: ${{ secrets.DOCKER_USERNAME }}
131+
password: ${{ secrets.DOCKER_PASSWORD }}
132+
133+
- name: Build and push
134+
id: docker_build
135+
uses: docker/build-push-action@v5
136+
with:
137+
context: ./frontend
138+
file: ./frontend/Dockerfile
139+
platforms: linux/amd64,linux/arm64
140+
push: ${{ github.event_name != 'pull_request' }}
141+
tags: ${{ steps.meta.outputs.tags }}
142+
labels: ${{ steps.meta.outputs.labels }}
143+
cache-from: type=gha
144+
cache-to: type=gha,mode=max
145+
build-args: |
146+
NEXT_PUBLIC_API_URL=${{ vars.NEXT_PUBLIC_API_URL || 'https://api-evoai.evoapicloud.com' }}
147+
148+
- name: Image digest
149+
run: echo ${{ steps.docker_build.outputs.digest }}

.github/workflows/build-homolog.yml

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
name: Build Homolog Images
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
- homolog
8+
9+
jobs:
10+
detect-changes:
11+
name: Detect Changes
12+
runs-on: ubuntu-latest
13+
outputs:
14+
backend-changed: ${{ steps.changes.outputs.backend }}
15+
frontend-changed: ${{ steps.changes.outputs.frontend }}
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
22+
- name: Detect changes
23+
id: changes
24+
uses: dorny/paths-filter@v2
25+
with:
26+
filters: |
27+
backend:
28+
- 'src/**'
29+
- 'migrations/**'
30+
- 'scripts/**'
31+
- 'Dockerfile'
32+
- 'pyproject.toml'
33+
- 'alembic.ini'
34+
- 'conftest.py'
35+
- 'setup.py'
36+
- 'Makefile'
37+
- '.dockerignore'
38+
frontend:
39+
- 'frontend/**'
40+
41+
build-backend-homolog:
42+
name: Build Backend Homolog
43+
runs-on: ubuntu-latest
44+
needs: detect-changes
45+
if: needs.detect-changes.outputs.backend-changed == 'true' || github.event_name == 'push'
46+
permissions:
47+
contents: read
48+
packages: write
49+
steps:
50+
- name: Checkout
51+
uses: actions/checkout@v4
52+
53+
- name: Docker meta
54+
id: meta
55+
uses: docker/metadata-action@v5
56+
with:
57+
images: evoapicloud/evo-ai
58+
tags: |
59+
type=raw,value=homolog
60+
type=raw,value=homolog-{{sha}}
61+
62+
- name: Set up QEMU
63+
uses: docker/setup-qemu-action@v3
64+
65+
- name: Set up Docker Buildx
66+
uses: docker/setup-buildx-action@v3
67+
68+
- name: Login to Docker Hub
69+
uses: docker/login-action@v3
70+
with:
71+
username: ${{ secrets.DOCKER_USERNAME }}
72+
password: ${{ secrets.DOCKER_PASSWORD }}
73+
74+
- name: Build and push
75+
id: docker_build
76+
uses: docker/build-push-action@v5
77+
with:
78+
context: .
79+
file: ./Dockerfile
80+
platforms: linux/amd64,linux/arm64
81+
push: true
82+
tags: ${{ steps.meta.outputs.tags }}
83+
labels: ${{ steps.meta.outputs.labels }}
84+
cache-from: type=gha
85+
cache-to: type=gha,mode=max
86+
87+
- name: Image digest
88+
run: echo ${{ steps.docker_build.outputs.digest }}
89+
90+
build-frontend-homolog:
91+
name: Build Frontend Homolog
92+
runs-on: ubuntu-latest
93+
needs: detect-changes
94+
if: needs.detect-changes.outputs.frontend-changed == 'true' || github.event_name == 'push'
95+
permissions:
96+
contents: read
97+
packages: write
98+
steps:
99+
- name: Checkout
100+
uses: actions/checkout@v4
101+
102+
- name: Docker meta
103+
id: meta
104+
uses: docker/metadata-action@v5
105+
with:
106+
images: evoapicloud/evo-ai-frontend
107+
tags: |
108+
type=raw,value=homolog
109+
type=raw,value=homolog-{{sha}}
110+
111+
- name: Set up QEMU
112+
uses: docker/setup-qemu-action@v3
113+
114+
- name: Set up Docker Buildx
115+
uses: docker/setup-buildx-action@v3
116+
117+
- name: Login to Docker Hub
118+
uses: docker/login-action@v3
119+
with:
120+
username: ${{ secrets.DOCKER_USERNAME }}
121+
password: ${{ secrets.DOCKER_PASSWORD }}
122+
123+
- name: Build and push
124+
id: docker_build
125+
uses: docker/build-push-action@v5
126+
with:
127+
context: ./frontend
128+
file: ./frontend/Dockerfile
129+
platforms: linux/amd64,linux/arm64
130+
push: true
131+
tags: ${{ steps.meta.outputs.tags }}
132+
labels: ${{ steps.meta.outputs.labels }}
133+
cache-from: type=gha
134+
cache-to: type=gha,mode=max
135+
build-args: |
136+
NEXT_PUBLIC_API_URL=${{ vars.NEXT_PUBLIC_API_URL_HOMOLOG || 'https://api-homolog-evoai.evoapicloud.com' }}
137+
138+
- name: Image digest
139+
run: echo ${{ steps.docker_build.outputs.digest }}

.github/workflows/docker-image.yml

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
 (0)