Skip to content

Commit

Permalink
Merge branch 'main' into cp-odh-pr-50
Browse files Browse the repository at this point in the history
  • Loading branch information
lresende authored Jan 11, 2025
2 parents 0b29bbd + f444798 commit 8a5a337
Show file tree
Hide file tree
Showing 26 changed files with 480 additions and 156 deletions.
28 changes: 28 additions & 0 deletions .github/actions/install-ui-dependencies/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: "Install UI dependencies"
description: "Install UI dependencies; fail the build if the lock file is not up-to-date"

inputs:
working_dir:
description: "Elyra path"
required: false
default: "."

runs:
using: "composite"
steps:
- name: Go to working directory
shell: bash
run: |
echo "Step: Go to working directory"
cd ${{ inputs.working_dir }}
- name: Install dependencies
shell: bash
run: |
echo "Step: Install dependencies"
make yarn-install
- name: "Check yarn.lock"
shell: bash
run: |
echo "Step: Check yarn.lock"
git diff yarn.lock;
[ "0" == "$(git diff yarn.lock | wc -l | tr -d ' ')" ]
27 changes: 27 additions & 0 deletions .github/actions/install-yarn/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: "Install Yarn"
description: "Install Yarn"

inputs:
working_dir:
description: "Elyra path"
required: false
default: "."
version:
description: "Yarn version"
required: true

runs:
using: "composite"
steps:
- name: Go to working directory
shell: bash
run: |
echo "Step: Go to working directory"
cd ${{ inputs.working_dir }}
- name: Install
shell: bash
run: |
echo "Step: Install"
corepack prepare yarn@${{ inputs.version }} --activate
yarn set version ${{ inputs.version }}
echo "Yarn version: $(yarn --version)"
51 changes: 25 additions & 26 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,11 @@ jobs:
/home/runner/.cache/Cypress
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
- name: Install Yarn ${{ env.YARN_VERSION }}
run: |
corepack prepare yarn@${{ env.YARN_VERSION }} --activate
yarn set version ${{ env.YARN_VERSION }}
yarn --version
- name: Install dependencies
run: |
yarn install
uses: ./.github/actions/install-yarn
with:
version: ${{ env.YARN_VERSION }}
- name: Install UI dependencies
uses: ./.github/actions/install-ui-dependencies
lint-server:
name: Lint Server
runs-on: ubuntu-latest
Expand All @@ -75,13 +73,11 @@ jobs:
*/*/node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
- name: Install Yarn ${{ env.YARN_VERSION }}
run: |
corepack prepare yarn@${{ env.YARN_VERSION }} --activate
yarn set version ${{ env.YARN_VERSION }}
yarn --version
- name: Install dependencies
run: |
make yarn-install
uses: ./.github/actions/install-yarn
with:
version: ${{ env.YARN_VERSION }}
- name: Install UI dependencies
uses: ./.github/actions/install-ui-dependencies
- name: Lint
run: make eslint-check-ui
- name: Check format
Expand Down Expand Up @@ -135,10 +131,11 @@ jobs:
*/*/node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
- name: Install Yarn ${{ env.YARN_VERSION }}
run: |
corepack prepare yarn@${{ env.YARN_VERSION }} --activate
yarn set version ${{ env.YARN_VERSION }}
yarn --version
uses: ./.github/actions/install-yarn
with:
version: ${{ env.YARN_VERSION }}
- name: Install UI dependencies
uses: ./.github/actions/install-ui-dependencies
- name: Build
run: |
make build-dependencies
Expand Down Expand Up @@ -169,10 +166,11 @@ jobs:
/home/runner/.cache/Cypress
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
- name: Install Yarn ${{ env.YARN_VERSION }}
run: |
corepack prepare yarn@${{ env.YARN_VERSION }} --activate
yarn set version ${{ env.YARN_VERSION }}
yarn --version
uses: ./.github/actions/install-yarn
with:
version: ${{ env.YARN_VERSION }}
- name: Install UI dependencies
uses: ./.github/actions/install-ui-dependencies
- name: Build
run: |
make build-dependencies
Expand Down Expand Up @@ -243,10 +241,11 @@ jobs:
/home/runner/.cache/Cypress
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
- name: Install Yarn ${{ env.YARN_VERSION }}
run: |
corepack prepare yarn@${{ env.YARN_VERSION }} --activate
yarn set version ${{ env.YARN_VERSION }}
yarn --version
uses: ./.github/actions/install-yarn
with:
version: ${{ env.YARN_VERSION }}
- name: Install UI dependencies
uses: ./.github/actions/install-ui-dependencies
- name: Build
run: |
make install-prod
Expand Down
83 changes: 76 additions & 7 deletions docs/source/getting_started/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,82 @@

