Commit graph

125 commits

Author SHA1 Message Date
ogabrielluiz
bcdc329d1d Refactor restart_space script to accept space and token as command line arguments 2024-06-05 15:40:30 -03:00
Gabriel Luiz Freitas Almeida
491e3698f6
chore: Update poetry installation to use environment variable for version (#2074) 2024-06-05 10:40:58 -07:00
ogabrielluiz
374f1fbde3 chore: Update Poetry version to 1.8.2 2024-06-05 09:45:10 -03:00
Nicolò Boschi
ba59a9f449
docker: improve image layout and backend-only/frontend-only images (#2071)
* docker: improve image layout and backend-only image

* add tests

* add tests

* add frontend

* add frontend

* label

* fix
2024-06-05 04:46:14 -07:00
ogabrielluiz
5fe568cc6c refactor: Update factory_restart_space.py to use environment variable for Hugging Face API token 2024-06-03 09:54:47 -03:00
Gabriel Luiz Freitas Almeida
fce2ca3a9c
Update docker-build.yml 2024-05-31 13:43:16 -07:00
ogabrielluiz
764fcfcfd1 feat: Add Docker Hub propagation wait and HuggingFace Spaces build restart
The code changes include adding a new step in the `.github/workflows/docker-build.yml` file to wait for Docker Hub to propagate. Additionally, a new script `factory_restart_space.py` is added in the `scripts` directory to restart the HuggingFace Spaces build. This script uses the `HfApi` and `rich` libraries to interact with the HuggingFace Hub API and print the space runtime.

Note: The commit message has been generated based on the provided code changes and recent commits.
2024-05-30 16:00:01 -03:00
ogabrielluiz
f9026ba8f6 build(pre-release.yml): dynamically set artifact name based on release type input to ensure correct artifact is downloaded 2024-05-28 22:08:49 -03:00
ogabrielluiz
8bc241267d chore(create-release.yml): remove unnecessary version check step to simplify workflow and improve readability 2024-05-28 19:47:46 -03:00
ogabrielluiz
969ac6eb49 chore(create-release.yml): Update Poetry version to 1.8.2 2024-05-28 19:44:50 -03:00
ogabrielluiz
9df2dc72ac chore(create-release.yml): add 'needs: release' to ensure the 'create_release' job runs after the 'release' job 2024-05-28 19:43:07 -03:00
ogabrielluiz
546dd3dbdf feat(create-release.yml): add support for building and uploading different project versions based on release type (base or main) to streamline release process 2024-05-28 19:40:03 -03:00
ogabrielluiz
ce797dbfa0 chore(create-release.yml): update workflow name to 'pre-release.yml' for consistency and clarity 2024-05-28 19:32:54 -03:00
ogabrielluiz
4f684c851c chore(create-release.yml): update action to download artifact to dawidd6/action-download-artifact@v3 for compatibility with workflow Langflow Pre-release (Unified) and add github_token and workflow inputs for authentication and artifact retrieval. 2024-05-28 19:28:42 -03:00
ogabrielluiz
8902b6d09e chore(create-release.yml): rename job name to 'Create Release Job' for clarity
chore(create-release.yml): rename step name to 'Download Artifact' for better readability
chore(create-release.yml): rename step name to 'Create Release Notes' for better understanding of the action's purpose
2024-05-28 19:24:52 -03:00
ogabrielluiz
6e9e67d5c6 chore(pre-release.yml): remove unnecessary dependency on 'call_docker_build' job for 'create_release' job when release_type is 'main' to simplify workflow logic 2024-05-28 19:00:26 -03:00
ogabrielluiz
8d1295b5a1 fix(pre-release.yml): update artifact path based on release type to correctly upload artifacts for different release types 2024-05-28 18:53:19 -03:00
ogabrielluiz
9965f9a31a feat: Add release_type input to create-release workflow 2024-05-28 18:44:01 -03:00
ogabrielluiz
6070bbb8fc feat(create-release.yml): add GitHub Actions workflow to create a release with version input and release notes generation 2024-05-28 18:38:58 -03:00
Gabriel Luiz Freitas Almeida
6d849b449e
update call_docker_build job (#2001)
* refactor: Update SplitTextComponent to store parent and text data in Record object

* chore(pre-release.yml): update call_docker_build job to use langflow-ai/langflow/.github/workflows/docker-build.yml@dev for better workflow organization and consistency

* merge dev
2024-05-28 13:24:12 -07:00
ogabrielluiz
8abab3a930 chore: Set Dockerfile and Tags dynamically in Docker Build and Push workflow 2024-05-28 08:40:40 -03:00
ogabrielluiz
26c85f191e chore: Set Dockerfile and Tags dynamically in Docker Build and Push workflow 2024-05-28 08:02:01 -03:00
ogabrielluiz
11c874cd96 chore: Update pre-release workflow to include actions/checkout step 2024-05-27 18:27:10 -03:00
ogabrielluiz
02b7491f2c chore: Update Langflow Pre-release workflow to include release type in run name 2024-05-27 17:10:25 -03:00
Gabriel Luiz Freitas Almeida
9b2fe24abe
Update pyproject.toml versions and add Docker Build and Push workflow (#1985)
* chore: Update pyproject.toml versions for langflow and langflow-base

* feat(workflows): add Docker Build and Push workflow to automate building and pushing Docker images based on release type and version
feat(workflows): add Pre-release workflow to automate releasing Langflow packages based on release type and version
feat(workflows): create workflow to call Docker Build workflow and handle release creation based on release type
2024-05-27 13:08:28 -07:00
Gabriel Luiz Freitas Almeida
56f13c918b
Reorganize repo (#1971)
* chore: Update dockerfile paths and branch name in render.yaml and release.yml

* chore(readthedocs.yaml): remove .readthedocs.yaml file as it is no longer needed
chore(base.Dockerfile): remove base.Dockerfile as it is no longer used in the project
feat(cdk-docker-compose.yml): add cdk-docker-compose.yml file to set up docker-compose for backend and frontend services

* move dockerignore

* chore: Remove test-results/.last-run.json file

* chore: Cache Node.js dependencies during workflow execution

* chore: Remove npm cache from workflow and cache Node.js dependencies

* chore: Update shardIndex and shardTotal values in typescript_test.yml workflow

* chore: Update Playwright test command with shard and worker options
2024-05-27 06:55:32 -07:00
Gabriel Luiz Freitas Almeida
5ca1c22893
Add support for Python 3.12 (#1873)
* Add support for Python 3.12

* chore: Update Python version to 3.11 and DuckDB dependency to 0.10.2

* chore: fix mistral components lint

* Update SQLAgent and SQLExecutor imports to use langchain_community utilities

* Update langchain import to langchain_community

* Update langchain import to langchain_community

* 📝 (langflow/__main__.py): Import warnings module to suppress warnings during app execution
📝 (langflow/api/v1/schemas.py): Update timestamp field default value to use datetime.now with timezone.utc
📝 (auth/utils.py): Ignore warnings related to datetime.utcnow when decoding JWT tokens and creating refresh tokens
📝 (models/flow/model.py): Update updated_at field default value to use lambda function with timezone.utc
📝 (models/user/model.py): Update create_at and updated_at field default values to use lambda function with timezone.utc
2024-05-10 12:25:34 -03:00
dependabot[bot]
48c740623d
Bump actions/upload-artifact from 2 to 4 (#1812)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 12:34:50 -03:00
dependabot[bot]
36c92e133f
Bump actions/download-artifact from 2 to 4 (#1811)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 12:34:40 -03:00
dependabot[bot]
0f37569c87
Bump actions/setup-node from 3 to 4 (#1810)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 12:34:29 -03:00
dependabot[bot]
46a5b882f8
Bump peaceiris/actions-gh-pages from 3 to 4 (#1813)
Bumps [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages) from 3 to 4.
- [Release notes](https://github.com/peaceiris/actions-gh-pages/releases)
- [Changelog](https://github.com/peaceiris/actions-gh-pages/blob/main/CHANGELOG.md)
- [Commits](https://github.com/peaceiris/actions-gh-pages/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peaceiris/actions-gh-pages
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 12:34:05 -03:00
Gabriel Luiz Freitas Almeida
c6b4101d69
Update Docker image references to langflowai in GitHub workflows and Docker Compose files (#1793)
* Update Docker image references to langflowai in GitHub workflows and Docker Compose files
2024-04-29 13:38:18 -03:00
Gabriel Luiz Freitas Almeida
5ee638f984 🔧 (.github/workflows/pre-release-langflow.yml): add actions/checkout step to checkout the code before running the job 2024-04-24 09:11:52 -03:00
Cristhian Zanforlin Lousa
47aad8aa87
Resolve Test Failures Post-Dev Merge (#1742)
* 🔧 (playwright.config.ts): set workers to 1 to avoid parallel tests on CI
 (chat_io.spec.ts): refactor code to wait for modal to appear before clicking on the new project button
 (codeAreaModalComponent.spec.ts): refactor code to wait for modal to appear before clicking on the new project button, update code assertions
 (curl_api_generation.spec.ts): refactor code to wait for modal to appear before clicking on the new project button
 (dragAndDrop.spec.ts): refactor code to handle the case when generic node is not present
 (dropdownComponent.spec.ts): refactor code to wait for modal to appear before clicking on the new project button

 (filterEdge.spec.ts): add support for dynamic waiting for modal to appear before interacting with it
🐛 (filterEdge.spec.ts): remove redundant clicks on buttons and improve code readability
♻️ (filterEdge.spec.ts): refactor code to use loop instead of repetitive code for zooming out and waiting for timeout
 (filterEdge.spec.ts): update assertions to match changes in the application UI

 (floatComponent.spec.ts): refactor floatComponent test to use getByTitle instead of complex locators for button clicks
 (flowPage.spec.ts): refactor flowPage test to use getByTitle instead of complex locators for button clicks
 (group.spec.ts): refactor group test to use getByTestId instead of complex locators for button clicks and add loop to handle modal loading
 (inputComponent.spec.ts): refactor inputComponent test to use getByTitle instead of complex locators for button clicks

 (inputListComponent.spec.ts): add support for dynamic modal count to handle asynchronous modal loading
🐛 (inputListComponent.spec.ts): fix search query in inputListComponent test
♻️ (inputListComponent.spec.ts): refactor repetitive code for zooming out in inputListComponent test
 (intComponent.spec.ts): add support for dynamic modal count to handle asynchronous modal loading
♻️ (intComponent.spec.ts): refactor repetitive code for zooming out in intComponent test

 (keyPairListComponent.spec.ts): add support for dynamic modal count to handle modal loading delay
 (keyPairListComponent.spec.ts): update search input value to "amazon bedrock" for more accurate search results
 (keyPairListComponent.spec.ts): update node locator to "model_specsAmazon Bedrock" for more accurate node selection
 (keyPairListComponent.spec.ts): update zoom out action to use "zoom out" title for better readability
 (keyPairListComponent.spec.ts): update keypair verification locator to "editNodekeypair0" for more accurate verification
 (keyPairListComponent.spec.ts): update showcache checkbox locator to "showcache" for better readability
 (keyPairListComponent.spec.ts): update showcredentials_profile_name checkbox locator to "showcredentials_profile_name" for better readability
 (keyPairListComponent.spec.ts): update elementCountNode variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCount variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocator variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCount variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocatorNode variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCountNode variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocator variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCount variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocatorNode variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCountNode variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocator variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCount variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocatorNode variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCountNode variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocator variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCount variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocatorNode variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCountNode variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocator variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCount variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plusButtonLocatorNode variable to handle nullability
 (keyPairListComponent.spec.ts): update elementCountNode variable to handle nullability
 (keyPairListComponent.spec.ts): update keyPairVerification variable to handle nullability
 (keyPairListComponent.spec.ts): update elementKeyCount variable to handle nullability
 (keyPairListComponent.spec.ts): update plus

 (promptModalComponent.spec.ts): add support for dynamic modal count to handle asynchronous modal rendering
 (python_api_generation.spec.ts): add support for dynamic modal count to handle asynchronous modal rendering
 (saveComponents.spec.ts): add support for dynamic modal count to handle asynchronous modal rendering
 (store.spec.ts): add support for dynamic icon count to handle asynchronous rendering
 (textAreaModalComponent.spec.ts): add support for dynamic modal count to handle asynchronous modal rendering

 (toggleComponent.spec.ts): add support for dynamic waiting for modal to appear before interacting with it
🐛 (toggleComponent.spec.ts): fix typo in element locator for dataDirectory
♻️ (toggleComponent.spec.ts): refactor repetitive code for zooming out
 (toggleComponent.spec.ts): add assertions for checking toggle state and button clicks
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggleComponent.spec.ts): refactor repetitive code for toggling and checking toggle state
♻️ (toggle

* 🔧 (frontend/package.json): add dotenv package as a dependency to enable environment variable configuration
🔧 (frontend/playwright.config.ts): add dotenv configuration to read environment variables from .env file
♻️ (frontend/src/modals/IOModal/components/chatView/chatMessage/index.tsx): refactor code to add data-testid attribute to span element for sender name to improve testability
 (frontend/tests/end-to-end/chatInputOutput.spec.ts): add end-to-end test for user interaction with chat input/output functionality
 (frontend/tests/end-to-end/chat_io_teste.spec.ts): add end-to-end test for chat input/output functionality with file upload

 (chat_io.spec.ts): remove chat_io.spec.ts test file as it is no longer needed
 (textInputOutput.spec.ts): add new test file textInputOutput.spec.ts to test the functionality of text input and output components in the application

* 📝 (typescript_test.yml): remove unnecessary comments and unused code related to Playwright browser binaries caching and installation
🔧 (typescript_test.yml): refactor setup of Python and Poetry versions to use a custom GitHub action for caching and setting up the environment efficiently

*  (globalVariables.spec.ts): add end-to-end test for global variables functionality in the frontend
 (textInputOutput.spec.ts): rename test from "CodeAreaModalComponent" to "TextInputOutputComponent" to improve clarity and accuracy

* 📝 (chatInputOutput.spec.ts): update test URL to use relative path instead of absolute path for better test portability
📝 (filterEdge.spec.ts): update test URL to use relative path instead of absolute path for better test portability
📝 (inputListComponent.spec.ts): update test URL to use relative path instead of absolute path for better test portability
📝 (store.spec.ts): update test URL to use relative path instead of absolute path for better test portability
📝 (textAreaModalComponent.spec.ts): update test URL to use relative path instead of absolute path for better test portability

* 🚀 (typescript_test.yml): add uvicorn command to run the app with Playwright tests
🔧 (typescript_test.yml): configure uvicorn to use the langflow.main:create_app factory function, listen on all interfaces, use port 7860, enable auto-reload, read environment variables from .env file, and use asyncio event loop

* 🔧 (typescript_test.yml): fix path to .env file in the uvicorn command to correctly load environment variables

* 🔧 (typescript_test.yml): fix path to .env file in uvicorn command to correctly locate the file

* 🐛 (typescript_test.yml): remove unnecessary --env-file flag from uvicorn command to fix an issue with loading environment variables

* 🔧 (typescript_test.yml): run uvicorn command in the background and add a 2-second sleep to allow the server to start before running Playwright tests

*  (typescript_test.yml): update Playwright test command to use a single worker (--workers=1) to avoid race conditions and improve stability during test execution

*  (.github/workflows/typescript_test.yml): remove unnecessary flags from the Playwright test command to simplify the command and improve readability

* 🔧 (typescript_test.yml): add command to install Playwright dependencies before running Playwright tests to ensure all required dependencies are installed

* ⬆️ (typescript_test.yml): upgrade Playwright installation command to use 'npm install' instead of 'npx playwright install --with-deps' to simplify the installation process

*  (typescript_test.yml): add npm start command before running the tests to ensure the frontend server is running during the tests

* 🔧 (typescript_test.yml): run 'npm start' command in the background to allow the next step to execute concurrently
 (typescript_test.yml): add step to upload blob report to GitHub Actions Artifacts for easier access and analysis

*  (typescript_test.yml): update Playwright test command to include shard index and total for parallel test execution

* 🔧 (playwright.config.ts): add conditional dotenv configuration based on process.env.CI to prevent loading .env file in CI environment

* 🔧 (playwright.config.ts): update dotenv configuration to only load .env file when not running in a CI environment
📝 (playwright.config.ts): add comment explaining the purpose of the dotenv configuration and providing a link to the Playwright documentation for test configuration

* ♻️ (playwright.config.ts): comment out dotenv.config() calls to improve performance and remove unnecessary code

* 📝 (playwright.config.ts): comment out the forbidOnly and retries options to disable them
📝 (playwright.config.ts): change the reporter option to always use the "blob" reporter
📝 (playwright.config.ts): comment out the globalTeardown option to disable it
📝 (playwright.config.ts): set the reuseExistingServer option to always be true

* ♻️ (playwright.config.ts): refactor fullyParallel option to be set to false instead of true to disable running tests in parallel

*  (.github/workflows/typescript_test.yml): remove shardIndex and shardTotal arguments from the Playwright test command to simplify the command and avoid unnecessary complexity

* 🐛 (playwright.config.ts): add --loop asyncio flag to uvicorn command to fix asyncio event loop issue

* 📝 (playwright.config.ts): add support for reading environment variables from a .env file
♻️ (playwright.config.ts): refactor code to use path module instead of importing it from @playwright/test
 (playwright.config.ts): enable forbidOnly option to fail the build on CI if test.only is accidentally left in the source code
 (playwright.config.ts): enable retries option to retry tests on CI 2 times
♻️ (playwright.config.ts): refactor code to use globalTeardown option to specify the path to globalTeardown.ts file

* 🔧 (typescript_test.yml): run Playwright tests in the background using the '&' operator to improve workflow efficiency
♻️ (playwright.config.ts): refactor workers configuration to use 10 workers on CI and 1 worker otherwise to optimize test execution
🐛 (darkStore.tsx): fix issue where stars and lastUpdated values were not being refreshed correctly on CI environment

* ♻️ (darkStore.tsx): remove unnecessary empty line to improve code readability

* 🔧 (typescript_test.yml): remove unnecessary ampersand (&) at the end of the 'npx playwright test' command to prevent running the command in the background

* 📝 (darkStore.tsx): set "githubStars" to "0" in localStorage when running in CI environment to ensure consistent test results
🐛 (filterEdge.spec.ts): update test assertions to match changes in the application UI

* 📝 (api.tsx): add condition to reject promise if error occurs during API request to GitHub to prevent auto-login flow
📝 (auto_login.spec.ts): update page.goto() URLs to use relative paths instead of absolute URLs
📝 (chatInputOutput.spec.ts): move dotenv.config() call after page.goto() to ensure proper environment variable loading
📝 (codeAreaModalComponent.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (curl_api_generation.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (dragAndDrop.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (dropdownComponent.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (floatComponent.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (flowPage.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (globalVariables.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (group.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (inputComponent.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (intComponent.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (keyPairListComponent.spec.ts): update page.goto() URL to use relative path instead of absolute URL
📝 (langflowShortcuts.spec.ts): update page.goto() URL to use relative path instead of absolute URL

📝 (nestedComponent.spec.ts): update page URL to use relative path instead of absolute path for better portability and flexibility
📝 (promptModalComponent.spec.ts): update page URL to use relative path instead of absolute path for better portability and flexibility
📝 (saveComponents.spec.ts): update page URL to use relative path instead of absolute path for better portability and flexibility
📝 (textInputOutput.spec.ts): update page URL to use relative path instead of absolute path for better portability and flexibility
📝 (toggleComponent.spec.ts): update page URL to use relative path instead of absolute path for better portability and flexibility

* 🔧 (playwright.config.ts): set workers to a fixed value of 10 to improve test performance and avoid parallel tests on CI
🐛 (group.spec.ts): move page.goto("/") inside the test function to ensure the page is properly loaded before running the test

*  (chatInputOutput.spec.ts): add dotenv configuration to load environment variables before running the test
🐛 (chatInputOutput.spec.ts): fix issue where the test was not waiting for the page to load before interacting with it
 (curl_api_generation.spec.ts): add dotenv configuration to load environment variables before running the test
🐛 (curl_api_generation.spec.ts): fix issue where the test was not waiting for the page to load before interacting with it

* 🔧 (playwright.config.ts): update number of workers based on the value of the CI environment variable
🐛 (chatInputOutput.spec.ts): fix potential null reference error when getting modal count
🐛 (codeAreaModalComponent.spec.ts): fix potential null reference error when getting modal count
🐛 (curl_api_generation.spec.ts): fix potential null reference error when getting modal count
🐛 (dropdownComponent.spec.ts): fix potential null reference error when getting modal count
🐛 (filterEdge.spec.ts): fix potential null reference error when getting modal count
🐛 (globalVariables.spec.ts): fix potential null reference error when getting modal count
🐛 (group.spec.ts): fix potential null reference error when getting modal count
🐛 (inputComponent.spec.ts): fix potential null reference error when getting modal count
🐛 (inputListComponent.spec.ts): fix potential null reference error when getting modal count
🐛 (intComponent.spec.ts): fix potential null reference error when getting modal count
🐛 (keyPairListComponent.spec.ts): fix potential null reference error when getting modal count
🐛 (langflowShortcuts.spec.ts): fix potential null reference error when getting modal count
🐛 (nestedComponent.spec.ts): fix potential null reference error when getting modal count

🐛 (promptModalComponent.spec.ts): fix potential null pointer exception when accessing page object
🐛 (python_api_generation.spec.ts): fix potential null pointer exception when accessing page object
🐛 (saveComponents.spec.ts): fix potential null pointer exception when accessing page object
🐛 (textAreaModalComponent.spec.ts): fix potential null pointer exception when accessing page object
🐛 (textInputOutput.spec.ts): fix potential null pointer exception when accessing page object
🐛 (toggleComponent.spec.ts): fix potential null pointer exception when accessing page object
🐛 (tweaks_test.spec.ts): fix potential null pointer exception when accessing page object

* 🔧 (playwright.config.ts): update workers configuration to use 10 workers on CI and default to an empty value otherwise
🔧 (playwright.config.ts): update reporter configuration to use "blob" reporter on CI and "html" reporter otherwise

* 🔧 (playwright.config.ts): update workers configuration to use a default value of 5 when not running on CI environment, to improve test performance and resource usage

*  (playwright.config.ts): enable fully parallel test execution to improve test performance
🐛 (chatInputOutput.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (codeAreaModalComponent.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (curl_api_generation.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (dragAndDrop.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (dropdownComponent.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (filterEdge.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (flowPage.spec.ts): handle potential error when counting modal titles to prevent test failures
🐛 (globalVariables.spec.ts): handle potential error when counting modal titles to prevent test failures

🐛 (group.spec.ts): Fix bug in group and ungroup updating values test where modalCount was not correctly initialized
🐛 (inputComponent.spec.ts): Fix bug in InputComponent test where modalCount was not correctly initialized
🐛 (inputListComponent.spec.ts): Fix bug in InputListComponent test where modalCount was not correctly initialized
🐛 (intComponent.spec.ts): Fix bug in IntComponent test where modalCount was not correctly initialized
🐛 (keyPairListComponent.spec.ts): Fix bug in KeypairListComponent test where modalCount was not correctly initialized
🐛 (langflowShortcuts.spec.ts): Fix bug in LangflowShortcuts test where modalCount was not correctly initialized
🐛 (nestedComponent.spec.ts): Fix bug in NestedComponent test where modalCount was not correctly initialized
🐛 (promptModalComponent.spec.ts): Fix bug in PromptTemplateComponent test where modalCount was not correctly initialized
🐛 (python_api_generation.spec.ts): Fix bug in python_api_generation test where modalCount was not correctly initialized
🐛 (saveComponents.spec.ts): Fix bug in save group component tests where modalCount was not correctly initialized
🐛 (textAreaModalComponent.spec.ts): Fix bug in TextAreaModalComponent test where modalCount was not correctly initialized

 (textInputOutput.spec.ts): handle error when getting modal title element and set modalCount to 0 in case of error
 (toggleComponent.spec.ts): handle error when getting modal title element and set modalCount to 0 in case of error
 (tweaks_test.spec.ts): handle error when getting modal title element and set modalCount to 0 in case of error

* ⬆️ (playwright.config.ts): downgrade the number of workers from 10 to 5 to reduce resource usage and improve test stability

* ⬆️ (playwright.config.ts): decrease the number of workers to 1 to avoid parallel tests on CI
📝 (playwright.config.ts): comment out the workers configuration and add a new line with a single worker to clarify the intention
 (playwright.config.ts): add a new file "temp" to the frontend directory

* 📝 (chatInputOutput.spec.ts): add support for loading environment variables from .env file for local development and CI/CD environments
📝 (textInputOutput.spec.ts): add support for loading environment variables from .env file for local development and CI/CD environments

* 🔧 (typescript_test.yml): add step to create .env file and populate it with secret environment variables
🚀 (typescript_test.yml): run Playwright tests after creating .env file to ensure tests have access to necessary environment variables

*  (dragAndDrop.spec.ts): add a test to close the modal by clicking on the "Close" button

* 🔧 (typescript_test.yml): update Playwright test command to include shard index and total for distributed test execution
♻️ (playwright.config.ts): refactor workers configuration to use environment variable CI to determine the number of workers for parallel tests

* ⬆️ (playwright.config.ts): downgrade the number of workers to 1 to avoid parallel tests on CI environment

* 📝 (filterEdge.spec.ts): remove unnecessary click on element with id 'headlessui-disclosure-button-:rld:'
♻️ (filterEdge.spec.ts): remove redundant assertions for elements with ids 'saved_componentsBasic RAG' and 'saved_componentsGroup'
♻️ (floatComponent.spec.ts): refactor code to handle modal dynamically by checking for modal title element and waiting for it to appear before clicking on 'new-project-btn' element

* 🔧 (playwright.config.ts): update number of workers to 5 when running on CI to improve test parallelization
🐛 (filterEdge.spec.ts): add a 2-second delay before asserting visibility of tooltips to ensure they are fully rendered before checking visibility

* 📝 (index.tsx): add data-testid attribute to the flow name element for easier testing and querying
📝 (index.tsx): add data-testid attribute to the public checkbox for easier testing and querying
📝 (test_file.txt): add a test file for end-to-end testing purposes
📝 (fileUploadComponent.spec.ts): add end-to-end test for file upload functionality

 (flowSettings.spec.ts): add end-to-end test for flow settings functionality
 (store.spec.ts): add end-to-end test for sharing a component with the share button

* 🔧 (playwright.config.ts): set workers to 1 to avoid parallel tests execution and improve stability
📝 (test_file.txt): remove newline at the end of the file for consistency
♻️ (flowPage.spec.ts): refactor code to remove unnecessary lines and commented out code
♻️ (flowSettings.spec.ts): refactor code to generate a random flow name instead of hardcoding it

* 🔧 (typescript_test.yml): remove shardIndex and shardTotal arguments from the 'npx playwright test' command to simplify the command and remove unnecessary complexity
🐛 (textInputOutput.spec.ts): change 'textContent()' to 'inputValue()' to correctly retrieve the value of the input field

* ♻️ (typescript_test.yml): refactor test workflow to remove unnecessary matrix configuration for shardIndex and shardTotal
 (typescript_test.yml): update test workflow to run tests on a single shard instead of multiple shards for simplicity and efficiency

* 🔧 (playwright.config.ts): add clipboard permissions for chromium and firefox projects to enable clipboard read and write functionality
🔧 (curl_api_generation.spec.ts): remove unnecessary context permission grant for clipboard read and write
🔧 (python_api_generation.spec.ts): remove unnecessary context permission grant for clipboard read and write
🔧 (tweaks_test.spec.ts): remove unnecessary context permission grant for clipboard read and write

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@logspace.ai>
2024-04-19 09:11:30 -03:00
Gabriel Luiz Freitas Almeida
fb47b6378b
Update release job names and add outputs in pre-release-base.yml and pre-release-langflow.yml (#1750) 2024-04-18 12:20:01 -03:00
Gabriel Luiz Freitas Almeida
e73754b391
Update database file path handling and server shutdown message (#1686)
* Update database file path handling in base.py and version.py

* Update server.py to handle SIGINT signal in LangflowUvicornWorker

* Add shutdown message when shutting down Langflow in main.py

* Update datetime type for created_at and updated_at fields in apikey and variable tables

* Update package versions in pyproject.toml and poetry.lock files

* Update package versions in pyproject.toml and poetry.lock files

* Fix import error in base.py

* Refactor database file path handling in base.py

* Update unit test command in python_test.yml
2024-04-11 17:13:00 -03:00
Gabriel Luiz Freitas Almeida
e582535bb0
Update package versions, workflows, LLMChain and Graph sorting (#1674)
* Update package versions in pyproject.toml and poetry.lock files

* Update poetry caching action and workflows

* Update poetry caching action and workflows

* Refactor LLMChainComponent build method in LLMChain.py

* Update poetry install command in Makefile

* Refactor Makefile to remove redundant install_backend targets

* Fix codespell issues in project

* Update package versions and dependencies

* Fix import order in chat_io.spec.ts, headerComponent/index.tsx, and chatMessage/index.tsx

* Update ruff command in Makefile and fix poetry cache reuse in Dockerfile

* Refactor ServiceManager class in manager.py to handle default service factories

* Fix typo in DOWNLOAD_WEBHOOK_URL variable assignment

* Refactor cache_service tests in test_cache_manager.py

* Add pytest-profiling

* Update Makefile to run unit tests with parallel execution

* Refactor ServiceManager class in manager.py to handle default service factories

* Refactor node_name condition in Graph class to use "Listen" instead of "GetNotified"

* Refactor file paths in tests/conftest.py for better readability and maintainability

* Sort vertices in each layer by dependency in Graph class

* Refactor variable declaration in SessionService class to use type hinting

* Refactor make tests command in python_test.yml workflow

* Refactor file paths in tests/conftest.py for better readability and maintainability

* Refactor imports in tests/conftest.py to include sqlmodel.Session and related dependencies

* Refactor file paths in tests/conftest.py to include available files in error message

* Refactor file paths in tests/conftest.py to include available files in error message

* Refactor file paths in tests/conftest.py to fix typo in BasicChatwithPromptAndHistory.json
2024-04-11 12:20:56 -03:00
Gabriel Luiz Freitas Almeida
e2bdef8a5f Update GitHub workflows and remove unused workflow (#1648) 2024-04-10 11:59:09 -03:00
Gabriel Luiz Freitas Almeida
2ff3d49841
Update GitHub workflows and remove unused workflow (#1648)
* Update GitHub workflows to include release_package input

* Remove unused GitHub workflow for async API tests
2024-04-09 01:12:58 -03:00
Gabriel Luiz Freitas Almeida
a465d71a5e Fix version retrieval in pre-release-langflow.yml workflow 2024-04-08 21:36:50 -03:00
Gabriel Luiz Freitas Almeida
212cf9446a
Refactor run_on_mac_or_linux function and update Docker image tags (#1644)
* Refactor run_on_mac_or_linux function in __main__.py to remove open_browser parameter

* Update Docker image tags in GitHub workflows to use logspace/langflow instead of langflow/langflow

* Update package versions in pyproject.toml and poetry.lock
2024-04-08 21:27:11 -03:00
Gabriel Luiz Freitas Almeida
99454a3d5d Fix version retrieval in pre-release-langflow.yml workflow 2024-04-08 18:27:06 -03:00
Gabriel Luiz Freitas Almeida
b8a5b0cb96 Update GitHub workflows to create releases for pre-release and main branches 2024-04-08 18:24:45 -03:00
Gabriel Luiz Freitas Almeida
cf4ca624b4
Update package versions in pyproject.toml and fix dependencies (#1643)
* Update package versions in pyproject.toml and fix dependencies

* Update Docker image tags in GitHub workflows and README.md
2024-04-08 17:18:23 -03:00
Gabriel Luiz Freitas Almeida
10ecc81f66
Update package versions and refactor build project for distribution (#1626)
* Update package versions in pyproject.toml

* Merge remote-tracking branch 'origin/dev' into new_release

* Refactor build project for distribution in pre-release workflows

* Merge remote-tracking branch 'origin/dev' into new_release
2024-04-05 16:42:14 -03:00
Gabriel Luiz Freitas Almeida
9ef3558a9c
Add version check before publishing to PyPI (#1624)
* Add version check before publishing to PyPI
2024-04-05 16:36:15 -03:00
Gabriel Luiz Freitas Almeida
9b09156aa6
Update Dockerfile, docker-compose.yml, and add langflow 1.0-alpha tag (#1620)
* Update Dockerfile to use logspace/langflow:latest image

* Update docker-compose.yml with new version and add PostgreSQL service

* Add langflow 1.0-alpha tag
2024-04-05 14:39:51 -03:00
Matheus Jacques
4202268419
Test release workflow (#1608)
* Test release workflow

* fix langflow-base version on pyproject

---------

Co-authored-by: Matheus <jacquesmats@gmail.com>
2024-04-04 18:13:26 -03:00
Gabriel Luiz Freitas Almeida
c1386ff510 Update version command in pre-release workflow 2024-04-04 03:17:07 -03:00
Gabriel Luiz Freitas Almeida
e081b985c4 Add force_release input to workflow_dispatch 2024-04-04 03:00:20 -03:00