Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge release_23.0 into dev #16088

Merged
merged 104 commits into from
May 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
a15fd1f
fix assertion linters
bernt-matthias Mar 30, 2023
566a87d
fix type annotations for assertions
bernt-matthias Mar 30, 2023
fd7963b
assertion typing: allow int/bool in addition to str
bernt-matthias Mar 30, 2023
ed7c2d6
Handle empty lines better in tabular display dataset parsing
dannon Apr 20, 2023
c6067f7
Expand last column to fill tabular display table for better formatting
dannon Apr 20, 2023
2328939
Display history name
davelopez Apr 25, 2023
385f154
Expose 'prepare only' actions for STS composable
davelopez Apr 25, 2023
18891fd
Make direct downloads more obvious
davelopez Apr 25, 2023
85df98a
Merge pull request #15991 from davelopez/23.0_fix_history_export_pape…
dannon Apr 26, 2023
029a27d
Reset the selection after building a collection
davelopez Apr 26, 2023
4dda1b5
Clarify search behavior in placeholder text
davelopez Apr 26, 2023
7229cf0
Improve display chunk generation for BAMs
wm75 Apr 20, 2023
65c16ab
Fix wrongly saved file
wm75 Apr 20, 2023
e6c7c2b
Fix linting
wm75 Apr 21, 2023
18cb605
Merge pull request #16005 from davelopez/23.0_fix_history_items_selector
dannon Apr 26, 2023
e178967
Remove no longer valid TODO comment
davelopez Apr 27, 2023
d1cf060
Merge pull request #16007 from mvdbeek/backport_bam_fix
dannon Apr 27, 2023
6ec4020
Add test case for missing dataset file
davelopez Apr 27, 2023
6c53512
Rename add_dataset to include_dataset_file
davelopez Apr 27, 2023
a41a098
Allow setting auto_decompress property in staging interface
mvdbeek Apr 27, 2023
23628cb
Merge pull request #16014 from mvdbeek/add_decompress_flag_to_staging…
martenson Apr 28, 2023
22f3545
Merge pull request #16006 from davelopez/23.0_fix_missleading_placeho…
martenson Apr 28, 2023
2c9f235
convert WorkflowEdges to canvas
ElectronicBlueberry Mar 20, 2023
83a368d
refactor Connection to interface
ElectronicBlueberry Mar 20, 2023
3529c79
make node position relative
ElectronicBlueberry Mar 20, 2023
279a8d8
more granular reactivity
ElectronicBlueberry Mar 20, 2023
fa6d691
use more strict implementation of pushOrSet
ElectronicBlueberry Mar 20, 2023
b095721
remove unused css
ElectronicBlueberry Mar 20, 2023
81ecce1
convert connections to svg
ElectronicBlueberry Apr 26, 2023
ba556c7
add tsconfig tweak to stop dev server crashes
ElectronicBlueberry Apr 26, 2023
1e623fc
fix initial rendering of edges
ElectronicBlueberry Apr 26, 2023
72cbea9
remove drawable connection composable
ElectronicBlueberry Apr 26, 2023
09a5297
undo test noop
ElectronicBlueberry Apr 26, 2023
9dc6816
restore navigation.yml
ElectronicBlueberry Apr 28, 2023
ce67102
rename connection
ElectronicBlueberry Apr 28, 2023
c228da4
fix connection drop
ElectronicBlueberry Apr 28, 2023
a2ff1e9
fix initial loading of invalid connections
ElectronicBlueberry Apr 28, 2023
ab03bb0
Ensure a dataset in OK state has a valid file
davelopez Apr 27, 2023
649e056
Shortcut condition to avoid checking the disk
davelopez Apr 28, 2023
c616c6e
Use better name
davelopez Apr 28, 2023
af5b244
Fix condition
davelopez Apr 28, 2023
69a5272
Fix reports graphs; use secondary version of d3v3 for compat
dannon Apr 27, 2023
57c1bd8
Fix reports masthead
dannon Apr 27, 2023
c9b794e
Load sparkline in jquery.custom -- used in reports, drop after we either
dannon Apr 28, 2023
6cb911e
Make Expression Tools searchable in `ToolBoxWorkflow`
ahmedhamidawan May 1, 2023
e7b533d
Add support for auto-importing workflows via Tutorial Mode
hexylena Mar 2, 2023
f0b52d8
Add very basic tutorial mode test case
hexylena Mar 2, 2023
15b5977
Adjust trs url handle, and path pushed
dannon Apr 5, 2023
ecb37f7
Apply suggestions from code review
dannon Apr 5, 2023
81a2e24
Fix up test imports, formatting.
dannon Apr 6, 2023
36bfae1
Log object store id too
davelopez Apr 28, 2023
e72edc3
Variable safety
dannon May 2, 2023
dea5f3e
Minor tweak to keydown listener, format
dannon May 2, 2023
4afd469
make uri_prefixes stricter
ElectronicBlueberry May 2, 2023
8ef3518
Merge pull request #16022 from ahmedhamidawan/expression_tools_search
mvdbeek May 2, 2023
9dad4ac
Fix galaxy proxy active style on body
dannon May 2, 2023
706dda2
Fix click event binding; this was broken when swapping away from jque…
dannon May 2, 2023
3078b8d
Drop unused restoreLocation
dannon May 2, 2023
89cb7ca
Merge pull request #16015 from dannon/fix-reports
mvdbeek May 2, 2023
82694e6
Merge pull request #16000 from ElectronicBlueberry/workflow-connectio…
mvdbeek May 2, 2023
2bc34c5
Merge pull request #15970 from dannon/tabular-view-fixes
mvdbeek May 2, 2023
36bebd2
Redo workflow element handling
dannon May 2, 2023
1d02485
Include more dataset info on error
davelopez May 2, 2023
ec1cf86
Merge pull request #16024 from mvdbeek/file-paste-backport
dannon May 2, 2023
7f5e97a
Refactor test to assert for specific error
davelopez May 2, 2023
6f4d891
Merge pull request #16013 from davelopez/23.0_ensure_history_export_c…
mvdbeek May 2, 2023
096ed7b
Fix leftover jquery style class change
hexylena May 3, 2023
0aff863
Merge pull request #15684 from hexylena/gtn-trs
dannon May 3, 2023
f488d9f
Fix vscode test discovery, noisy startup logs, set_meta stderr
mvdbeek May 4, 2023
1811f6d
Merge pull request #16039 from mvdbeek/fix_gcsfs_test_discovery
mvdbeek May 4, 2023
3a2e936
Install node from setup-node action in more tests
mvdbeek May 4, 2023
d2271e5
Replace httpbin service with pytest-httpserver
mvdbeek May 4, 2023
69ebbb7
Replace httpbin service with pytest-httpserver
mvdbeek May 4, 2023
387b083
Merge pull request #16043 from mvdbeek/install_node_from_github_action
dannon May 4, 2023
7a9ba0c
Merge pull request #16042 from mvdbeek/replace_httpbin
martenson May 4, 2023
fa35e52
Add test case for name-contains query on histories
davelopez May 3, 2023
417029d
Fix case insensitive orm filtering in lists
davelopez May 4, 2023
cc2e8a8
Merge pull request #16036 from davelopez/23.0_fix_case_sensitive_filt…
bgruening May 5, 2023
81b42f0
Update pulsar to 0.15.2
mvdbeek May 5, 2023
d5ab296
Various fixes to path prefix handling
mvdbeek May 3, 2023
a9428a1
Merge pull request #16033 from mvdbeek/path_prefix_handling
dannon May 5, 2023
65bb4e4
Merge pull request #16050 from mvdbeek/pulsar_update_0_15_2
mvdbeek May 6, 2023
1484237
Fix minor error in `WorkflowList` help modal
ahmedhamidawan May 6, 2023
63df9be
Fix for missing Href to Composables pass-through component
hujambo-dunia Apr 26, 2023
873a433
Fix for link pop-up window/toaster after Data Library to History import
hujambo-dunia Apr 26, 2023
9da3b03
Update client/src/components/Libraries/LibraryFolder/TopToolbar/impor…
dannon Apr 27, 2023
74eb844
Merge pull request #16057 from ahmedhamidawan/workflows_info_modal_is…
davelopez May 8, 2023
7421240
Merge pull request #16060 from davelopez/23.0_backport_#16008
martenson May 8, 2023
ac432a5
Display DCE in job parameter component
mvdbeek Mar 8, 2023
13514a7
Wait for tool form data to be set before refreshing tool form
mvdbeek May 5, 2023
c14db55
Fix re-run with DCE inputs
mvdbeek May 5, 2023
012102d
Merge pull request #15873 from bernt-matthias/topic/fix-assertion-bytes
mvdbeek May 9, 2023
668c2ed
Also patch values when setting list of selected datasets
mvdbeek May 9, 2023
a9911be
Anonymous User tool link bug fix
ahmedhamidawan May 9, 2023
f856207
Merge pull request #16065 from ahmedhamidawan/tool_link_share_anon
davelopez May 10, 2023
b9bb92c
Don't build tool state for first param combination
mvdbeek May 10, 2023
3ce0a8d
Selemium test for re-running part of dataset collection via DCE
mvdbeek May 10, 2023
5ec64b9
Merge pull request #15744 from mvdbeek/dce_display
dannon May 11, 2023
19e361b
Merge branch 'release_22.05' into release_23.0
nsoranzo May 11, 2023
4d6008f
Fix BCO export by updating gxformat2
mvdbeek May 12, 2023
a4266b8
Merge pull request #16081 from mvdbeek/gxformat2_update
martenson May 12, 2023
ab99721
Merge branch 'release_23.0' into dev
nsoranzo May 13, 2023
16be4b6
Partially fix merge forward for HistoryExport
davelopez May 12, 2023
e93729f
fix computed getter mock in HistoryExport test
ElectronicBlueberry May 15, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ jobs:
- uses: actions/checkout@v3
with:
path: 'galaxy root'
- uses: actions/setup-node@v3
with:
node-version: '18.12.1'
cache: 'yarn'
cache-dependency-path: 'galaxy root/client/yarn.lock'
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/converter_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ jobs:
- uses: actions/checkout@v3
with:
path: 'galaxy root'
- uses: actions/setup-node@v3
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
with:
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/cwl_conformance.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@ jobs:
- uses: actions/checkout@v3
with:
path: 'galaxy root'
- uses: actions/setup-node@v3
with:
node-version: '18.12.1'
cache: 'yarn'
cache-dependency-path: 'galaxy root/client/yarn.lock'
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/first_startup.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ jobs:
- uses: actions/checkout@v3
with:
path: 'galaxy root'
- uses: actions/setup-node@v3
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
with:
Expand All @@ -48,11 +53,6 @@ jobs:
with:
path: .tox
key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-first-startup
- uses: actions/setup-node@v3
with:
node-version: '18.12.1'
cache: 'yarn'
cache-dependency-path: 'galaxy root/client/yarn.lock'
- name: Install tox
run: pip install tox
- name: run tests
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/framework.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@ jobs:
- uses: actions/checkout@v3
with:
path: 'galaxy root'
- uses: actions/setup-node@v3
with:
node-version: '18.12.1'
cache: 'yarn'
cache-dependency-path: 'galaxy root/client/yarn.lock'
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,11 @@ jobs:
- uses: actions/checkout@v3
with:
path: 'galaxy root'
- uses: actions/setup-node@v3
with:
node-version: '18.12.1'
cache: 'yarn'
cache-dependency-path: 'galaxy root/client/yarn.lock'
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/osx_startup.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ jobs:
- uses: actions/checkout@v3
with:
path: 'galaxy root'
- uses: actions/setup-node@v3
with:
node-version: '18.12.1'
cache: 'yarn'
cache-dependency-path: 'galaxy root/client/yarn.lock'
- name: Get full Python version
id: full-python-version
shell: bash
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/performance.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ jobs:
- uses: actions/checkout@v3
with:
path: 'galaxy root'
- uses: actions/setup-node@v3
with:
node-version: '18.12.1'
cache: 'yarn'
cache-dependency-path: 'galaxy root/client/yarn.lock'
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/reports_startup.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ jobs:
- uses: actions/checkout@v3
with:
path: 'galaxy root'
- uses: actions/setup-node@v3
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
with:
Expand All @@ -45,11 +50,6 @@ jobs:
with:
path: 'galaxy root/.venv'
key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-reports-startup
- uses: actions/setup-node@v3
with:
node-version: '18.12.1'
cache: 'yarn'
cache-dependency-path: 'galaxy root/client/yarn.lock'
- name: Install tox
run: pip install tox
- name: Run tests
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/selenium.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@ jobs:
- uses: actions/checkout@v3
with:
path: 'galaxy root'
- uses: actions/setup-node@v3
with:
node-version: '18.12.1'
cache: 'yarn'
cache-dependency-path: 'galaxy root/client/yarn.lock'
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
Expand All @@ -63,11 +68,6 @@ jobs:
with:
path: 'galaxy root/.venv'
key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-selenium
- uses: actions/setup-node@v3
with:
node-version: '18.12.1'
cache: 'yarn'
cache-dependency-path: 'galaxy root/client/yarn.lock'
- uses: nanasess/setup-chromedriver@v1
- name: Run tests
run: ./run_tests.sh --coverage -selenium lib/galaxy_test/selenium -- --num-shards=3 --shard-id=${{ matrix.chunk }}
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/unit-postgres.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ jobs:
- uses: actions/checkout@v3
with:
path: 'galaxy root'
- uses: actions/setup-node@v3
with:
node-version: '18.12.1'
cache: 'yarn'
cache-dependency-path: 'galaxy root/client/yarn.lock'
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/unit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ jobs:
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- uses: actions/setup-node@v3
with:
node-version: '18.12.1'
cache: 'yarn'
cache-dependency-path: 'galaxy root/client/yarn.lock'
- name: Get full Python version
id: full-python-version
shell: bash
Expand Down
4 changes: 2 additions & 2 deletions client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
"@handsontable/vue": "^2.0.0",
"@hirez_io/observer-spy": "^2.1.2",
"@johmun/vue-tags-input": "^2.1.0",
"@pinia/testing": "^0.0.14",
"@popperjs/core": "^2.11.5",
"@sentry/browser": "^6.17.4",
"@vueuse/core": "^9.10.0",
Expand Down Expand Up @@ -77,7 +76,7 @@
"object-hash": "^3.0.0",
"openapi-typescript": "^6.1.0",
"openapi-typescript-fetch": "^1.1.3",
"pinia": "^2.0.23",
"pinia": "^2.0.36",
"pinia-plugin-persistedstate": "^2.4.0",
"popper.js": "^1.16.1",
"pretty-bytes": "^6.0.0",
Expand Down Expand Up @@ -140,6 +139,7 @@
"@babel/preset-env": "^7.20.2",
"@babel/preset-typescript": "^7.18.6",
"@cerner/duplicate-package-checker-webpack-plugin": "^2.3.0",
"@pinia/testing": "0.1.0",
"@testing-library/jest-dom": "^5.16.4",
"@types/d3": "^7.4.0",
"@types/jquery": "^3.5.16",
Expand Down
27 changes: 19 additions & 8 deletions client/src/components/History/Content/GenericItem.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,37 +3,39 @@
<loading-span v-if="loading" message="Loading dataset" />
<div v-else>
<ContentItem
:id="item.hid"
:id="item.hid ?? item.element_index + 1"
add-highlight-btn
is-history-item
:item="item"
:name="item.name"
:item="item?.object || item"
:name="item.name || item.element_identifier"
:expand-dataset="expandDataset"
:is-dataset="item.history_content_type == 'dataset'"
:is-dataset="item.history_content_type == 'dataset' || item.element_type == 'hda'"
@update:expand-dataset="expandDataset = $event"
@view-collection="viewCollection = !viewCollection"
@delete="onDelete(item)"
@toggleHighlights="onHighlight(item)"
@undelete="onUndelete(item)"
@unhide="onUnhide(item)" />
<div v-if="viewCollection">
<GenericElement :dsc="item" />
<GenericElement :dsc="item?.object || item" />
</div>
</div>
</component>
</template>

