Integrate ELK stack #2130
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: Standalone Tests | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
jobs: | |
run_tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
version: 1.3.2 # TODO https://github.com/pgjones/hypercorn/issues/102 | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
- name: Load cached venv | |
id: cached-poetry-dependencies | |
uses: actions/cache@v3 | |
with: | |
path: .venv | |
key: venv-${{ runner.os }}-${{ hashFiles('poetry.lock') }} | |
- name: Install dependencies | |
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' | |
run: poetry install --no-interaction --no-root | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Load MONETDB cached image | |
uses: actions/cache@v3 | |
with: | |
path: /tmp/.buildx-cache/monetdb | |
key: ${{ runner.os }}-buildx-3-monetdb-${{hashFiles('monetdb/**')}}-${{ hashFiles('exareme2/udfgen/udfio.py')}} | |
restore-keys: | | |
${{ runner.os }}-buildx-3-monetdb- | |
- name: Build MONETDB docker image | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
file: monetdb/Dockerfile | |
push: false | |
load: true | |
tags: madgik/exareme2_db:dev | |
cache-from: type=local,src=/tmp/.buildx-cache/monetdb | |
cache-to: type=local,dest=/tmp/.buildx-cache-new/monetdb | |
- name: Load RABBITMQ cached image | |
uses: actions/cache@v3 | |
with: | |
path: /tmp/.buildx-cache/rabbitmq | |
key: ${{ runner.os }}-buildx-rabbitmq-${{hashFiles( 'rabbitmq/**' )}} | |
restore-keys: | | |
${{ runner.os }}-buildx-rabbitmq- | |
- name: Build RABBITMQ docker image | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
file: rabbitmq/Dockerfile | |
push: false | |
load: true | |
tags: madgik/exareme2_rabbitmq:dev | |
cache-from: type=local,src=/tmp/.buildx-cache/rabbitmq | |
cache-to: type=local,dest=/tmp/.buildx-cache-new/rabbitmq | |
# Temp fix | |
# https://github.com/docker/build-push-action/issues/252 | |
# https://github.com/moby/buildkit/issues/1896 | |
- name: Move Docker images cache | |
run: | | |
rm -rf /tmp/.buildx-cache | |
mv /tmp/.buildx-cache-new /tmp/.buildx-cache | |
- name: SMPC Controller logs (post run) | |
uses: webiny/[email protected] | |
with: | |
run: cat /tmp/exareme2/test_smpc_controller.out | |
- name: Run all standalone tests except the SMPC | |
id: non_smpc_tests | |
run: poetry run pytest -s -m "not smpc" --cov=exareme2 --cov-report=xml:non_smpc_cov.xml tests/standalone_tests --verbosity=4 | |
env: | |
PYTHONPATH: ${{ github.workspace }}/exareme2:${{ github.workspace }} | |
PULL_DOCKER_IMAGES: false | |
- name: Run SMPC specific standalone tests after releasing previous test resources | |
if: success() || ( failure() && steps.non_smpc_tests.outcome == 'failure' ) | |
run: | | |
poetry run inv cleanup | |
poetry run pytest -s -m "smpc" --cov=exareme2 --cov-report=xml:smpc_cov.xml tests/standalone_tests --verbosity=4 --reruns 3 --reruns-delay 5 | |
env: | |
PULL_DOCKER_IMAGES: false | |
- name: Publish coverage on codeclimate | |
uses: paambaati/[email protected] | |
env: | |
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} | |
with: | |
coverageLocations: | | |
./non_smpc_cov.xml:coverage.py | |
./smpc_cov.xml:coverage.py |