Skip to content

Commit

Permalink
Merge branch 'release_24.1' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
mvdbeek committed May 28, 2024
2 parents bb69316 + 8ed752a commit 32868aa
Show file tree
Hide file tree
Showing 105 changed files with 1,536 additions and 582 deletions.
2 changes: 2 additions & 0 deletions .github/codeql/codeql-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
paths-ignore:
- 'lib/galaxy/datatypes/test/*.bcsl.ts'
146 changes: 101 additions & 45 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,73 +1,129 @@
---
area/admin:
- client/src/components/admin/**/*
- doc/source/admin/**/*
- changed-files:
- any-glob-to-any-file:
- client/src/components/admin/**/*
- doc/source/admin/**/*
area/API:
- lib/galaxy/webapps/galaxy/api/**/*
- changed-files:
- any-glob-to-any-file:
- lib/galaxy/webapps/galaxy/api/**/*
area/auth:
- lib/galaxy/auth/**/*
- lib/galaxy/authnz/**/*
- changed-files:
- any-glob-to-any-file:
- lib/galaxy/auth/**/*
- lib/galaxy/authnz/**/*
area/client:
- client/*
- changed-files:
- any-glob-to-any-file:
- client/*
area/database:
- lib/galaxy/model/**/*
- changed-files:
- any-glob-to-any-file:
- lib/galaxy/model/**/*
area/datatypes:
- lib/galaxy/datatypes/**/*
- lib/galaxy/config/sample/datatypes_conf.xml.sample
- changed-files:
- any-glob-to-any-file:
- lib/galaxy/datatypes/**/*
- lib/galaxy/config/sample/datatypes_conf.xml.sample
area/dependencies:
- lib/galaxy/dependencies/**/*
- changed-files:
- any-glob-to-any-file:
- lib/galaxy/dependencies/**/*
area/documentation:
- doc/**/*
- changed-files:
- any-glob-to-any-file:
- doc/**/*
area/jobs:
- lib/galaxy/jobs/**/*
- changed-files:
- any-glob-to-any-file:
- lib/galaxy/jobs/**/*
area/libraries:
- client/src/components/LibraryFolder/**/*
- lib/galaxy/webapps/galaxy/api/libraries.py
- changed-files:
- any-glob-to-any-file:
- client/src/components/LibraryFolder/**/*
- lib/galaxy/webapps/galaxy/api/libraries.py
area/objectstore:
- lib/galaxy/objectstore/**/*
- changed-files:
- any-glob-to-any-file:
- lib/galaxy/objectstore/**/*
area/packaging:
- packages/**/*
- changed-files:
- any-glob-to-any-file:
- packages/**/*
area/reports:
- client/src/reports/**/*
- lib/galaxy/webapps/reports/**/*
- templates/webapps/reports/**/*
- changed-files:
- any-glob-to-any-file:
- client/src/reports/**/*
- lib/galaxy/webapps/reports/**/*
- templates/webapps/reports/**/*
area/scripts:
- scripts/**/*
- changed-files:
- any-glob-to-any-file:
- scripts/**/*
area/security:
- lib/galaxy/security/**/*
- changed-files:
- any-glob-to-any-file:
- lib/galaxy/security/**/*
area/testing:
- lib/galaxy_test/**/*
- run_tests.sh
- test/**/*
- test-data/**/*
- changed-files:
- any-glob-to-any-file:
- lib/galaxy_test/**/*
- run_tests.sh
- test/**/*
- test-data/**/*
area/testing/api:
- lib/galaxy_test/api/**/*
- changed-files:
- any-glob-to-any-file:
- lib/galaxy_test/api/**/*
area/testing/integration:
- test/integration/**/*
- test/integration_selenium/**/*
- changed-files:
- any-glob-to-any-file:
- test/integration/**/*
- test/integration_selenium/**/*
area/testing/selenium:
- lib/galaxy/selenium/**/*
- lib/galaxy_test/selenium/**/*
- changed-files:
- any-glob-to-any-file:
- lib/galaxy/selenium/**/*
- lib/galaxy_test/selenium/**/*
area/tool-dependencies:
- lib/galaxy/tool_util/deps/**/*
- changed-files:
- any-glob-to-any-file:
- lib/galaxy/tool_util/deps/**/*
area/tool-framework:
- lib/galaxy/tools/**/*
- lib/galaxy/tool_util/**/*
- lib/galaxy/webapps/galaxy/api/tools.py
- changed-files:
- any-glob-to-any-file:
- lib/galaxy/tools/**/*
- lib/galaxy/tool_util/**/*
- lib/galaxy/webapps/galaxy/api/tools.py
area/tools:
- tools/**/*
- tool-data/**/*
- changed-files:
- any-glob-to-any-file:
- tools/**/*
- tool-data/**/*
area/toolshed:
- client/src/toolshed/**/*
- lib/galaxy/webapps/galaxy/api/toolshed.py
- lib/toolshed/**/*
- templates/webapps/tool_shed/**/*
- changed-files:
- any-glob-to-any-file:
- client/src/toolshed/**/*
- lib/galaxy/webapps/galaxy/api/toolshed.py
- lib/toolshed/**/*
- templates/webapps/tool_shed/**/*
area/UI-UX:
- all: ["client/src/**/*", "!client/src/api/schema/schema.ts"]
any: ["templates/**/*"]
- changed-files:
- any-glob-to-any-file:
- client/src/**/*
- templates/**/*
- all-globs-to-all-files:
- '!client/src/api/schema/schema.ts'
area/util:
- lib/galaxy/util/**/*
- changed-files:
- any-glob-to-any-file:
- lib/galaxy/util/**/*
area/visualizations:
- config/plugins/visualizations/**/*
- changed-files:
- any-glob-to-any-file:
- config/plugins/visualizations/**/*
area/workflows:
- lib/galaxy/workflow/**/*
- changed-files:
- any-glob-to-any-file:
- lib/galaxy/workflow/**/*
3 changes: 3 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ jobs:
# 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

