diff --git a/.github/workflows/api.yaml b/.github/workflows/api.yaml index 753f669f148f..ea717e7edccb 100644 --- a/.github/workflows/api.yaml +++ b/.github/workflows/api.yaml @@ -44,15 +44,15 @@ jobs: run: | echo "GALAXY_CONFIG_OVERRIDE_METADATA_STRATEGY=extended" >> $GITHUB_ENV echo "GALAXY_CONFIG_OVERRIDE_OUTPUTS_TO_WORKING_DIRECTORY=true" >> $GITHUB_ENV - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' cache-dependency-path: 'galaxy root/client/yarn.lock' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -60,12 +60,12 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache galaxy venv - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: 'galaxy root/.venv' key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-api @@ -76,7 +76,7 @@ jobs: with: flags: api working-directory: 'galaxy root' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: API test results (${{ matrix.python-version }}, ${{ matrix.chunk }}) diff --git a/.github/workflows/build_client.yaml b/.github/workflows/build_client.yaml index 59e2192dc354..6156b565f939 100644 --- a/.github/workflows/build_client.yaml +++ b/.github/workflows/build_client.yaml @@ -11,10 +11,10 @@ jobs: outputs: commit-id: ${{ steps.client-commit.outputs.commit }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' @@ -25,7 +25,7 @@ jobs: run: echo "commit=$(git rev-parse HEAD 2>/dev/null)" >> $GITHUB_OUTPUT working-directory: 'galaxy root' - name: cache client build - uses: actions/cache@v3 + uses: actions/cache@v4 id: cache with: key: galaxy-static-${{ steps.client-commit.outputs.commit }} diff --git a/.github/workflows/build_container_image.yaml b/.github/workflows/build_container_image.yaml index 1820e34cb4a3..53a4a285a73d 100644 --- a/.github/workflows/build_container_image.yaml +++ b/.github/workflows/build_container_image.yaml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest if: github.repository_owner == 'galaxyproject' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # https://stackoverflow.com/questions/59810838/how-to-get-the-short-sha-for-the-github-workflow - name: Set outputs id: commit diff --git a/.github/workflows/check_test_class_names.yaml b/.github/workflows/check_test_class_names.yaml index 217995df93e4..b2e4ac3a8d78 100644 --- a/.github/workflows/check_test_class_names.yaml +++ b/.github/workflows/check_test_class_names.yaml @@ -5,6 +5,9 @@ on: - '.ci/check_test_class_names.sh' - 'lib/galaxy_test/**' - 'test/**' +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: test: name: Test @@ -13,12 +16,12 @@ jobs: matrix: python-version: ['3.8'] steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('requirements.txt') }} diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 2ddfee5bad8c..cad852d6813c 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -19,7 +19,9 @@ on: branches: [ dev ] schedule: - cron: '16 6 * * 0' - +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: analyze: name: Analyze @@ -32,41 +34,41 @@ jobs: strategy: fail-fast: false matrix: - language: ['javascript', 'python'] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + language: ['javascript-typescript', 'python'] + # CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ] # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support steps: - - name: Checkout repository - uses: actions/checkout@v3 + - name: Checkout repository + uses: actions/checkout@v4 - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. - # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality + # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v3 - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + # ℹī¸ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - # If the Autobuild fails above, remove it and uncomment the following three lines - # modify them (or add more) to build your code if your project - # uses a compiled language + # If the Autobuild fails above, remove it and uncomment the following three lines + # modify them (or add more) to build your code if your project + # uses a compiled language - #- run: | - # make bootstrap - # make release + #- run: | + # make bootstrap + # make release - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/converter_tests.yaml b/.github/workflows/converter_tests.yaml index 1d8c0ee963b8..23848f81c014 100644 --- a/.github/workflows/converter_tests.yaml +++ b/.github/workflows/converter_tests.yaml @@ -28,24 +28,24 @@ jobs: run: | echo "GALAXY_CONFIG_OVERRIDE_METADATA_STRATEGY=extended" >> $GITHUB_ENV echo "GALAXY_CONFIG_OVERRIDE_OUTPUTS_TO_WORKING_DIRECTORY=true" >> $GITHUB_ENV - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' cache-dependency-path: 'galaxy root/client/yarn.lock' - name: Clone galaxyproject/galaxy-test-data - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: galaxyproject/galaxy-test-data path: galaxy-test-data - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Cache venv dir - uses: actions/cache@v3 + uses: actions/cache@v4 id: pip-cache with: path: ~/.cache/pip @@ -69,7 +69,7 @@ jobs: run: | mapfile -t TOOL_ARRAY < tool_list.txt planemo test --biocontainers --galaxy_python_version ${{ matrix.python-version }} --galaxy_root 'galaxy root' "${TOOL_ARRAY[@]}" - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: Converter test results (${{ matrix.python-version }}) diff --git a/.github/workflows/cwl_conformance.yaml b/.github/workflows/cwl_conformance.yaml index 206bd33798a1..f9ac963071ac 100644 --- a/.github/workflows/cwl_conformance.yaml +++ b/.github/workflows/cwl_conformance.yaml @@ -35,15 +35,15 @@ jobs: ports: - 5432:5432 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' cache-dependency-path: 'galaxy root/client/yarn.lock' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -51,12 +51,12 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache galaxy venv - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: 'galaxy root/.venv' key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }} @@ -67,7 +67,7 @@ jobs: with: flags: cwl-conformance working-directory: 'galaxy root' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: CWL conformance test results (${{ matrix.python-version }}, ${{ matrix.marker }}, ${{ matrix.conformance-version }}) diff --git a/.github/workflows/db_indexes.yaml b/.github/workflows/db_indexes.yaml index 88f1d02297af..cc5ec407b5d4 100644 --- a/.github/workflows/db_indexes.yaml +++ b/.github/workflows/db_indexes.yaml @@ -39,10 +39,10 @@ jobs: ports: - 5432:5432 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -50,13 +50,13 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 id: pip-cache with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache tox env - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: .tox key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-check-indexes diff --git a/.github/workflows/dependencies.yaml b/.github/workflows/dependencies.yaml index 12f2a0919a89..9b319d1954e1 100644 --- a/.github/workflows/dependencies.yaml +++ b/.github/workflows/dependencies.yaml @@ -12,8 +12,8 @@ jobs: matrix: python-version: ['3.8'] steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Update dependencies @@ -21,16 +21,19 @@ jobs: python -m venv .venv make update-dependencies - name: Create pull request - uses: peter-evans/create-pull-request@v4 + uses: peter-evans/create-pull-request@v6 with: author: galaxybot token: ${{ secrets.GALAXYBOT_PAT }} - commit-message: Update Python dependencies + commit-message: | + Update Python dependencies + + by running `make update-dependencies`. branch: dev_auto_update_dependencies delete-branch: true push-to-fork: galaxybot/galaxy title: Update Python dependencies - body: Run `make update-dependencies`. + body: by running `make update-dependencies`. labels: | area/dependencies kind/enhancement diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 082e93d9328d..eeb1e865baba 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -20,10 +20,6 @@ on: - all - api - selenium - branch: - description: 'Branch of code to run from' - default: 'dev' - type: string debug: required: true description: 'Run deployment tests with debug mode on' @@ -35,19 +31,18 @@ jobs: matrix: python-version: ['3.8'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: - ref: ${{ inputs.branch }} fetch-depth: 0 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('requirements.txt') }} - - uses: nanasess/setup-chromedriver@v1 + - uses: nanasess/setup-chromedriver@v2 - name: Run tests run: bash ./test/deployment/usegalaxystar.bash env: @@ -64,8 +59,8 @@ jobs: GALAXY_TEST_USEGALAXYEU_USER_PASSWORD: ${{ secrets.USEGALAXYEU_USER_PASSWORD }} GALAXY_TEST_USEGALAXYEU_USER_KEY: ${{ secrets.USEGALAXYEU_USER_KEY }} GALAXY_TEST_TIMEOUT_MULTIPLIER: 10 - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 if: always() with: - name: Deployment test results (${{ inputs.target }}, ${{ inputs.type }}) + name: Deployment test results (${{ inputs.target }}, ${{ inputs.type }}, ${{ inputs.debug }}, ${{ matrix.python-version }}) path: 'deployment_tests.html' diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index fb72e3853e64..77a01f531907 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -26,14 +26,14 @@ jobs: run: echo "TARGET_BRANCH=$GITHUB_BASE_REF" >> $GITHUB_ENV - name: Show target branch name run: echo $TARGET_BRANCH - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('requirements.txt') }} diff --git a/.github/workflows/first_startup.yaml b/.github/workflows/first_startup.yaml index 732388cc1ff2..bc487ab9ec32 100644 --- a/.github/workflows/first_startup.yaml +++ b/.github/workflows/first_startup.yaml @@ -28,16 +28,16 @@ jobs: run: shell: bash -l {0} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' cache-dependency-path: 'galaxy root/client/yarn.lock' - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -45,18 +45,18 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 id: pip-cache with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache tox env - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: .tox key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-first-startup - name: Restore client cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: key: galaxy-static-${{ needs.build-client.outputs.commit-id }} path: 'galaxy root/static' diff --git a/.github/workflows/framework.yaml b/.github/workflows/framework.yaml index 53a287c5d7c0..dcc5e7614b15 100644 --- a/.github/workflows/framework.yaml +++ b/.github/workflows/framework.yaml @@ -40,15 +40,15 @@ jobs: run: | echo "GALAXY_CONFIG_OVERRIDE_METADATA_STRATEGY=extended" >> $GITHUB_ENV echo "GALAXY_CONFIG_OVERRIDE_OUTPUTS_TO_WORKING_DIRECTORY=true" >> $GITHUB_ENV - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' cache-dependency-path: 'galaxy root/client/yarn.lock' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -56,12 +56,12 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache galaxy venv - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: 'galaxy root/.venv' key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-framework @@ -72,7 +72,7 @@ jobs: with: flags: framework working-directory: 'galaxy root' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: Framework test results (${{ matrix.python-version }}) diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index e90a4ea836b2..0dc78ef4bb1c 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -59,24 +59,21 @@ jobs: # ffmpeg: ffprobe needed by media datatypes run: sudo apt-get update && sudo apt-get -y install conntrack ffmpeg - name: Setup Minikube - id: minikube - uses: CodingNagger/minikube-setup-action@v1.0.6 + uses: medyagh/setup-minikube@latest with: - k8s-version: '1.23.0' - - name: Launch Minikube - run: eval ${{ steps.minikube.outputs.launcher }} + driver: none + kubernetes-version: '1.23.0' - name: Check pods - run: | - kubectl get pods - - uses: actions/checkout@v3 + run: kubectl get pods -A + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' cache-dependency-path: 'galaxy root/client/yarn.lock' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -84,13 +81,13 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 id: pip-cache with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache galaxy venv - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: 'galaxy root/.venv' key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-integration @@ -105,7 +102,7 @@ jobs: with: flags: integration working-directory: 'galaxy root' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: Integration test results (${{ matrix.python-version }}, ${{ matrix.chunk }}) diff --git a/.github/workflows/integration_selenium.yaml b/.github/workflows/integration_selenium.yaml index d294d91f9902..414446b5d827 100644 --- a/.github/workflows/integration_selenium.yaml +++ b/.github/workflows/integration_selenium.yaml @@ -48,10 +48,10 @@ jobs: echo "GALAXY_CONFIG_OVERRIDE_OUTPUTS_TO_WORKING_DIRECTORY=true" >> $GITHUB_ENV - name: Prune unused docker image, volumes and containers run: docker system prune -a -f - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -59,22 +59,22 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache galaxy venv - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: 'galaxy root/.venv' key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-integration-selenium - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' cache-dependency-path: 'galaxy root/client/yarn.lock' - name: Restore client cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: key: galaxy-static-${{ needs.build-client.outputs.commit-id }} path: 'galaxy root/static' @@ -85,12 +85,12 @@ jobs: with: flags: integration-selenium working-directory: 'galaxy root' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: Integration Selenium test results (${{ matrix.python-version }}) path: 'galaxy root/run_integration_tests.html' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: Integration Selenium debug info (${{ matrix.python-version }}) diff --git a/.github/workflows/jest.yaml b/.github/workflows/jest.yaml index 97be31032156..0d69a1498299 100644 --- a/.github/workflows/jest.yaml +++ b/.github/workflows/jest.yaml @@ -18,9 +18,9 @@ jobs: matrix: node: [18] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node}} cache: 'yarn' diff --git a/.github/workflows/js_lint.yaml b/.github/workflows/js_lint.yaml index 90b818e8b68b..ea821e1c105b 100644 --- a/.github/workflows/js_lint.yaml +++ b/.github/workflows/js_lint.yaml @@ -18,9 +18,9 @@ jobs: matrix: node: [18] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node}} cache: 'yarn' diff --git a/.github/workflows/labels-verifier.yaml b/.github/workflows/labels-verifier.yaml index 484040885dd8..61dee02ee73e 100644 --- a/.github/workflows/labels-verifier.yaml +++ b/.github/workflows/labels-verifier.yaml @@ -5,6 +5,8 @@ on: jobs: onMerged: name: "Check Labels on merge" + permissions: + pull-requests: write runs-on: ubuntu-latest steps: - name: Check Labels on merge @@ -13,9 +15,8 @@ jobs: ! contains(join(github.event.pull_request.labels.*.name, ', '), 'kind/') && ! contains(github.event.pull_request.labels.*.name, 'merge') && ! contains(github.event.pull_request.labels.*.name, 'minor') - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: - github-token: ${{ secrets.GITHUB_TOKEN }} script: | github.rest.issues.createComment({ owner: context.repo.owner, diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 3174f6ceb5d7..fc03fde8c3a9 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -28,8 +28,8 @@ jobs: TYPE_PATH: 'lib/galaxy/dependencies/pinned-typecheck-requirements.txt' CORE_PATH: 'lib/galaxy/dependencies/pinned-requirements.txt' steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -37,12 +37,12 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles(env.LINT_PATH, env.TYPE_PATH, env.CORE_PATH) }} - name: Cache tox env - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: .tox key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles(env.LINT_PATH, env.TYPE_PATH, env.CORE_PATH) }}-lint @@ -55,4 +55,4 @@ jobs: - name: Run mypy checks run: tox -e mypy - uses: psf/black@stable - - uses: isort/isort-action@master + - uses: isort/isort-action@v1 diff --git a/.github/workflows/lint_openapi_schema.yml b/.github/workflows/lint_openapi_schema.yml index 780b584f3b05..464d1cef825f 100644 --- a/.github/workflows/lint_openapi_schema.yml +++ b/.github/workflows/lint_openapi_schema.yml @@ -22,10 +22,10 @@ jobs: matrix: python-version: ['3.8', '3.12'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -33,12 +33,12 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache galaxy venv - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: 'galaxy root/.venv' key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-api diff --git a/.github/workflows/maintenance_bot.yaml b/.github/workflows/maintenance_bot.yaml index 55e9738d9336..626f6c7b92c7 100644 --- a/.github/workflows/maintenance_bot.yaml +++ b/.github/workflows/maintenance_bot.yaml @@ -6,15 +6,17 @@ jobs: labeler: name: Assign labels and milestone if: github.repository_owner == 'galaxyproject' + permissions: + contents: read + pull-requests: write runs-on: ubuntu-latest env: MILESTONE_NUMBER: 28 steps: - name: Get latest pull request labels id: get_pr_labels - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: - github-token: ${{ secrets.GITHUB_TOKEN }} script: | const response = await github.rest.issues.listLabelsOnIssue({ owner: context.repo.owner, @@ -25,9 +27,7 @@ jobs: return response.data; - name: Add area labels if: ${{ ! contains(join(fromJSON(steps.get_pr_labels.outputs.result).*.name, ', '), 'area/') }} - uses: actions/labeler@v4 - with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" + uses: actions/labeler@v5 - name: Assign milestone if: | ! github.event.pull_request.milestone && @@ -35,9 +35,8 @@ jobs: ! contains(github.event.pull_request.labels.*.name, 'status/WIP') && ! contains(github.event.pull_request.title, 'WIP') && ! github.event.pull_request.draft - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: - github-token: ${{ secrets.GITHUB_TOKEN }} script: | github.rest.issues.update({ owner: context.repo.owner, diff --git a/.github/workflows/mulled.yaml b/.github/workflows/mulled.yaml index 1b140eb1f6c3..4d33cc3febd7 100644 --- a/.github/workflows/mulled.yaml +++ b/.github/workflows/mulled.yaml @@ -22,10 +22,10 @@ jobs: matrix: python-version: ['3.8'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -33,12 +33,12 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache tox env - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: .tox key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-mulled @@ -49,7 +49,7 @@ jobs: - name: Run tests run: tox -e mulled working-directory: 'galaxy root' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: Mulled unit test results (${{ matrix.python-version }}) diff --git a/.github/workflows/osx_startup.yaml b/.github/workflows/osx_startup.yaml index 5c0ffbe2b534..0a3050cbcb6b 100644 --- a/.github/workflows/osx_startup.yaml +++ b/.github/workflows/osx_startup.yaml @@ -26,10 +26,10 @@ jobs: run: shell: bash -l {0} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' @@ -39,13 +39,13 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 id: pip-cache with: path: ~/Library/Caches/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache tox env - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: .tox key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-osx @@ -54,7 +54,7 @@ jobs: with: activate-environment: '' - name: Restore client cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: key: galaxy-static-${{ needs.build-client.outputs.commit-id }} path: 'galaxy root/static' diff --git a/.github/workflows/performance.yaml b/.github/workflows/performance.yaml index 48287a739f8c..45413a608f19 100644 --- a/.github/workflows/performance.yaml +++ b/.github/workflows/performance.yaml @@ -39,15 +39,15 @@ jobs: run: | echo "GALAXY_CONFIG_OVERRIDE_METADATA_STRATEGY=extended" >> $GITHUB_ENV echo "GALAXY_CONFIG_OVERRIDE_OUTPUTS_TO_WORKING_DIRECTORY=true" >> $GITHUB_ENV - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' cache-dependency-path: 'galaxy root/client/yarn.lock' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -55,24 +55,24 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache galaxy venv - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: 'galaxy root/.venv' key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-performance - name: Run tests run: ./run_tests.sh --ci_test_metrics --structured_data_html --structured_data_report_file "test.json" --skip_flakey_fails -api lib/galaxy_test/performance working-directory: 'galaxy root' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: - name: API test results + name: API test results (${{ matrix.python-version }}) path: 'galaxy root/run_api_tests.html' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: - name: Performance Metrics + name: Performance Metrics (${{ matrix.python-version }}) path: 'galaxy root/test.html' diff --git a/.github/workflows/publish_artifacts.yaml b/.github/workflows/publish_artifacts.yaml index 3703d932c0cc..dded5d1086eb 100644 --- a/.github/workflows/publish_artifacts.yaml +++ b/.github/workflows/publish_artifacts.yaml @@ -11,10 +11,10 @@ jobs: matrix: python-version: ['3.8'] steps: - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install script dependencies run: pip install galaxy-release-util - name: Build and publish diff --git a/.github/workflows/reports_startup.yaml b/.github/workflows/reports_startup.yaml index 397e78442a4a..d2a730549837 100644 --- a/.github/workflows/reports_startup.yaml +++ b/.github/workflows/reports_startup.yaml @@ -23,16 +23,16 @@ jobs: run: shell: bash -l {0} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' cache-dependency-path: 'galaxy root/client/yarn.lock' - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -40,13 +40,13 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 id: pip-cache with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache galaxy venv - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: 'galaxy root/.venv' key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-reports-startup diff --git a/.github/workflows/selenium.yaml b/.github/workflows/selenium.yaml index 2d2d30ee56d6..3c3d9126cbb5 100644 --- a/.github/workflows/selenium.yaml +++ b/.github/workflows/selenium.yaml @@ -48,15 +48,15 @@ jobs: run: | echo "GALAXY_CONFIG_OVERRIDE_METADATA_STRATEGY=extended" >> $GITHUB_ENV echo "GALAXY_CONFIG_OVERRIDE_OUTPUTS_TO_WORKING_DIRECTORY=true" >> $GITHUB_ENV - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' cache-dependency-path: 'galaxy root/client/yarn.lock' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -64,17 +64,17 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache galaxy venv - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: 'galaxy root/.venv' key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-selenium - name: Restore client cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: key: galaxy-static-${{ needs.build-client.outputs.commit-id }} path: 'galaxy root/static' @@ -85,12 +85,12 @@ jobs: with: flags: selenium working-directory: 'galaxy root' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: Selenium test results (${{ matrix.python-version }}, ${{ matrix.chunk }}) path: 'galaxy root/run_selenium_tests.html' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: Selenium debug info (${{ matrix.python-version }}, ${{ matrix.chunk }}) diff --git a/.github/workflows/test_galaxy_packages.yaml b/.github/workflows/test_galaxy_packages.yaml index 51f871b3fe38..da5e092118dc 100644 --- a/.github/workflows/test_galaxy_packages.yaml +++ b/.github/workflows/test_galaxy_packages.yaml @@ -20,19 +20,19 @@ jobs: matrix: python-version: ['3.8', '3.12'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' cache-dependency-path: 'galaxy root/client/yarn.lock' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} diff --git a/.github/workflows/test_galaxy_packages_for_pulsar.yaml b/.github/workflows/test_galaxy_packages_for_pulsar.yaml index 2a8e39cadbce..3ce8c2f3bece 100644 --- a/.github/workflows/test_galaxy_packages_for_pulsar.yaml +++ b/.github/workflows/test_galaxy_packages_for_pulsar.yaml @@ -22,14 +22,14 @@ jobs: matrix: python-version: ['3.7'] # don't upgrade, see https://github.com/galaxyproject/galaxy/pull/16649 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} diff --git a/.github/workflows/test_galaxy_release.yaml b/.github/workflows/test_galaxy_release.yaml index 722399a1cb1f..6e39d98adc8e 100644 --- a/.github/workflows/test_galaxy_release.yaml +++ b/.github/workflows/test_galaxy_release.yaml @@ -22,7 +22,7 @@ jobs: name: Test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Run tests diff --git a/.github/workflows/toolshed.yaml b/.github/workflows/toolshed.yaml index 5552bc4f3900..df121215d9f1 100644 --- a/.github/workflows/toolshed.yaml +++ b/.github/workflows/toolshed.yaml @@ -34,15 +34,15 @@ jobs: ports: - 5432:5432 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' cache-dependency-path: 'galaxy root/client/yarn.lock' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -50,13 +50,13 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 id: pip-cache with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache galaxy venv - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: 'galaxy root/.venv' key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-toolshed @@ -82,7 +82,7 @@ jobs: TOOL_SHED_API_VERSION: ${{ matrix.shed-api }} TOOL_SHED_TEST_BROWSER: ${{ matrix.shed-api == 'v1' && 'twill' || 'playwright' }} working-directory: 'galaxy root' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: Toolshed test results (${{ matrix.python-version }}, ${{ matrix.shed-api }}, ${{ matrix.test-install-client }}) diff --git a/.github/workflows/unit-postgres.yaml b/.github/workflows/unit-postgres.yaml index f2c57b6228d4..dbb9b21587c7 100644 --- a/.github/workflows/unit-postgres.yaml +++ b/.github/workflows/unit-postgres.yaml @@ -33,15 +33,15 @@ jobs: ports: - 5432:5432 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' cache-dependency-path: 'galaxy root/client/yarn.lock' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Get full Python version @@ -49,12 +49,12 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache galaxy venv - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: 'galaxy root/.venv' key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-unit-postgres diff --git a/.github/workflows/unit.yaml b/.github/workflows/unit.yaml index af5f7810a894..33b2857ddeee 100644 --- a/.github/workflows/unit.yaml +++ b/.github/workflows/unit.yaml @@ -22,13 +22,13 @@ jobs: matrix: python-version: ['3.8', '3.12'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: 'galaxy root' - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '18.12.1' cache: 'yarn' @@ -38,12 +38,12 @@ jobs: shell: bash run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT - name: Cache pip dir - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache tox env - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: .tox key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-unit @@ -58,7 +58,7 @@ jobs: with: flags: py-unit working-directory: 'galaxy root' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: Unit test results (${{ matrix.python-version }})