Add GHA and simplify test setup #2
Workflow file for this run
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 User Profile tests | |
on: | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- ready_for_review | |
push: | |
# run workflow when merging to main or develop | |
branches: | |
- main | |
- master | |
- develop | |
jobs: | |
user_profile_tests: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# the current production setup | |
- java: '8' | |
mongo: 'mongodb-linux-x86_64-3.6.13' | |
ant_test: 'test' | |
- java: '11' | |
mongo: 'mongodb-linux-x86_64-3.6.23' | |
ant_test: 'test' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: ${{matrix.java}} | |
- name: Install dependencies and set up test config | |
env: | |
KBASE_CI_TOKEN: ${{ secrets.KBASE_CI_TOKEN }} | |
KBASE_CI_TOKEN2: ${{ secrets.KBASE_CI_TOKEN2 }} | |
shell: bash | |
run: | | |
export HOMEDIR=`pwd` | |
# move to parent dir of homedir to install binaries etc | |
cd .. | |
# set up jars | |
git clone https://github.com/kbase/jars | |
# set up mongo | |
wget -q http://fastdl.mongodb.org/linux/${{matrix.mongo}}.tgz | |
tar xfz ${{matrix.mongo}}.tgz | |
export MONGOD=`pwd`/${{matrix.mongo}}/bin/mongod | |
# set up test config | |
cd $HOMEDIR | |
cp -n test.cfg.example test.cfg | |
sed -i "s#^test.mongo-exe-path.*#test.mongo-exe-path=$MONGOD#" test.cfg | |
sed -i "s#^test.admin-token.*#test.admin-token = $KBASE_CI_TOKEN#" test.cfg | |
sed -i "s#^test.usr1-token.*#test.usr1-token = $KBASE_CI_TOKEN2#" test.cfg | |
echo "\ntest.mongo-exe-path=$MONGOD\n" >> test.cfg | |
- name: Run tests | |
shell: bash | |
run: | | |
ant ${{matrix.ant_test}} | |
# TODO TEST activate codecov when switching to gradle | |
# - name: Upload coverage to Codecov | |
# uses: codecov/codecov-action@v3 | |
# with: | |
# token: ${{ secrets.CODECOV_TOKEN }} | |
# fail_ci_if_error: true |