Skip to content

Drop ORO dependency in favor of Java regex #9061

Drop ORO dependency in favor of Java regex

Drop ORO dependency in favor of Java regex #9061

name: TestFlow
on:
pull_request:
types:
- opened
- reopened
- synchronize
permissions:
contents: read
pull-requests: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
env:
UYUNI_PROJECT: uyuni-project
UYUNI_VERSION: master
jobs:
determine_tests:
name: Get recommended tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0
- name: Run Redis container
run: ./testsuite/podman_runner/run_redis.sh
- name: Get changed files
id: changed_files
uses: Ana06/get-changed-files@25f79e676e7ea1868813e21465014798211fad8c #v2.3.0
with:
filter: '*.java'
- name: Use Node.js 22
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 #v6.0.0
with:
node-version: 22
- name: Install NPM Redis dependency
run: npm i ioredis
- id: tests_covering_pr
name: Tests covering the Pull Request
env:
CHANGED_FILES: ${{ steps.changed_files.outputs.all }}
run: |
recommended_tests=$(node .github/scripts/test_covering_pr.js ${CHANGED_FILES})
echo "recommended_tests=$recommended_tests" >> $GITHUB_OUTPUT
echo "Recommended Tests: $recommended_tests"
- name: Determine if we should run the full test suite
id: determine_running_full_testsuite
env:
RECOMMENDED_TESTS: ${{ steps.tests_covering_pr.outputs.recommended_tests }}
run: |
recommended_count=$(echo "${RECOMMENDED_TESTS}" | awk -F, '{print NF}' RS=)
if [[ "$recommended_count" -gt 30 || "$recommended_count" -eq 0 ]]; then
echo "run_full_testsuite=true" >> $GITHUB_OUTPUT
else
echo "run_full_testsuite=false" >> $GITHUB_OUTPUT
fi
outputs:
recommended_tests: ${{ steps.tests_covering_pr.outputs.recommended_tests }}
run_full_testsuite: ${{ steps.determine_running_full_testsuite.outputs.run_full_testsuite }}
recommended-tests:
needs: determine_tests
name: Recommended
uses: ./.github/workflows/acceptance_tests_base.yml
with:
tests: "20_run_recommended_tests.sh"
server_id: "recommended"
recommended_tests: ${{ needs.determine_tests.outputs.recommended_tests }}
skip_tests: ${{ needs.determine_tests.outputs.run_full_testsuite == 'true' }}
secrets:
GH_TOKEN_GALAXY_CI: ${{ secrets.GH_TOKEN_GALAXY_CI }}
acceptance-tests:
needs: determine_tests
name: Acceptance
uses: ./.github/workflows/acceptance_tests_base.yml
with:
tests: "18_run_secondary_tests.sh"
server_id: "acceptance"
skip_tests: ${{ needs.determine_tests.outputs.run_full_testsuite == 'false' }}
secrets:
GH_TOKEN_GALAXY_CI: ${{ secrets.GH_TOKEN_GALAXY_CI }}
additional-tests:
needs: determine_tests
name: (${{ matrix.set }}) Additional
uses: ./.github/workflows/acceptance_tests_base.yml
strategy:
fail-fast: false
matrix:
set: ['1', '2', '3', '4', '5']
with:
tests: "22_run_secondary_parallelizable_tests_subset.sh ${{ matrix.set }}"
server_id: "additional_${{ matrix.set }}"
skip_tests: ${{ needs.determine_tests.outputs.run_full_testsuite == 'false' }}
secrets:
GH_TOKEN_GALAXY_CI: ${{ secrets.GH_TOKEN_GALAXY_CI }}