Skip to content

Commit

Permalink
Separate tests actions to be able to get separated backend and client…
Browse files Browse the repository at this point in the history
… tests results
  • Loading branch information
evilaliv3 committed Nov 18, 2024
1 parent b8dfa57 commit 5f1165f
Show file tree
Hide file tree
Showing 7 changed files with 111 additions and 76 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ jobs:
- name: Run tests
run: |
cd $GITHUB_WORKSPACE
./.github/workflows/scripts/run-build.sh
./.github/workflows/scripts/run_build.sh
73 changes: 0 additions & 73 deletions .github/workflows/scripts/run-tests.sh

This file was deleted.

File renamed without changes.
39 changes: 39 additions & 0 deletions .github/workflows/scripts/run_tests_backend.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/bin/bash

backend_test_failed=0

setupBackend() {
cd $GITHUB_WORKSPACE/backend # to install backend dependencies
pip3 install -r requirements/requirements-$(lsb_release -cs).txt
}

setupClient() {
cd $GITHUB_WORKSPACE/client # to install frontend dependencies
npm install -d
./node_modules/grunt/bin/grunt build_and_instrument
}

echo "Running setup"
sudo apt-get update
sudo apt-get install -y tor
npm install -g grunt grunt-cli
setupBackend
setupClient

# Running backend tests
echo "Running backend tests"
cd $GITHUB_WORKSPACE/backend && coverage run setup.py test
if [ $? -ne 0 ]; then
backend_test_failed=1
fi

cd $GITHUB_WORKSPACE/backend && coverage xml
bash <(curl -Ls https://coverage.codacy.com/get.sh) report -l Python -r $GITHUB_WORKSPACE/backend/coverage.xml

if [ $backend_test_failed -eq 1 ]; then
echo "Backend unit tests: FAILED"
exit 1
else
echo "Backend unit tests: PASSED"
exit 0
fi
41 changes: 41 additions & 0 deletions .github/workflows/scripts/run_tests_client.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/bash

client_test_failed=0

setupBackend() {
cd $GITHUB_WORKSPACE/backend # to install backend dependencies
pip3 install -r requirements/requirements-$(lsb_release -cs).txt
}

setupClient() {
cd $GITHUB_WORKSPACE/client # to install frontend dependencies
npm install -d
./node_modules/grunt/bin/grunt build_and_instrument
}

echo "Running setup"
sudo apt-get update
sudo apt-get install -y tor
npm install -g grunt grunt-cli
setupBackend
setupClient

$GITHUB_WORKSPACE/backend/bin/globaleaks -z
sleep 5

# Running client tests locally
echo "Running client tests locally collecting code coverage"
cd $GITHUB_WORKSPACE/client && npm test
if [ $? -ne 0 ]; then
client_test_failed=1
fi

bash <(curl -Ls https://coverage.codacy.com/get.sh) report -l TypeScript -r $GITHUB_WORKSPACE/client/cypress/coverage/lcov.info

if [ $client_test_failed -eq 1 ]; then
echo "Client tests: FAILED"
exit 1
else
echo "Client tests: PASSED"
exit 0
fi
28 changes: 28 additions & 0 deletions .github/workflows/test-backend.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Tests (B)

on: [ push, pull_request ]

# Declare default permissions as read only.
permissions: read-all

env:
CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}

jobs:
run_tests:
runs-on: "ubuntu-latest"
steps:
- name: Check out repository code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 1

- name: Install git
run: |
sudo apt-get update -q
sudo apt-get install -y git
- name: Run tests
run: |
cd $GITHUB_WORKSPACE
./.github/workflows/scripts/run_tests_backend.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Test
name: Tests (C)

on: [ push, pull_request ]

Expand All @@ -25,4 +25,4 @@ jobs:
- name: Run tests
run: |
cd $GITHUB_WORKSPACE
./.github/workflows/scripts/run-tests.sh
./.github/workflows/scripts/run_tests_client.sh

0 comments on commit 5f1165f

Please sign in to comment.