Commit bd6d9cf7 authored by Yakubov, Sergey's avatar Yakubov, Sergey
Browse files

Merge branch 'dev' into 'main'

Sync with dev branch

See merge request !105
parents bcb774d1 902025e0
Loading
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -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

@@ -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:
@@ -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
@@ -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:
@@ -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
@@ -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 && 
@@ -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:
+14 −2
Original line number Diff line number Diff line
@@ -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,
@@ -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,
@@ -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);
    });
+9 −1
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ const props = withDefaults(
        collectionTypes?: Array<string>;
        flavor?: string;
        tag?: string;
        disableBatchInput?: boolean;
    }>(),
    {
        loading: false,
@@ -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
@@ -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];
});

@@ -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"
+1 −1
Original line number Diff line number Diff line
@@ -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,
+4 −0
Original line number Diff line number Diff line
@@ -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";
@@ -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);
@@ -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