Loading .ci/minikube-test-setup/deployment.yaml 0 → 100644 +32 −0 Original line number Diff line number Diff line apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/name: testing name: testing spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: test template: metadata: labels: app.kubernetes.io/name: test spec: containers: - image: postgres:12 name: postgres ports: - containerPort: 5432 env: - name: POSTGRES_DB value: postgres - name: POSTGRES_USER value: postgres - name: POSTGRES_PASSWORD value: postgres - image: rabbitmq name: rabbitmq ports: - containerPort: 5672 .ci/minikube-test-setup/start_services.sh 0 → 100644 +12 −0 Original line number Diff line number Diff line #!/usr/bin/env bash set -ex SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}") kubectl apply -f "$SCRIPTDIR/deployment.yaml" kubectl expose deployment testing --type=LoadBalancer --name=testing-service CLUSTER_IP=$(kubectl get service testing-service -o jsonpath='{.spec.clusterIP}') GALAXY_TEST_DBURI="postgresql://postgres:postgres@${CLUSTER_IP}:5432/galaxy?client_encoding=utf-8" GALAXY_TEST_AMQP_URL="amqp://${CLUSTER_IP}:5672)//" export GALAXY_TEST_DBURI export GALAXY_TEST_AMQP_URL .github/workflows/integration.yaml +49 −36 Original line number Diff line number Diff line Loading @@ -6,14 +6,15 @@ env: jobs: test: name: Test runs-on: ubuntu-18.04 runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: [3.7] python-version: ['3.7'] subset: ['upload_datatype', 'extended_metadata', 'kubernetes', 'not (upload_datatype or extended_metadata or kubernetes)'] services: postgres: image: postgres:11 image: postgres:13 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres Loading Loading @@ -56,5 +57,17 @@ jobs: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Run tests if: matrix.subset != 'kubernetes' run: './run_tests.sh -integration test/integration -- -k "${{ matrix.subset }}"' working-directory: 'galaxy root' - name: Run tests if: matrix.subset == 'kubernetes' run: | . .ci/minikube-test-setup/start_services.sh ./run_tests.sh -integration test/integration -- -k "${{ matrix.subset }}" working-directory: 'galaxy root' - uses: actions/upload-artifact@v2 if: failure() with: name: Integration test results (${{ matrix.python-version }}, ${{ matrix.subset }}) path: 'galaxy root/run_integration_tests.html' lib/galaxy/dependencies/pipfiles/default/Pipfile +1 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ pyparsing = "*" "Fabric3" = "*" paramiko = "*" cloudbridge = "*" social_auth_core = {version = "==3.3.0", extras = ['openidconnect']} social-auth-core = {version = "==3.3.0", extras = ['openidconnect']} cloudauthz = "==0.6.0" gxformat2 = "*" refgenconf = ">=0.7.0" Loading lib/galaxy/tools/parameters/wrapped_json.py +6 −3 Original line number Diff line number Diff line Loading @@ -94,10 +94,13 @@ def _json_wrap_input(input, value_wrapper, profile, handle_files="skip"): elif input_type == "boolean": json_value = _cast_if_not_none(value_wrapper, bool) elif input_type == "select": if input.multiple and packaging.version.parse(str(profile)) >= packaging.version.parse('20.05'): json_value = [_ for _ in _cast_if_not_none(value_wrapper.value, list)] else: if packaging.version.parse(str(profile)) < packaging.version.parse('20.05'): json_value = _cast_if_not_none(value_wrapper, str) else: if input.multiple: json_value = [str(_) for _ in _cast_if_not_none(value_wrapper.value, list)] else: json_value = _cast_if_not_none(value_wrapper.value, str) elif input_type == "data_column": # value is a SelectToolParameterWrapper() if input.multiple: Loading Loading
.ci/minikube-test-setup/deployment.yaml 0 → 100644 +32 −0 Original line number Diff line number Diff line apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/name: testing name: testing spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: test template: metadata: labels: app.kubernetes.io/name: test spec: containers: - image: postgres:12 name: postgres ports: - containerPort: 5432 env: - name: POSTGRES_DB value: postgres - name: POSTGRES_USER value: postgres - name: POSTGRES_PASSWORD value: postgres - image: rabbitmq name: rabbitmq ports: - containerPort: 5672
.ci/minikube-test-setup/start_services.sh 0 → 100644 +12 −0 Original line number Diff line number Diff line #!/usr/bin/env bash set -ex SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}") kubectl apply -f "$SCRIPTDIR/deployment.yaml" kubectl expose deployment testing --type=LoadBalancer --name=testing-service CLUSTER_IP=$(kubectl get service testing-service -o jsonpath='{.spec.clusterIP}') GALAXY_TEST_DBURI="postgresql://postgres:postgres@${CLUSTER_IP}:5432/galaxy?client_encoding=utf-8" GALAXY_TEST_AMQP_URL="amqp://${CLUSTER_IP}:5672)//" export GALAXY_TEST_DBURI export GALAXY_TEST_AMQP_URL
.github/workflows/integration.yaml +49 −36 Original line number Diff line number Diff line Loading @@ -6,14 +6,15 @@ env: jobs: test: name: Test runs-on: ubuntu-18.04 runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: [3.7] python-version: ['3.7'] subset: ['upload_datatype', 'extended_metadata', 'kubernetes', 'not (upload_datatype or extended_metadata or kubernetes)'] services: postgres: image: postgres:11 image: postgres:13 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres Loading Loading @@ -56,5 +57,17 @@ jobs: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Run tests if: matrix.subset != 'kubernetes' run: './run_tests.sh -integration test/integration -- -k "${{ matrix.subset }}"' working-directory: 'galaxy root' - name: Run tests if: matrix.subset == 'kubernetes' run: | . .ci/minikube-test-setup/start_services.sh ./run_tests.sh -integration test/integration -- -k "${{ matrix.subset }}" working-directory: 'galaxy root' - uses: actions/upload-artifact@v2 if: failure() with: name: Integration test results (${{ matrix.python-version }}, ${{ matrix.subset }}) path: 'galaxy root/run_integration_tests.html'
lib/galaxy/dependencies/pipfiles/default/Pipfile +1 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ pyparsing = "*" "Fabric3" = "*" paramiko = "*" cloudbridge = "*" social_auth_core = {version = "==3.3.0", extras = ['openidconnect']} social-auth-core = {version = "==3.3.0", extras = ['openidconnect']} cloudauthz = "==0.6.0" gxformat2 = "*" refgenconf = ">=0.7.0" Loading
lib/galaxy/tools/parameters/wrapped_json.py +6 −3 Original line number Diff line number Diff line Loading @@ -94,10 +94,13 @@ def _json_wrap_input(input, value_wrapper, profile, handle_files="skip"): elif input_type == "boolean": json_value = _cast_if_not_none(value_wrapper, bool) elif input_type == "select": if input.multiple and packaging.version.parse(str(profile)) >= packaging.version.parse('20.05'): json_value = [_ for _ in _cast_if_not_none(value_wrapper.value, list)] else: if packaging.version.parse(str(profile)) < packaging.version.parse('20.05'): json_value = _cast_if_not_none(value_wrapper, str) else: if input.multiple: json_value = [str(_) for _ in _cast_if_not_none(value_wrapper.value, list)] else: json_value = _cast_if_not_none(value_wrapper.value, str) elif input_type == "data_column": # value is a SelectToolParameterWrapper() if input.multiple: Loading