<script>
import LoadingSpan from "components/LoadingSpan";
import { DatasetCollectionProvider, DatasetProvider } from "components/providers";
import { deleteContent, updateContentFields } from "components/History/model/queries";
import { DatasetCollectionProvider, DatasetProvider } from "@/components/providers";
import { DatasetCollectionElementProvider } from "@/components/providers/storeProviders";
import { deleteContent, updateContentFields } from "@/components/History/model/queries";
import ContentItem from "./ContentItem";
import GenericElement from "./GenericElement";
import { mapActions } from "pinia";
import { useHistoryStore } from "@/stores/historyStore";

export default {
components: {
DatasetCollectionElementProvider,
ContentItem,
GenericElement,
DatasetProvider,
Expand All @@ -58,7 +60,16 @@ export default {
},
computed: {
providerComponent() {
return this.itemSrc == "hda" ? "DatasetProvider" : "DatasetCollectionProvider";
switch (this.itemSrc) {
case "hda":
return "DatasetProvider";
case "hdca":
return "DatasetCollectionProvider";
case "dce":
return "DatasetCollectionElementProvider";
default:
throw Error(`Unknown element src ${this.itemSrc}`);
}
},
},
methods: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -343,8 +343,8 @@ export default {
// have to hide the source items if that was requested
if (modalResult.hide_source_items) {
this.$emit("hide-selection", this.contentSelection);
this.$emit("reset-selection");
}
this.$emit("reset-selection");
},
},
};
Expand Down
25 changes: 25 additions & 0 deletions client/src/components/History/Export/HistoryExport.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ import type { components } from "@/schema";
import { getLocalVue } from "@tests/jest/helpers";
import HistoryExport from "./HistoryExport.vue";
import { getExportRecords } from "./services";
import { setActivePinia } from "pinia";
import { createTestingPinia } from "@pinia/testing";
import { useHistoryStore, type HistorySummary } from "@/stores/historyStore";