A summary of new feature highlights is located on the [GitHub release page](https://github.com/elyra-ai/elyra/releases).

## Release 4.0.0

- Add support for JupyterLab 4.x - [#3201](https://github.com/elyra-ai/elyra/pull/3201)
- Add functionality to select resource limits from the GUI - [#3202](https://github.com/elyra-ai/elyra/pull/3202)
- Separate KFP and Airflow libraries during build step, making kfp dependency optional for non-KFP runtime users - [#3248](https://github.com/elyra-ai/elyra/pull/3248)
- KFP and Airflow runtime generic components logging during execution and S3 file put for run log output file made configurable - [#3227](https://github.com/elyra-ai/elyra/pull/3227)
- Generic pipelines and generic components runtime support changed to Airflow >= 2.7.0. Airflow 1.x no longer supported - [#3167](https://github.com/elyra-ai/elyra/pull/3167)
## Release 4.0.0rc0 - 01/03/2025

Our 4.0.0 release candidate 0 includes the following high-level changes

- Add support for JupyterLab 4.2.5 and above - [#3201](https://github.com/elyra-ai/elyra/pull/3201)
- Enable conditional install of runtime and it's dependencies (e.g: KFP, Airflow) - [#3248](https://github.com/elyra-ai/elyra/pull/3248)
- Add Airflow 2.x support for generic pipelines and generic components - [#3167](https://github.com/elyra-ai/elyra/pull/3167)
- Multiple dependency updates with security fixes

See the full changelog below:

- Force dist metadata-version to avoid pypi upload issues
- Show validation warnings only after the first form submission - [#87](https://github.com/elyra-ai/elyra/pull/87)
- Revert "Remove read_entry_data method from class ComponentCatalogConnector - [#3141](https://github.com/elyra-ai/elyra/pull/3141)
- Remove obsolete read_entry_data method from class ComponentCatalogConnector - [#3141](https://github.com/elyra-ai/elyra/pull/3141)
- Airflow 2 >= 2.7.0 generic pipeline/component support. See also #3166. - [#3167](https://github.com/elyra-ai/elyra/pull/3167)
- Update copyright to 2025 - [#3256](https://github.com/elyra-ai/elyra/pull/3256)
- Update repository readme and documentation with JupyterLab v4 information - [#3145](https://github.com/elyra-ai/elyra/pull/3145)
- Bump jinja2 from 3.1.4 to 3.1.5 in /etc/generic - [#3261](https://github.com/elyra-ai/elyra/pull/3261)
- Bump cross-spawn from 6.0.5 to 6.0.6 - [#3262](https://github.com/elyra-ai/elyra/pull/3262)
- Refactor pipeline implementation to use common pattern for file naming - [#3160](https://github.com/elyra-ai/elyra/pull/3160)
- Migrate Elyra extensions to support JupyterLab 4.x - [#3201](https://github.com/elyra-ai/elyra/pull/3201)
- Fix Python formatting to get rid of linter errors from `make lint-server` - [#3260](https://github.com/elyra-ai/elyra/pull/3260)
- Use Python instead of curl to download test file on validate-runtime-image target - [#3257](https://github.com/elyra-ai/elyra/pull/3257)
- Update runtime images with latest component versions - [#3255](https://github.com/elyra-ai/elyra/pull/3255)
- Bump follow-redirects from 1.15.2 to 1.15.9 - [#3252](https://github.com/elyra-ai/elyra/pull/3252)
- Bump nanoid from 3.3.4 to 3.3.8 - [#3254](https://github.com/elyra-ai/elyra/pull/3254)
- Bump tornado from 6.4.1 to 6.4.2 in /etc/generic - [#3253](https://github.com/elyra-ai/elyra/pull/3253)
- Make KFP dependency optional in build and during runs - [#3248](https://github.com/elyra-ai/elyra/pull/3248)
- Pin jupyterlab_pygments to fix build issues - [#3250](https://github.com/elyra-ai/elyra/pull/3250)
- Update Sphinx support for Google Analytics - [#3251](https://github.com/elyra-ai/elyra/pull/3251)
- Bump elliptic from 6.5.7 to 6.6.0 - [#3249](https://github.com/elyra-ai/elyra/pull/3249)
- Add additional readthedocs configs - [#3247](https://github.com/elyra-ai/elyra/pull/3247)
- Remove conda tools from readthedocs build - [#3246](https://github.com/elyra-ai/elyra/pull/3246)
- Update readthedoc configuration to address build failures - [#3245](https://github.com/elyra-ai/elyra/pull/3245)
- Document system-level environment variables configs - [#3243](https://github.com/elyra-ai/elyra/pull/3243)
- Bump webpack from 5.76.0 to 5.94.0 - [#3244](https://github.com/elyra-ai/elyra/pull/3244)
- Force operation output to S3 based on env var config - [#3227](https://github.com/elyra-ai/elyra/pull/3227)
- Bump elliptic from 6.5.4 to 6.5.7 - [#3242](https://github.com/elyra-ai/elyra/pull/3242)
- Dependency updates including nbconvert version without lxml - [#3240](https://github.com/elyra-ai/elyra/pull/3240)
- Allow users to include ssl_sa_certs via env vars for kfp_tekton client - [#3150](https://github.com/elyra-ai/elyra/pull/3150)
- Bump tornado from 6.3.3 to 6.4.1 in /etc/generic - [#3234](https://github.com/elyra-ai/elyra/pull/3234)
- Bump urllib3 from 1.26.18 to 1.26.19 in /etc/generic - [#3236](https://github.com/elyra-ai/elyra/pull/3236)
- Bump tar from 6.1.11 to 6.2.1 - [#3231](https://github.com/elyra-ai/elyra/pull/3231)
- Bump ejs from 3.1.8 to 3.1.10 - [#3230](https://github.com/elyra-ai/elyra/pull/3230)
- Bump jinja2 from 3.0.3 to 3.1.4 in /etc/generic - [#3229](https://github.com/elyra-ai/elyra/pull/3229)
- Bump requests from 2.31.0 to 2.32.0 in /etc/generic - [#3232](https://github.com/elyra-ai/elyra/pull/3232)
- Fixes validation when there are pipeline params and default properties - [#3195](https://github.com/elyra-ai/elyra/pull/3195)
- Bump jinja2 from 3.0.3 to 3.1.3 in /etc/generic - [#3207](https://github.com/elyra-ai/elyra/pull/3207)
- Bump es5-ext from 0.10.62 to 0.10.63 - [#3218](https://github.com/elyra-ai/elyra/pull/3218)
- Bump ip from 1.1.8 to 1.1.9 - [#3216](https://github.com/elyra-ai/elyra/pull/3216)
- Bump @babel/traverse from 7.19.1 to 7.23.6 - [#3200](https://github.com/elyra-ai/elyra/pull/3200)
- Bump browserify-sign from 4.2.1 to 4.2.2 - [#3193](https://github.com/elyra-ai/elyra/pull/3193)
- Enable supporting other docker clients such as podman via build config - [#3226](https://github.com/elyra-ai/elyra/pull/3226)
- Fix broken code of conduct link - [#3213](https://github.com/elyra-ai/elyra/pull/3213)
- Fix linting issues breaking CI - [#3215](https://github.com/elyra-ai/elyra/pull/3215)
- Modify version range of wrapt to fix Python 3.11 build issue - [#3197](https://github.com/elyra-ai/elyra/pull/3197)
- Remove deprecated install command from elyra-metadata - [#3143](https://github.com/elyra-ai/elyra/pull/3143)
- Editing files to add resource requests and limits - [#3202](https://github.com/elyra-ai/elyra/pull/3202)
- Skip minio-7.2.1 to avoid urllib version mismatch - [#3204](https://github.com/elyra-ai/elyra/pull/3204)
- Fix CI Build by temporarily disabling Python 3.11 build - [#3198](https://github.com/elyra-ai/elyra/pull/3198)
- Bump urllib3 from 1.26.17 to 1.26.18 in /etc/generic - [#3191](https://github.com/elyra-ai/elyra/pull/3191)
- Update the broken link for deploying opendatahub - [#3188](https://github.com/elyra-ai/elyra/pull/3188)
- Bump urllib3 from 1.26.9 to 1.26.17 in /etc/generic - [#3187](https://github.com/elyra-ai/elyra/pull/3187)
- Bump tornado from 6.3.2 to 6.3.3 in /etc/generic - [#3178](https://github.com/elyra-ai/elyra/pull/3178)
- Bump word-wrap from 1.2.3 to 1.2.5 - [#3185](https://github.com/elyra-ai/elyra/pull/3185)
- Bump semver from 5.7.1 to 5.7.2 - [#3171](https://github.com/elyra-ai/elyra/pull/3171)
- Cap jupyter-resource-usage to avoid Lab 4.0 dependencies - [#3184](https://github.com/elyra-ai/elyra/pull/3184)
- Update copyright doc config - [#3163](https://github.com/elyra-ai/elyra/pull/3163)
- Bump requests from 2.27.1 to 2.31.0 in /etc/generic - [#3156](https://github.com/elyra-ai/elyra/pull/3156)
- Update Copyright year - [#3162](https://github.com/elyra-ai/elyra/pull/3162)
- Bump tornado from 6.1 to 6.3.2 in /etc/generic - [#3158](https://github.com/elyra-ai/elyra/pull/3158)
- Convert --valid-only to --include-invalid on list subcommand - [#3142](https://github.com/elyra-ai/elyra/pull/3142)
- Update pytorch runtime to fix validate images check - [#3148](https://github.com/elyra-ai/elyra/pull/3148)
- Update ODH install instructions - [#3146](https://github.com/elyra-ai/elyra/pull/3146)
- Add link to 3.15.0 new feature highlight blog post - [#3121](https://github.com/elyra-ai/elyra/pull/3121)

## Release 3.15.0 - 03/28/2023

Expand Down
1 change: 0 additions & 1 deletion packages/code-snippet/install.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
"packageManager": "python",
"packageName": "elyra_code_snippet_extension",
"uninstallInstructions": "Use your Python package manager (pip, conda, etc.) to uninstall the package elyra_code_snippet_extension"
}
1 change: 0 additions & 1 deletion packages/code-viewer/install.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
"packageManager": "python",
"packageName": "elyra_code_viewer_extension",
"uninstallInstructions": "Use your Python package manager (pip, conda, etc.) to uninstall the package elyra_code_viewer_extension"
}
1 change: 0 additions & 1 deletion packages/metadata-common/install.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
"packageManager": "python",
"packageName": "elyra_metadata_common",
"uninstallInstructions": "Use your Python package manager (pip, conda, etc.) to uninstall the package elyra_metadata_common"
}
38 changes: 25 additions & 13 deletions packages/metadata-common/src/MetadataEditor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,11 @@
*/

import { MetadataService } from '@elyra/services';
import { RequestErrors, FormEditor } from '@elyra/ui-components';
import {
RequestErrors,
FormEditor,
IFormEditorRef
} from '@elyra/ui-components';

import * as React from 'react';

Expand Down Expand Up @@ -77,19 +81,30 @@ export const MetadataEditor: React.FC<IMetadataEditorComponentProps> = ({
getDefaultChoices,
titleContext
}: IMetadataEditorComponentProps) => {
const [invalidForm, setInvalidForm] = React.useState(name === undefined);
const formRef = React.useRef<IFormEditorRef>(null);
const [isSubmitted, setSubmitted] = React.useState(false);
const [invalidForm, setInvalidForm] = React.useState(false);

const schema = schemaTop.properties.metadata;

const [metadata, setMetadata] = React.useState(initialMetadata);
const displayName = initialMetadata?.['_noCategory']?.['display_name'];
const referenceURL = schemaTop.uihints?.reference_url;

const isFormDataValid = (data: any) => {
const state = formRef.current!.validateForm(data);
return state.isValid;
};

/**
* Saves metadata through either put or post request.
*/
const saveMetadata = (): void => {
if (invalidForm) {
const saveMetadata = () => {
const isValid = isFormDataValid(metadata);
setInvalidForm(!isValid);
setSubmitted(true);

if (!isValid) {
return;
}

Expand Down Expand Up @@ -167,10 +182,13 @@ export const MetadataEditor: React.FC<IMetadataEditorComponentProps> = ({
) : null}
</p>
<FormEditor
ref={formRef}
schema={schema}
onChange={(formData: any, invalid: boolean): void => {
onChange={(formData: any): void => {
setMetadata(formData);
setInvalidForm(invalid);
if (isSubmitted) {
setInvalidForm(!isFormDataValid(formData));
}
setDirty(true);
}}
componentRegistry={componentRegistry}
Expand All @@ -193,13 +211,7 @@ export const MetadataEditor: React.FC<IMetadataEditorComponentProps> = ({
) : (
<div />
)}
<button
onClick={(): void => {
saveMetadata();
}}
>
{translator.__('Save & Close')}
</button>
<button onClick={saveMetadata}>{translator.__('Save & Close')}</button>
</div>
</div>
);
Expand Down
1 change: 0 additions & 1 deletion packages/metadata/install.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
"packageManager": "python",
"packageName": "elyra_metadata_extension",
"uninstallInstructions": "Use your Python package manager (pip, conda, etc.) to uninstall the package elyra_metadata_extension"
}
1 change: 0 additions & 1 deletion packages/pipeline-editor/install.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
"packageManager": "python",
"packageName": "elyra_pipeline_editor_extension",
"uninstallInstructions": "Use your Python package manager (pip, conda, etc.) to uninstall the package elyra_pipeline_editor_extension"
}
Loading

0 comments on commit 8a5a337

Please sign in to comment.