Update and fix CI workflow
* updates github actions for checkout and node
* removes redundant variable settings
* makes sure the data folder is set up properly for the full profile
(fixing ci workflow)
* uses project name korap
* waits for ""Web application available at" in the docker log to start
tests
Change-Id: Ib35c519b76836e1e689e6f87ffa173ed1119d89c
diff --git a/.github/workflows/ci_test.yml b/.github/workflows/ci_test.yml
index f06014f..3ed9441 100644
--- a/.github/workflows/ci_test.yml
+++ b/.github/workflows/ci_test.yml
@@ -6,7 +6,7 @@
test:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Convert TEI input to KorAP-XML
run: docker run --rm -v ${PWD}/example:/data korap/kalamar:latest-conv tei2korapxml --no-tokenizer --inline-tokens '!cmc#morpho' --input /data/dck-part1.i5.xml > dck.zip
- name: Convert KorAP-XML to Krill
@@ -17,38 +17,40 @@
run: |
mkdir index
docker run -u root --rm -v ${PWD}:/data:z korap/kustvakt Krill-Indexer.jar -c /kustvakt/kustvakt-lite.conf -i /data/json -o /data/index/
- - name: Create kalamar.production.conf
- run: echo "{Kalamar=>{plugins=>['Auth']},'Kalamar-Auth'=>{client_file=>'/kalamar/super_client_info'}}" > kalamar.production.conf
- name: Start KorAP - lite
- run: INDEX=./index docker-compose --profile=lite up -d
+ run: INDEX=./index docker-compose -p korap --profile=lite up -d
- name: Wait until KorAP is up and running
- run: count=0; while test $count -lt 25 && ! INDEX=./index docker-compose --profile=lite logs | grep "Initiating Jersey"; do count=$((count+1)); echo "waiting ${count}s"; sleep 1; done; sleep 10
+ run: count=0; while test $count -lt 25 && ! docker-compose -p korap logs | grep -E "Listening at.*:64543"; do count=$((count+1)); echo "waiting ${count}s"; sleep 1; done; sleep 10
- name: Test that API delivers some search hits
run: test $(curl --silent 'http://localhost:64543/api/v1.0/search?q=geht&ql=poliqarp&cq=corpusSigle=DCK' | jq '.matches | length') -gt 10
- name: Test that UI delivers some search hits
run: test $(curl --silent 'http://localhost:64543?q=geht&ql=poliqarp&cq=corpusSigle=DCK' | grep -c snippet) -gt 10
- name: Stop KorAP
- run: INDEX=./index docker-compose --profile=lite stop
+ run: INDEX=./index docker-compose -p korap --profile=lite stop
- name: Test that super_client_info does not exist
run: test ! -f super_client_info
+ - name: Create kalamar.production.conf
+ run: |
+ mkdir -p data
+ echo "{Kalamar=>{plugins=>['Auth']},'Kalamar-Auth'=>{client_file=>'/kalamar/super_client_info'}}" > data/kalamar.production.conf
- name: Start KorAP - full
- run: INDEX=./index docker-compose --profile=full up -d
+ run: INDEX=./index docker-compose -p korap --profile=full up -d
- name: Wait until KorAP is up and running
- run: count=0; while test $count -lt 25 && ! INDEX=./index docker-compose --profile=full logs | grep "Initiating Jersey"; do count=$((count+1)); echo "waiting ${count}s"; sleep 1; done; sleep 10
+ run: count=0; while test $count -lt 25 && ! docker-compose -p korap logs | grep "Web application available at"; do count=$((count+1)); echo "waiting ${count}s"; sleep 1; done; sleep 10
- name: Test that super_client_info exists
- run: test -f super_client_info
+ run: test -f data/super_client_info
- name: Test that API delivers some search hits
run: test $(curl --silent 'http://localhost:64543/api/v1.0/search?q=geht&ql=poliqarp&cq=corpusSigle=DCK' | jq '.matches | length') -gt 10
- name: Test that UI delivers some search hits
run: test $(curl --silent 'http://localhost:64543?q=geht&ql=poliqarp&cq=corpusSigle=DCK' | grep -c snippet) -gt 10
- name: Checkout KorAP/KorAP-E2E-Tests
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
repository: KorAP/KorAP-E2E-Tests
path: KorAP-E2E-Tests
- name: Set up Node.js
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
cache: npm
node-version: latest
@@ -68,4 +70,4 @@
run: xvfb-run --auto-servernum npm test
- name: Stop KorAP
- run: INDEX=./index docker-compose --profile=full stop
+ run: docker-compose -p korap --profile=full stop