const localVue = getLocalVue(true);

Expand All @@ -19,6 +22,11 @@ const mockGetExportRecords = getExportRecords as jest.MockedFunction<typeof getE
mockGetExportRecords.mockResolvedValue([]);

const FAKE_HISTORY_ID = "fake-history-id";
const FAKE_HISTORY = {
id: FAKE_HISTORY_ID,
name: "fake-history-name",
};

const REMOTE_FILES_API_ENDPOINT = new RegExp("/api/remote_files/plugins");

type FilesSourcePluginList = components["schemas"]["FilesSourcePlugin"][];
Expand All @@ -36,9 +44,20 @@ const REMOTE_FILES_API_RESPONSE: FilesSourcePluginList = [
];

async function mountHistoryExport() {
const pinia = createTestingPinia();
setActivePinia(pinia);
const historyStore = useHistoryStore(pinia);

// the mocking method described in the pinia docs does not work in vue2
// this is a work-around
jest.spyOn(historyStore, "getHistoryById").mockImplementation(
(_history_id: string) => FAKE_HISTORY as HistorySummary
);

const wrapper = shallowMount(HistoryExport, {
propsData: { historyId: FAKE_HISTORY_ID },
localVue,
pinia,
});
await flushPromises();
return wrapper;
Expand All @@ -56,6 +75,12 @@ describe("HistoryExport.vue", () => {
axiosMock.restore();
});

it("should render the history name", async () => {
const wrapper = await mountHistoryExport();

expect(wrapper.find("#history-name").text()).toBe(FAKE_HISTORY.name);
});

it("should render export options", async () => {
const wrapper = await mountHistoryExport();

Expand Down
Loading