Skip to content

Tests: Move tests running to self-hosted runners. #29

Tests: Move tests running to self-hosted runners.

Tests: Move tests running to self-hosted runners. #29

name: Integration tests for parsers.
on:
workflow_dispatch:
inputs:
additional-parameter:
description: 'Additional parameter: -all or -p <parser_name>. Default: -all. If -p is used: -p <parser_name>'
required: true
default: '-all --download'
branch:
description: 'Branch to run the tests on. Default: main'
required: true
default: 'main'
testbed:
description: 'Testbed to run the tests on. Available: oak4-pro, oak4-s'
required: true
default: 'oak4-s'
depthai-version:
description: 'Version of depthai to install. Default: alpha11'
required: true
default: '3.0.0a11'
pull_request:
branches:
- main
paths:
- 'depthai_nodes/**'
- 'tests/integration_tests/**'
- .github/workflows/integration_tests.yaml
jobs:
Integration-test:
runs-on: ['self-hosted', 'testbed-runner']
strategy:
matrix:
python-version: [3.12]
steps:
# - name: Clone HIL Framework
# run: |
# git clone https://oauth2:${{secrets.GITLAB_TOKEN}}@gitlab.luxonis.com/luxonis/hil_lab/hil_framework.git --recursive
# - name: Setup HIL Tools
# run: |
# cd hil_framework
# sudo chmod +x ./setup/setup_hil_tools.sh
# ./setup/setup_hil_tools.sh -ga
- name: Update HIL
run: |
cd /home/$USER/hil_framework
git pull https://oauth2:${{ secrets.GITLAB_TOKEN }}@gitlab.luxonis.com/luxonis/hil_lab/hil_framework.git
git submodule update --init --recursive
- name: Add HIL Tools to Path
run: |
echo "$(pwd)/lib_testbed/tools" >> $GITHUB_PATH
echo "PYTHONPATH="$PYTHONPATH:$(pwd)"" >> $GITHUB_ENV
echo "HIL_FRAMEWORK_PATH="$(pwd)"" >> $GITHUB_ENV
- name: Run Test
run: |
export RESERVATION_NAME="https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}#${{ matrix.python-version}}"
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
CMD="hil --testbed ${{ github.event.inputs.testbed }} --wait --reservation-name $RESERVATION_NAME --commands 'cd /home/hil/depthai-nodes' 'git checkout main' 'git pull' 'git checkout ${{ github.event.inputs.branch }}' 'git pull' 'source venv/bin/activate' 'pip install --extra-index-url ${{secrets.LUXONIS_EXTRA_INDEX_URL}} depthai==${{ github.event.inputs.depthai-version }}' 'cd tests/integration_tests' 'export B2_APPLICATION_KEY=${{ secrets.B2_APPLICATION_KEY }}' 'export B2_APPLICATION_KEY_ID=${{ secrets.B2_APPLICATION_KEY_ID }}' 'python main.py ${{ github.event.inputs.additional-parameter }}' 'deactivate'"
else
CMD="hil --testbed oak4-s --wait --reservation-name $RESERVATION_NAME --commands 'cd /home/hil/depthai-nodes' 'git checkout main' 'git pull' 'git checkout ${{ github.head_ref }}' 'git pull' 'source venv/bin/activate' 'pip install --extra-index-url ${{secrets.LUXONIS_EXTRA_INDEX_URL}} depthai==3.0.0a11' 'cd tests/integration_tests' 'export B2_APPLICATION_KEY=${{ secrets.B2_APPLICATION_KEY }}' 'export B2_APPLICATION_KEY_ID=${{ secrets.B2_APPLICATION_KEY_ID }}' 'python main.py -all --download' 'deactivate'"
fi
exec $CMD