Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
eba8279
wip: integration tests
SteveLauC Nov 7, 2025
431af0a
Remove other CI pipelines
SteveLauC Nov 7, 2025
b7f7aa4
Correct commands to start Easysearch
SteveLauC Nov 7, 2025
7a9357a
Correct scripts
SteveLauC Nov 7, 2025
43856b9
Try setting the password directly
SteveLauC Nov 7, 2025
fafffba
Debug the reason why EASYSEARCH_INITIAL_ADMIN_PASSWORD is not set
SteveLauC Nov 7, 2025
5141c2f
Set env var for cd dir | ./initialize.sh
SteveLauC Nov 7, 2025
2619f8d
Format yaml file
SteveLauC Nov 7, 2025
ec507d4
Set EASYSEARCH_INITIAL_ADMIN_PASSWORD in a separate step
SteveLauC Nov 7, 2025
4ddd60a
use -s option to confirm installation
SteveLauC Nov 7, 2025
4af8e23
Set EASYSEARCH_INITIAL_ADMIN_PASSWORD in a separate step
SteveLauC Nov 7, 2025
d9dc10f
Wait for Easysearch to start
SteveLauC Nov 7, 2025
dbde402
Install loadgen and ensure it is in PATH
SteveLauC Nov 7, 2025
ec0b549
Install loadgen, 2nd try
SteveLauC Nov 7, 2025
822490c
update
SteveLauC Nov 11, 2025
48340d6
update
SteveLauC Nov 12, 2025
ec42f57
update
SteveLauC Nov 12, 2025
561e58a
Install pnpm
SteveLauC Nov 12, 2025
293716d
clone framework and vendor
SteveLauC Nov 12, 2025
7aed455
clone via https
SteveLauC Nov 12, 2025
e5f7572
update
SteveLauC Nov 12, 2025
df45ce3
update
SteveLauC Nov 12, 2025
e2fde13
update
SteveLauC Nov 12, 2025
67f466b
update
SteveLauC Nov 12, 2025
951ae6b
update
SteveLauC Nov 12, 2025
78ec513
update
SteveLauC Nov 12, 2025
910affa
Easysearch snapshot repository
SteveLauC Nov 12, 2025
6b2a317
typo: hit.total.value
SteveLauC Nov 13, 2025
b9384c6
update snapshot
SteveLauC Nov 16, 2025
87ee617
update env vars
SteveLauC Nov 16, 2025
417b56a
update env vars
SteveLauC Nov 16, 2025
35d3976
update env vars
SteveLauC Nov 16, 2025
f524dbe
update env vars
SteveLauC Nov 16, 2025
400ff03
update env vars
SteveLauC Nov 16, 2025
9ad8f10
update Easysearch snapshot
SteveLauC Nov 16, 2025
4459926
remove loadgen data log dir
SteveLauC Nov 16, 2025
2f560dd
update Easysearch snapshot
SteveLauC Nov 16, 2025
a172cf5
update loadgen.yml env vars
SteveLauC Nov 16, 2025
16c6dda
scenario1.dsl
SteveLauC Nov 16, 2025
9f9a69d
update
SteveLauC Nov 17, 2025
379c701
update
SteveLauC Nov 17, 2025
02ffcfe
update
SteveLauC Nov 17, 2025
f3e0535
update
SteveLauC Nov 17, 2025
cd5964a
update
SteveLauC Nov 17, 2025
e209a52
scenario3: login
SteveLauC Nov 17, 2025
d6ee295
scenario3: case 1/2
SteveLauC Nov 17, 2025
6675d1d
scenario3: case 3
SteveLauC Nov 18, 2025
001b23b
scenario3: case 3
SteveLauC Nov 18, 2025
8b00cbf
scenario3: case 4
SteveLauC Nov 18, 2025
89ccd02
scenario3: case 4
SteveLauC Nov 18, 2025
37854b2
scenario4: login
SteveLauC Nov 18, 2025
a1482ce
typo
SteveLauC Nov 18, 2025
d87f0d1
typo
SteveLauC Nov 18, 2025
2ae1a71
typo
SteveLauC Nov 18, 2025
d8f6f30
typo
SteveLauC Nov 18, 2025
f4f0082
typo
SteveLauC Nov 18, 2025
f8e908c
rename
SteveLauC Nov 18, 2025
db125b1
scenario4: case2
SteveLauC Nov 18, 2025
d6906ba
scenario4: case3
SteveLauC Nov 18, 2025
a4279e4
scenario4: case4
SteveLauC Nov 18, 2025
764fcac
scenario5: case1
SteveLauC Nov 18, 2025
5a2c1e4
scenario5: case2
SteveLauC Nov 18, 2025
c091d96
scenario5: case3
SteveLauC Nov 18, 2025
f7a336a
scenario5: case4
SteveLauC Nov 18, 2025
2e0ff09
correct env var name: ADMIN_MAIL
SteveLauC Nov 18, 2025
7967f37
remove runner configs from DSL files
SteveLauC Nov 18, 2025
260d47b
AI assistant: scenario 1
SteveLauC Nov 18, 2025
0b3cf97
assistant/scenario2/case2
SteveLauC Nov 18, 2025
152557b
assistant/scenario2/case3
SteveLauC Nov 19, 2025
96ecfa3
assistant/scenario2/case4
SteveLauC Nov 19, 2025
cad7137
assistant/scenario3/case1
SteveLauC Nov 19, 2025
81cdc49
assistant/scenario3/case3
SteveLauC Nov 19, 2025
d9b41ed
assistant/scenario3/case3
SteveLauC Nov 20, 2025
50da6b0
mcp wip
SteveLauC Nov 20, 2025
ddd67ce
mcp/scenario1/case1
SteveLauC Nov 20, 2025
639058f
remove loadgen data dir
SteveLauC Nov 20, 2025
f335c66
mcp/scenario2/case1
SteveLauC Nov 20, 2025
306447e
mcp/scenario2/case2
SteveLauC Nov 20, 2025
f3bcb74
mcp/scenario2/case3
SteveLauC Nov 20, 2025
8682b69
register
SteveLauC Nov 20, 2025
45dd6bd
mcp/scenario2/case4
SteveLauC Nov 20, 2025
683230f
mcp/scenario3/login
SteveLauC Nov 20, 2025
c505dd2
mcp/scenario3
SteveLauC Nov 20, 2025
79df809
llm
SteveLauC Nov 20, 2025
acceb52
llm/scenario1/case1
SteveLauC Nov 20, 2025
73082e6
llm/scenario1/case1
SteveLauC Nov 20, 2025
5c5e5bb
llm/scenario1
SteveLauC Nov 20, 2025
2031cd5
llm/scenario2
SteveLauC Nov 20, 2025
1789fe5
llm/scenario3
SteveLauC Nov 20, 2025
71df226
widget/scenario1
SteveLauC Nov 20, 2025
6ecfc68
widget/scenario2
SteveLauC Nov 20, 2025
1dcd1e1
widget/scenario3
SteveLauC Nov 20, 2025
fe3c703
remove unused dsl yml file
SteveLauC Nov 20, 2025
6b0d171
update command to set ES password
SteveLauC Nov 20, 2025
bb12150
hope it works
SteveLauC Nov 20, 2025
fd0da74
make logs visible
SteveLauC Nov 20, 2025
8c16675
update ES_ENDPOINT: use http
SteveLauC Nov 20, 2025
01dd42a
correct dsl file path
SteveLauC Nov 20, 2025
dfc5d5b
correct coco endpoint
SteveLauC Nov 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
119 changes: 0 additions & 119 deletions .github/workflows/build-docs.yml

