Loading .gitlab-ci.yml +12 −12 Original line number Diff line number Diff line Loading @@ -6,16 +6,16 @@ stages: variables: GIT_STRATEGY: clone CONTAINER_GALAXY_URL: "${CI_REGISTRY_IMAGE}" CONTAINER_GALAXY_URL: "${NDIP_DOCKER_REPOSITORY}/${CI_PROJECT_PATH}" CONTAINER_GALAXY_BASE_URL: "${CONTAINER_GALAXY_URL}/base" CONTAINER_GALAXY_COMMIT_URL: "${CONTAINER_GALAXY_URL}/commit" GALAXY_VERSION_PYTHON: 24.1.dev3+ornl GALAXY_VERSION_DOCKER: 24.1.dev3.ornl GALAXY_VERSION_PYTHON: 24.1.dev4+ornl GALAXY_VERSION_DOCKER: 24.1.dev4.ornl # This import is for the func_rse_docker_* functions before_script: - curl https://code.ornl.gov/rse-deployment/rse-sharables/raw/master/rse-bash-modules.sh -O - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker login -u $NDIP_DOCKER_USER -p $NDIP_DOCKER_PASSWORD $NDIP_DOCKER_REPOSITORY - source rse-bash-modules.sh - func_rse_docker_cleanup Loading @@ -33,8 +33,8 @@ service-build: docker build -f dockerfiles/Dockerfile -t galaxy . - docker tag galaxy $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA - docker push $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA - docker tag galaxy $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA - docker push $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA tags: - rse-multi-builder except: Loading @@ -46,7 +46,7 @@ client-tests: - > docker run --entrypoint="" $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA bash -c ". .venv/bin/activate && cd client && yarn run jest" tags: - rse-multi-builder Loading @@ -63,7 +63,7 @@ client-tests: # docker run # --entrypoint="" # --network=host # $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA # $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA # bash -c "GALAXY_TEST_DBURI=postgresql://postgres:psql@127.0.0.1:5432/galaxy_test ./run_tests.sh -api" # - docker rm -f postgres # tags: Loading @@ -78,7 +78,7 @@ unit-tests: - > docker run --entrypoint="" $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA bash -c "GALAXY_SKIP_EXTERNAL_DEPENDENCY_MANAGEMENT=1 ./run_tests.sh -unit" tags: - rse-multi-builder Loading Loading @@ -108,7 +108,7 @@ package: script: - > docker run $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA bash -c ". .venv/bin/activate . && pip install build twine && cd packages/objectstore && sed -i -e '/version =/ s/= .*/= '$GALAXY_VERSION_PYTHON'/' setup.cfg && make dist && Loading @@ -123,8 +123,8 @@ package: tag-docker: stage: deploy script: - docker pull $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA - docker tag $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA $CONTAINER_GALAXY_URL:$GALAXY_VERSION_DOCKER - docker pull $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA - docker tag $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA $CONTAINER_GALAXY_URL:$GALAXY_VERSION_DOCKER - docker push $CONTAINER_GALAXY_URL:$GALAXY_VERSION_DOCKER when: manual except: Loading client/src/components/Form/Elements/FormData/FormData.test.js +14 −2 Original line number Diff line number Diff line Loading @@ -87,6 +87,18 @@ describe("FormData", () => { expect(wrapper.find(SELECTED_VALUE).text()).toEqual("4: hdaName4"); }); it("regular data no batch input", async () => { const wrapper = createTarget({ value: null, options: defaultOptions, disableBatchInput: true, }); const options = wrapper.find(".btn-group").findAll("button"); expect(options.length).toBe(2); expect(options.at(0).classes()).toContain("active"); expect(options.at(0).attributes("title")).toBe("Single dataset"); }); it("optional dataset", async () => { const wrapper = createTarget({ value: null, Loading Loading @@ -114,7 +126,7 @@ describe("FormData", () => { const options = wrapper.find(".btn-group").findAll("button"); expect(options.length).toBe(3); expect(options.at(0).classes()).toContain("active"); expect(options.at(0).attributes("title")).toBe("Multiple datasets"); expect(options.at(0).attributes("title")).toBe("Dataset(s)"); expect(wrapper.emitted().input[0][0]).toEqual({ batch: false, product: false, Loading Loading @@ -451,7 +463,7 @@ describe("FormData", () => { const selectedValues = wrapper.findAll(SELECTED_VALUE); expect(selectedValues.length).toBe(1); expect(selectedValues.at(0).text()).toBe("5: hdcaName5"); await wrapper.find("[title='Multiple datasets'").trigger("click"); await wrapper.find("[title='Dataset(s)'").trigger("click"); expect(options.at(0).classes()).toContain("active"); expect(wrapper.emitted().input[2][0]).toEqual(null); }); Loading client/src/components/Form/Elements/FormData/FormData.vue +9 −1 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ const props = withDefaults( collectionTypes?: Array<string>; flavor?: string; tag?: string; disableBatchInput?: boolean; }>(), { loading: false, Loading @@ -50,12 +51,14 @@ const props = withDefaults( collectionTypes: undefined, flavor: undefined, tag: undefined, disableBatchInput: false, } ); const eventStore = useEventStore(); const { datatypesMapper } = useDatatypesMapper(); const $emit = defineEmits(["input", "alert"]); // Determines wether values should be processed as linked or unlinked Loading Loading @@ -222,6 +225,11 @@ const variant = computed(() => { const flavorKey = props.flavor ? `${props.flavor}_` : ""; const multipleKey = props.multiple ? `_multiple` : ""; const variantKey = `${flavorKey}${props.type}${multipleKey}`; if (props.disableBatchInput && VARIANTS[variantKey]) { return VARIANTS[variantKey]!.filter((v) => { return v.batch === BATCH.DISABLED; }); } return VARIANTS[variantKey]; }); Loading Loading @@ -521,7 +529,7 @@ const noOptionsWarningMessage = computed(() => { @dragover.prevent @drop.prevent="onDrop"> <div class="d-flex flex-column"> <BButtonGroup v-if="variant && variant.length > 1" buttons class="align-self-start"> <BButtonGroup v-if="variant && variant.length > 0" buttons class="align-self-start"> <BButton v-for="(v, index) in variant" :key="index" Loading client/src/components/Form/Elements/FormData/variants.ts +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ export const VARIANTS: Record<string, Array<VariantInterface>> = { { src: SOURCE.DATASET, icon: "fa-copy", tooltip: "Multiple datasets", tooltip: "Dataset(s)", library: true, multiple: true, batch: BATCH.DISABLED, Loading client/src/components/Form/FormElement.vue +4 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ import { sanitize } from "dompurify"; import type { ComputedRef } from "vue"; import { computed, ref, useAttrs } from "vue"; import { getGalaxyInstance } from "@/app"; import { linkify } from "@/utils/utils"; import type { FormParameterAttributes, FormParameterTypes, FormParameterValue } from "./parameterTypes"; Loading Loading @@ -88,6 +89,8 @@ const collapsed = ref(false); const collapsible = computed(() => !props.disabled && collapsibleValue.value !== undefined); const connectable = computed(() => collapsible.value && Boolean(attrs.value["connectable"])); const disableBatchInput = computed(() => getGalaxyInstance().config.disable_batch_input); // Determines whether to expand or collapse the input { const valueJson = JSON.stringify(props.value); Loading Loading @@ -298,6 +301,7 @@ function onAlert(value: string | undefined) { :tag="attrs.tag" :type="props.type" :collection-types="attrs.collection_types" :disable-batch-input="disableBatchInput" @alert="onAlert" /> <FormDrilldown v-else-if="props.type === 'drill_down'" Loading Loading
.gitlab-ci.yml +12 −12 Original line number Diff line number Diff line Loading @@ -6,16 +6,16 @@ stages: variables: GIT_STRATEGY: clone CONTAINER_GALAXY_URL: "${CI_REGISTRY_IMAGE}" CONTAINER_GALAXY_URL: "${NDIP_DOCKER_REPOSITORY}/${CI_PROJECT_PATH}" CONTAINER_GALAXY_BASE_URL: "${CONTAINER_GALAXY_URL}/base" CONTAINER_GALAXY_COMMIT_URL: "${CONTAINER_GALAXY_URL}/commit" GALAXY_VERSION_PYTHON: 24.1.dev3+ornl GALAXY_VERSION_DOCKER: 24.1.dev3.ornl GALAXY_VERSION_PYTHON: 24.1.dev4+ornl GALAXY_VERSION_DOCKER: 24.1.dev4.ornl # This import is for the func_rse_docker_* functions before_script: - curl https://code.ornl.gov/rse-deployment/rse-sharables/raw/master/rse-bash-modules.sh -O - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker login -u $NDIP_DOCKER_USER -p $NDIP_DOCKER_PASSWORD $NDIP_DOCKER_REPOSITORY - source rse-bash-modules.sh - func_rse_docker_cleanup Loading @@ -33,8 +33,8 @@ service-build: docker build -f dockerfiles/Dockerfile -t galaxy . - docker tag galaxy $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA - docker push $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA - docker tag galaxy $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA - docker push $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA tags: - rse-multi-builder except: Loading @@ -46,7 +46,7 @@ client-tests: - > docker run --entrypoint="" $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA bash -c ". .venv/bin/activate && cd client && yarn run jest" tags: - rse-multi-builder Loading @@ -63,7 +63,7 @@ client-tests: # docker run # --entrypoint="" # --network=host # $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA # $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA # bash -c "GALAXY_TEST_DBURI=postgresql://postgres:psql@127.0.0.1:5432/galaxy_test ./run_tests.sh -api" # - docker rm -f postgres # tags: Loading @@ -78,7 +78,7 @@ unit-tests: - > docker run --entrypoint="" $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA bash -c "GALAXY_SKIP_EXTERNAL_DEPENDENCY_MANAGEMENT=1 ./run_tests.sh -unit" tags: - rse-multi-builder Loading Loading @@ -108,7 +108,7 @@ package: script: - > docker run $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA bash -c ". .venv/bin/activate . && pip install build twine && cd packages/objectstore && sed -i -e '/version =/ s/= .*/= '$GALAXY_VERSION_PYTHON'/' setup.cfg && make dist && Loading @@ -123,8 +123,8 @@ package: tag-docker: stage: deploy script: - docker pull $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA - docker tag $CONTAINER_GALAXY_COMMIT_URL:$CI_COMMIT_SHORT_SHA $CONTAINER_GALAXY_URL:$GALAXY_VERSION_DOCKER - docker pull $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA - docker tag $CONTAINER_GALAXY_COMMIT_URL:build-$CI_COMMIT_SHORT_SHA $CONTAINER_GALAXY_URL:$GALAXY_VERSION_DOCKER - docker push $CONTAINER_GALAXY_URL:$GALAXY_VERSION_DOCKER when: manual except: Loading
client/src/components/Form/Elements/FormData/FormData.test.js +14 −2 Original line number Diff line number Diff line Loading @@ -87,6 +87,18 @@ describe("FormData", () => { expect(wrapper.find(SELECTED_VALUE).text()).toEqual("4: hdaName4"); }); it("regular data no batch input", async () => { const wrapper = createTarget({ value: null, options: defaultOptions, disableBatchInput: true, }); const options = wrapper.find(".btn-group").findAll("button"); expect(options.length).toBe(2); expect(options.at(0).classes()).toContain("active"); expect(options.at(0).attributes("title")).toBe("Single dataset"); }); it("optional dataset", async () => { const wrapper = createTarget({ value: null, Loading Loading @@ -114,7 +126,7 @@ describe("FormData", () => { const options = wrapper.find(".btn-group").findAll("button"); expect(options.length).toBe(3); expect(options.at(0).classes()).toContain("active"); expect(options.at(0).attributes("title")).toBe("Multiple datasets"); expect(options.at(0).attributes("title")).toBe("Dataset(s)"); expect(wrapper.emitted().input[0][0]).toEqual({ batch: false, product: false, Loading Loading @@ -451,7 +463,7 @@ describe("FormData", () => { const selectedValues = wrapper.findAll(SELECTED_VALUE); expect(selectedValues.length).toBe(1); expect(selectedValues.at(0).text()).toBe("5: hdcaName5"); await wrapper.find("[title='Multiple datasets'").trigger("click"); await wrapper.find("[title='Dataset(s)'").trigger("click"); expect(options.at(0).classes()).toContain("active"); expect(wrapper.emitted().input[2][0]).toEqual(null); }); Loading
client/src/components/Form/Elements/FormData/FormData.vue +9 −1 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ const props = withDefaults( collectionTypes?: Array<string>; flavor?: string; tag?: string; disableBatchInput?: boolean; }>(), { loading: false, Loading @@ -50,12 +51,14 @@ const props = withDefaults( collectionTypes: undefined, flavor: undefined, tag: undefined, disableBatchInput: false, } ); const eventStore = useEventStore(); const { datatypesMapper } = useDatatypesMapper(); const $emit = defineEmits(["input", "alert"]); // Determines wether values should be processed as linked or unlinked Loading Loading @@ -222,6 +225,11 @@ const variant = computed(() => { const flavorKey = props.flavor ? `${props.flavor}_` : ""; const multipleKey = props.multiple ? `_multiple` : ""; const variantKey = `${flavorKey}${props.type}${multipleKey}`; if (props.disableBatchInput && VARIANTS[variantKey]) { return VARIANTS[variantKey]!.filter((v) => { return v.batch === BATCH.DISABLED; }); } return VARIANTS[variantKey]; }); Loading Loading @@ -521,7 +529,7 @@ const noOptionsWarningMessage = computed(() => { @dragover.prevent @drop.prevent="onDrop"> <div class="d-flex flex-column"> <BButtonGroup v-if="variant && variant.length > 1" buttons class="align-self-start"> <BButtonGroup v-if="variant && variant.length > 0" buttons class="align-self-start"> <BButton v-for="(v, index) in variant" :key="index" Loading
client/src/components/Form/Elements/FormData/variants.ts +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ export const VARIANTS: Record<string, Array<VariantInterface>> = { { src: SOURCE.DATASET, icon: "fa-copy", tooltip: "Multiple datasets", tooltip: "Dataset(s)", library: true, multiple: true, batch: BATCH.DISABLED, Loading
client/src/components/Form/FormElement.vue +4 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ import { sanitize } from "dompurify"; import type { ComputedRef } from "vue"; import { computed, ref, useAttrs } from "vue"; import { getGalaxyInstance } from "@/app"; import { linkify } from "@/utils/utils"; import type { FormParameterAttributes, FormParameterTypes, FormParameterValue } from "./parameterTypes"; Loading Loading @@ -88,6 +89,8 @@ const collapsed = ref(false); const collapsible = computed(() => !props.disabled && collapsibleValue.value !== undefined); const connectable = computed(() => collapsible.value && Boolean(attrs.value["connectable"])); const disableBatchInput = computed(() => getGalaxyInstance().config.disable_batch_input); // Determines whether to expand or collapse the input { const valueJson = JSON.stringify(props.value); Loading Loading @@ -298,6 +301,7 @@ function onAlert(value: string | undefined) { :tag="attrs.tag" :type="props.type" :collection-types="attrs.collection_types" :disable-batch-input="disableBatchInput" @alert="onAlert" /> <FormDrilldown v-else-if="props.type === 'drill_down'" Loading