config-file: ./.github/codeql/codeql-config.yml


# 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
Expand Down
14 changes: 9 additions & 5 deletions client/openapi_to_schema.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,15 @@ const inputFilePath = process.argv[2];
const localPath = new URL(inputFilePath, import.meta.url);
openapiTS(localPath, {
transform(schemaObject, metadata) {
if (
"const" in schemaObject &&
(typeof schemaObject.const === "string" || schemaObject.const instanceof String)
) {
return `"${schemaObject.const}"`;
if ("const" in schemaObject) {
const constType = typeof schemaObject.const;
switch (constType) {
case "number":
case "boolean":
return `${schemaObject.const}`;
default:
return `"${schemaObject.const}"`;
}
}
},
}).then((output) => console.log(output));
11 changes: 10 additions & 1 deletion client/src/api/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,11 @@ export type HDADetailed = components["schemas"]["HDADetailed"];
*/
export type HistoryItemSummary = HDASummary | HDCASummary;

/**
* Represents a HistoryDatasetAssociation that is inaccessible to the user.
*/
export type HDAInaccessible = components["schemas"]["HDAInaccessible"];

/**
* Contains storage (object store, quota, etc..) details for a dataset.
*/
Expand All @@ -102,7 +107,7 @@ export type DatasetStorageDetails = components["schemas"]["DatasetStorageDetails
/**
* Represents a HistoryDatasetAssociation with either summary or detailed information.
*/
export type DatasetEntry = HDASummary | HDADetailed;
export type DatasetEntry = HDASummary | HDADetailed | HDAInaccessible;

/**
* Contains summary information about a DCE (DatasetCollectionElement).
Expand Down Expand Up @@ -188,6 +193,10 @@ export function hasDetails(entry: DatasetEntry): entry is HDADetailed {
return "peek" in entry;
}

export function isInaccessible(entry: DatasetEntry): entry is HDAInaccessible {
return "accessible" in entry && !entry.accessible;
}

/**
* Contains dataset metadata information.
*/
Expand Down
32 changes: 29 additions & 3 deletions client/src/api/remoteFiles.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,16 +46,42 @@ export async function fetchFileSources(options: FilterFileSourcesOptions = {}):

export const remoteFilesFetcher = fetcher.path("/api/remote_files").method("get").create();

export interface BrowseRemoteFilesResult {
entries: RemoteEntry[];
totalMatches: number;
}

/**
* Get the list of files and directories from the server for the given file source URI.
* @param uri The file source URI to browse.
* @param isRecursive Whether to recursively retrieve all files inside subdirectories.
* @param writeable Whether to return only entries that can be written to.
* @param limit The maximum number of entries to return.
* @param offset The number of entries to skip before returning the rest.
* @param query The query string to filter the entries.
* @param sortBy The field to sort the entries by.
* @returns The list of files and directories from the server for the given URI.
*/
export async function browseRemoteFiles(uri: string, isRecursive = false, writeable = false): Promise<RemoteEntry[]> {
const { data } = await remoteFilesFetcher({ target: uri, recursive: isRecursive, writeable });
return data as RemoteEntry[];
export async function browseRemoteFiles(
uri: string,
isRecursive = false,
writeable = false,
limit?: number,
offset?: number,
query?: string,
sortBy?: string
): Promise<BrowseRemoteFilesResult> {
const { data, headers } = await remoteFilesFetcher({
target: uri,
recursive: isRecursive,
writeable,
limit,
offset,
query,
sort_by: sortBy,
});
const totalMatches = parseInt(headers.get("total_matches") ?? "0");
return { entries: data as RemoteEntry[], totalMatches };
}

const createEntry = fetcher.path("/api/remote_files").method("post").create();
Expand Down
Loading

0 comments on commit 32868aa

Please sign in to comment.