name: Unit Test env: OPENBB_ENABLE_QUICK_EXIT: true OPENBB_LOG_COLLECT: false OPENBB_USE_PROMPT_TOOLKIT: false OPENBB_FILE_OVERWRITE: true OPENBB_ENABLE_CHECK_API: false OPENBB_PREVIOUS_USE: true OPENBB_USE_INTERACTIVE_DF: false PIP_DEFAULT_TIMEOUT: 100 on: pull_request: branches: - develop - main types: [opened, synchronize, edited, closed, labeled] push: branches: - release/* merge_group: types: [checks_requested] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: check-files-changed: name: Check for changes runs-on: ubuntu-latest # Run this job only if the PR is not merged, PR != draft and the event is not a push if: github.event.pull_request.merged == false && github.event_name != 'push' && github.event.pull_request.draft == false outputs: check-changes: ${{ steps.check-changes.outputs.check-changes }} check-platform-changes: ${{ steps.check-platform-changes.outputs.check-platform-changes }} # New output for openbb_platform changes steps: - name: Checkout uses: actions/checkout@v1 # v1 is used to preserve the git history and works with the git diff command with: fetch-depth: 100 # The GitHub token is preserved by default but this job doesn't need # to be able to push to GitHub. # Check for changes to python files, lockfiles and the openbb_terminal folder - name: Check for changes to files to trigger unit test id: check-changes run: | current_branch=$(jq -r .pull_request.base.ref "$GITHUB_EVENT_PATH") if git diff --name-only origin/$current_branch HEAD | grep -E ".py$|openbb_terminal\/.*|pyproject.toml|poetry.lock|requirements.txt|requirements-full.txt"; then echo "check-changes=true" >> $GITHUB_OUTPUT else echo "check-changes=false" >> $GITHUB_OUTPUT fi # Check for changes to openbb_platform - name: Check for changes to openbb_platform id: check-platform-changes run: | current_branch=$(jq -r .pull_request.base.ref "$GITHUB_EVENT_PATH") if git diff --name-only origin/$current_branch HEAD | grep -E "openbb_platform\/.*"; then echo "check-platform-changes=true" >> $GITHUB_OUTPUT else echo "check-platform-changes=false" >> $GITHUB_OUTPUT fi - name: Show output of previous step run: | echo "check-changes=${{ steps.check-changes.outputs.check-changes }}" echo "check-platform-changes=${{ steps.check-platform-changes.outputs.check-platform-changes }}"