This file was deleted.

35 changes: 0 additions & 35 deletions .github/workflows/commit-message-check.yml

This file was deleted.

115 changes: 115 additions & 0 deletions .github/workflows/integration_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
name: Integration test

env:
GO_VERSION: 1.23.4
NODEJS_VERSION: 20.18.2
PNPM_VERSION: 'latest'
ES_ADMIN_PASSWORD: 'F0r_test_ci'

on:
pull_request:

jobs:
integration_test:
runs-on: ubuntu-latest

steps:
- name: Checkout current repository
uses: actions/checkout@v4
with:
path: coco

- name: Move coco to ~/go/src/infini.sh/coco
run: |
mkdir -p ~/go/src/infini.sh
mv ./coco ~/go/src/infini.sh/

- name: Set up nodejs toolchain
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODEJS_VERSION }}

- name: Install pnpm
run: npm install -g pnpm@${{ env.PNPM_VERSION }}

- name: Check nodejs toolchain
run: node -v && npm -v && pnpm -v

- name: Set up go toolchain
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
check-latest: false
cache: true

- name: Clone framework and framework vendor
run: |
git clone https://github.com/infinilabs/framework.git ~/go/src/infini.sh/framework
git clone https://github.com/infinilabs/framework-vendor.git ~/go/src/infini.sh/vendor

