End-to-End Depthai-nodes tests #199
This file contains hidden or 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: End-to-End Depthai-nodes tests | |
on: | |
workflow_dispatch: | |
inputs: | |
distinct_id: | |
description: 'run identifier' | |
required: false | |
reservation_name: | |
description: 'Reservation name - usually usually unique identifier of root CI run' | |
required: false | |
type: string | |
bom_mode: | |
description: 'Check if tests are part of BOM testing' | |
required: false | |
type: boolean | |
additional-parameter: | |
description: 'Additional parameter: -all or -p <parser_name>. Default: -all. If -p is used: -p <parser_name>' | |
required: true | |
default: '-all' | |
depthai-nodes-version: | |
description: 'Release or branch of depthai nodes we are testing against' | |
required: true | |
default: 'main' | |
depthai-version: | |
description: 'Version of depthai to install. Default: alpha13' | |
required: true | |
default: '3.0.0a15' | |
push: | |
branches: | |
- main | |
paths: | |
- 'depthai_nodes/**' | |
- 'tests/end_to_end/**' | |
- .github/workflows/e2e_tests.yaml | |
jobs: | |
id: | |
name: Workflow ID Provider | |
runs-on: ubuntu-latest | |
if: github.event_name == 'workflow_dispatch' | |
steps: | |
- name: echo distinct ID ${{ github.event.inputs.distinct_id }} | |
run: echo ${{ github.event.inputs.distinct_id }} | |
HIL-test: | |
runs-on: ['self-hosted', 'testbed-runner'] | |
strategy: | |
matrix: | |
python-version: [3.12] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Update HIL | |
run: | | |
cd /home/$USER/hil_framework | |
git pull | |
git submodule update --init --recursive | |
- name: Add HIL Tools to Path | |
run: | | |
cd /home/$USER/hil_framework | |
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 | |
if [[ -n "${{ github.event.inputs.reservation_name }}" ]]; then | |
RESERVATION_OPTION="--reservation-name ${{ github.event.inputs.reservation_name }}" | |
else | |
RESERVATION_OPTION="--reservation-name $RESERVATION_NAME" | |
fi | |
if [[ "${{ github.event.inputs.bom_mode }}" == 'true' ]]; then | |
exec hil --hold-reservation --models 'oak4_pro or oak4_d' --wait $RESERVATION_OPTION --dockerfile ./tests/end_to_end/Dockerfile --docker-run-args "--env LUXONIS_EXTRA_INDEX_URL=${{secrets.LUXONIS_EXTRA_INDEX_URL}} --env DEPTHAI_VERSION=${{ github.event.inputs.depthai-version }} --env HUBAI_TEAM_SLUG=${{ secrets.HUBAI_TEAM_SLUG }} --env HUBAI_API_KEY=${{ secrets.HUBAI_API_KEY }} --env BRANCH=${{ github.event.inputs.depthai-nodes-version }} --env FLAGS=\"${{ github.event.inputs.additional-parameter }} -v ${{ github.event.inputs.depthai-nodes-version }}\"" | |
else | |
exec hil --capabilities "depthai-core-hil" --platforms "rvc2 and rvc4" --wait --reservation-name $RESERVATION_NAME --before-docker-pull "echo ${{secrets.GHCR_PAT}} | docker login ghcr.io -u ${{secrets.GHCR_USER}} --password-stdin" --docker-image ghcr.io/luxonis/depthai-nodes-testing --docker-run-args "--env LUXONIS_EXTRA_INDEX_URL=${{secrets.LUXONIS_EXTRA_INDEX_URL}} --env DEPTHAI_VERSION=${{ github.event.inputs.depthai-version }} --env HUBAI_TEAM_SLUG=${{ secrets.HUBAI_TEAM_SLUG }} --env HUBAI_API_KEY=${{ secrets.HUBAI_API_KEY }} --env BRANCH=${{ github.event.inputs.depthai-nodes-version }} --env FLAGS=\"${{ github.event.inputs.additional-parameter }} -v ${{ github.event.inputs.depthai-nodes-version }}\"" | |
fi | |
else | |
exec hil --capabilities "depthai-core-hil" --platforms "rvc2 and rvc4" --wait --reservation-name $RESERVATION_NAME --before-docker-pull "echo ${{secrets.GHCR_PAT}} | docker login ghcr.io -u ${{secrets.GHCR_USER}} --password-stdin" --docker-image ghcr.io/luxonis/depthai-nodes-testing --docker-run-args "--env LUXONIS_EXTRA_INDEX_URL=${{secrets.LUXONIS_EXTRA_INDEX_URL}} --env DEPTHAI_VERSION=\"3.0.0a11\" --env HUBAI_TEAM_SLUG=${{ secrets.HUBAI_TEAM_SLUG }} --env HUBAI_API_KEY=${{ secrets.HUBAI_API_KEY }} --env BRANCH=\"main\" --env FLAGS=\"-all\"" | |
fi |