[WIP] mongo7 upgrade #30
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: KBase Catalog test | |
on: | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- ready_for_review | |
push: | |
# run workflow when merging to main or develop | |
branches: | |
- main | |
- master | |
- develop | |
jobs: | |
catalog_tests: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- python-version: '3.7' | |
mongo-version: '3.6' | |
- python-version: '3.7' | |
mongo-version: '7.0.4' | |
services: | |
mongo: | |
image: mongo:${{matrix.mongo-version}} | |
ports: | |
- 27017:27017 | |
options: --name mongo${{matrix.mongo-version}} | |
steps: | |
- name: Repo checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{matrix.python-version}} | |
- name: Install dependencies and set up test config | |
shell: bash | |
env: | |
KBASE_CI_TOKEN: ${{ secrets.KBASE_CI_TOKEN }} | |
ADMIN_USER: ${{ secrets.KBASE_BOT_USER_CI }} | |
run: | | |
# test mongo connection | |
curl http://localhost:27017 | |
returncode=$? | |
if [ $returncode != 0 ]; then exit $returncode; fi | |
# set HOMEDIR | |
export HOMEDIR=`pwd` | |
# move to parent dir to install binaries etc | |
cd .. | |
# setup kb-sdk | |
mkdir -p $(pwd)/bin | |
docker run ghcr.io/kbase/kb_sdk_patch-develop:br-0.0.4 genscript > $(pwd)/bin/kb-sdk | |
chmod 755 $(pwd)/bin/kb-sdk | |
export PATH=$(pwd)/bin:$PATH | |
# install catalog dependencies | |
cd $HOMEDIR | |
pip install -r requirements.txt | |
# setup test config | |
cp -n test/test.cfg.example test/test.cfg | |
sed -i "s#^nms-admin-token.*#nms-admin-token=$KBASE_CI_TOKEN#" test/test.cfg | |
sed -i "s#^method-spec-admin-users.*#method-spec-admin-users=$ADMIN_USER#" test/test.cfg | |
- name: Run tests | |
shell: bash | |
run: make test | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
fail_ci_if_error: true |