- name: Build Coco Server
working-directory: /home/runner/go/src/infini.sh/coco
run: make build-all

- name: Set up Easysearch
run: |
mkdir ~/es_install_dir
curl -sSL http://get.infini.cloud | bash -s -- -p easysearch -d ~/es_install_dir

# Use our config file, which disables security setting
cd ~/es_install_dir && rm ./config/easysearch.yml
cp ~/go/src/infini.sh/coco/tests/assets/easysearch.yml ~/es_install_dir/config/

# Create a symlink at the specified path
ln -s ~/go/src/infini.sh/coco/tests/assets/easysearch_snapshot_repository /tmp/easysearch_snapshot_repository

cd ~/es_install_dir && ./bin/initialize.sh -s
cd ~/es_install_dir && nohup ./bin/easysearch > easysearch.log 2>&1 &

# Ensure it starts
while ! nc -z 127.0.0.1 9200; do
echo "Easysearch is not up. Will re-check in 5 seconds..."
sleep 5
done
curl http://127.0.0.1:9200

# Create the snapshot repository that we need
curl -X POST http://127.0.0.1:9200/_snapshot/repo_ezs \
-d '{ "type": "fs", "settings": { "location": "/tmp/easysearch_snapshot_repository" } }'

# Restore coco_* indices
curl -X POST http://127.0.0.1:9200/_snapshot/repo_ezs/coco_indices/_restore


- name: Install Loadgen
run: |
mkdir ~/loadgen_install_dir
curl -sSL http://get.infini.cloud | bash -s -- -p loadgen -d ~/loadgen_install_dir
# Move to binary to /usr/bin so that it is in $PATH
sudo mv ~/loadgen_install_dir/loadgen-linux-* /usr/bin/loadgen
# Make sure it is executable, just in case.
chmod +x /usr/bin/loadgen
# Run it to verify it is installed
loadgen
# Clear the log directory created by Loadgen
rm -r log

- name: Start Coco Server
working-directory: /home/runner/go/src/infini.sh/coco
run: |
# Use our configuration file
rm coco.yml && ln -s tests/assets/coco.yml coco.yml

nohup ./bin/coco &
while ! nc -z 127.0.0.1 9000; do
echo "Coco Server is not up. Will re-check in 5 seconds..."
sleep 5
done
while ! nc -z 127.0.0.1 2900; do
echo "Coco Server is not up. Will re-check in 5 seconds..."
sleep 5
done

- name: Run tests
working-directory: /home/runner/go/src/infini.sh/coco/tests
run: loadgen -config loadgen.yml -run datasource/scenario1.dsl -debug
34 changes: 0 additions & 34 deletions .github/workflows/osv-scanner.yml

This file was deleted.

Loading