chore(deps): update dependency regex to v2026.4.4 #1780
Workflow file for this run
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: Docker Compose CI | |
| on: # yamllint disable-line rule:truthy | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| changes: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| all: ${{ toJson(steps.changed-files.outputs) }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Get changed files | |
| id: changed-files | |
| uses: tj-actions/changed-files@v47 | |
| with: | |
| files_yaml_from_source_file: .github/changed_files.yaml | |
| yaml-lint: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - changes | |
| if: fromJson(needs.changes.outputs.all).yaml_all_modified_files | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install 'yamllint' | |
| run: sudo apt-get install -y yamllint | |
| - name: Lint YAML files | |
| run: yamllint -c .github/yamllint_config.yaml . | |
| json-lint: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - changes | |
| if: fromJson(needs.changes.outputs.all).json_all_modified_files | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install 'jsonlint' and 'git' | |
| run: sudo apt install python3-demjson git | |
| - name: Lint JSON files | |
| run: >- | |
| git ls-files -z '*.json' | xargs -0r jsonlint -s --allow=non-portable | |
| shell-lint: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - changes | |
| if: fromJson(needs.changes.outputs.all).sh_all_modified_files | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install 'shellcheck' and 'git' | |
| run: sudo apt install shellcheck git | |
| - name: Lint shell files ([ba]sh scripts) | |
| run: >- | |
| git ls-files -z '*.sh' '*.bash' '*.ksh' '*.bashrc' '*.bash_profile' | |
| '*.bash_login' '*.bash_logout' | xargs -0r shellcheck | |
| javascript-lint: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - changes | |
| if: fromJson(needs.changes.outputs.all).js_all_modified_files | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Use Node.js v20 | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| - name: install eslint and default rules | |
| run: npm install eslint @eslint/js --save-dev | |
| - name: Lint javascript files | |
| run: npx eslint --config .github/eslint.config.mjs | |
| - name: Lint html files | |
| run: find . -name "*.html" -o -name ".*.html" | xargs npx --yes htmlhint | |
| python-lint: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - changes | |
| if: fromJson(needs.changes.outputs.all).python_all_modified_files | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: chartboost/ruff-action@v1 | |
| with: | |
| args: check --select ALL | |
| markdown-lint: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - changes | |
| if: fromJson(needs.changes.outputs.all).mds_all_modified_files | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Check markdown links | |
| uses: lycheeverse/lychee-action@v2 | |
| with: | |
| args: >- | |
| --no-progress --root-dir . '**/*.md' | |
| fail: true | |
| - uses: DavidAnson/markdownlint-cli2-action@v23 | |
| with: | |
| globs: | | |
| **/*.md | |
| !**/node_modules/** | |
| config: .github/markdownlint/.markdownlint-cli2.yaml | |
| check-mkdocs: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - changes | |
| - yaml-lint | |
| - python-lint | |
| - javascript-lint | |
| - markdown-lint | |
| if: > | |
| !failure() | |
| && !cancelled() | |
| && fromJson(needs.changes.outputs.all).docs_all_modified_files | |
| steps: | |
| - uses: SciCatProject/scicatlive/.github/actions/mkdocs-pages@main | |
| with: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| DOCS_LINK_CHECK: true | |
| TAG: ${{ github.sha }} | |
| docs_folder: '' | |
| test: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - changes | |
| - yaml-lint | |
| - json-lint | |
| - shell-lint | |
| - javascript-lint | |
| - python-lint | |
| - check-mkdocs | |
| if: > | |
| ! failure() | |
| && ! cancelled() | |
| && fromJson(needs.changes.outputs.all).src_all_modified_files | |
| strategy: | |
| matrix: | |
| BE_VERSION: [v3, v4] | |
| ELASTIC_ENABLED: ['', elastic] | |
| JOBS_ENABLED: ['', jobs] | |
| LDAP_ENABLED: ['', ldap] | |
| OIDC_ENABLED: ['', oidc] | |
| DEV: ['', dev] | |
| GENERATE_SDK: [''] | |
| exclude: | |
| - BE_VERSION: ${{ | |
| !fromJson(needs.changes.outputs.all).v3_all_modified_files | |
| && 'v3' || 'nothing' | |
| }} | |
| - ELASTIC_ENABLED: ${{ | |
| !fromJson(needs.changes.outputs.all).elastic_all_modified_files | |
| && 'elastic' || 'nothing' | |
| }} | |
| - JOBS_ENABLED: ${{ | |
| !fromJson(needs.changes.outputs.all).jobs_all_modified_files | |
| && 'jobs' || 'nothing' | |
| }} | |
| - LDAP_ENABLED: ${{ | |
| !fromJson(needs.changes.outputs.all).ldap_all_modified_files | |
| && 'ldap' || 'nothing' | |
| }} | |
| - OIDC_ENABLED: ${{ | |
| !fromJson(needs.changes.outputs.all).oidc_all_modified_files | |
| && 'oidc' || 'nothing' | |
| }} | |
| - DEV: ${{ | |
| !fromJson(needs.changes.outputs.all).dev_all_modified_files | |
| && 'dev' || 'nothing' | |
| }} | |
| - ELASTIC_ENABLED: elastic | |
| BE_VERSION: v3 | |
| include: | |
| - BE_VERSION: v4 | |
| DEV: dev | |
| GENERATE_SDK: generate_sdk | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Test compose.yaml | |
| id: docker_up | |
| continue-on-error: ${{ matrix.GENERATE_SDK == 'generate_sdk' }} | |
| run: |- | |
| export JOBS_ENABLED=${{ matrix.JOBS_ENABLED }} | |
| export ELASTIC_ENABLED=${{ matrix.ELASTIC_ENABLED }} | |
| export LDAP_ENABLED=${{ matrix.LDAP_ENABLED }} | |
| export OIDC_ENABLED=${{ matrix.OIDC_ENABLED }} | |
| export BE_VERSION=${{ matrix.BE_VERSION }} | |
| export DEV=${{ matrix.DEV }} | |
| export DEV_BBACKUP=${DEV} | |
| export GENERATE_SDK=${{ matrix.GENERATE_SDK }} | |
| docker compose --profile '*' \ | |
| -f compose.yaml ${DEV:+-f .github/compose.dev.test.yaml} \ | |
| up --wait --wait-timeout 1200 \ | |
| || { | |
| docker compose ps --status=exited --services \ | |
| | while read service; do | |
| echo "Logs for $service" | |
| docker compose logs "$service" | |
| done | |
| exit 1 | |
| } | |
| - name: Add Failure Label | |
| if: >- | |
| steps.docker_up.outcome == 'failure' && | |
| matrix.GENERATE_SDK == 'generate_sdk' | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| gh pr comment ${{ github.event.pull_request.number }} --body \ | |
| "## ⚠️ SDK Generation Failed | |
| The SDK test failed. This is non-blocking, but please check \ | |
| the logs before merging." | |
| gh pr edit ${{ github.event.pull_request.number }} --add-label \ | |
| "sdk-failed" | |
| - name: Cleanup Failure Label | |
| if: >- | |
| steps.docker_up.outcome == 'success' && | |
| matrix.GENERATE_SDK == 'generate_sdk' | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| # Remove the label if it exists (ignore error if it's already gone) | |
| gh pr label remove ${{ github.event.pull_request.number }} \ | |
| --name "sdk-failed" || true | |
| tests-status: | |
| runs-on: ubuntu-latest | |
| if: always() | |
| needs: | |
| - changes | |
| - yaml-lint | |
| - json-lint | |
| - shell-lint | |
| - javascript-lint | |
| - python-lint | |
| - markdown-lint | |
| - check-mkdocs | |
| - test | |
| steps: | |
| - name: Evaluate Results | |
| run: | | |
| RES="${{ join(needs.*.result, ' ') }}" | |
| [[ $RES =~ "failure" || $RES =~ "cancelled" ]] && exit 1 || exit 0 |