Commit Graph

73 Commits

Author SHA1 Message Date
9882f9f381 chore(ci): timeout bump + harden langflow grep + build/publish src/bundles/* wheels (#13199)
* chore: bump backend unit test timeout from 30 to 40 minutes

* ci: anchor langflow version grep so new workspace packages can't break it

The pattern `uv tree | grep 'langflow' | grep -v 'langflow-base' | grep -v 'langflow-sdk'`
was used in 8 places to pluck the root `langflow` (or `langflow-nightly`)
line out of `uv tree`. It relied on enumerating every other workspace
package that starts with `langflow-`. As soon as a new one was added
(`langflow-stepflow`, via #12015) the filter let two lines through and
the downstream `awk` / `cut` produced a multi-line string, e.g.:

    Name langflow-stepflow
    langflow-nightly does not match langflow-nightly. Exiting the workflow.

Replace the enumeration with an anchored regex
`grep -E '^langflow(-nightly)?[[:space:]]'` so only the exact `langflow`
or `langflow-nightly` root line matches, regardless of how many other
`langflow-*` workspace packages exist now or in the future.

* ci: build, test, and publish src/bundles/* wheels

Langflow main pins exact versions of every bundle (e.g.
`lfx-arxiv-nightly==0.1.0.dev38`, `lfx-arxiv==0.1.0`), but neither the
nightly workflow nor the release workflow built or published those
bundle wheels. So when cross-platform tests (or downstream consumers)
ran `pip install langflow-nightly`, the resolver couldn't find
`lfx-arxiv-nightly` / `lfx-duckduckgo-nightly` on PyPI and bailed:

    Because lfx-arxiv-nightly was not found in the package registry and
    langflow-nightly==1.10.0.dev38 depends on lfx-arxiv-nightly==0.1.0.dev38,
    we can conclude that langflow-nightly==1.10.0.dev38 cannot be used.

Add a build → test → publish lane for every package under
`src/bundles/*/` in both workflows, plus a matching bundle install step
in cross-platform-test.yml.

`release_nightly.yml`
- `build-nightly-bundles`: iterates `src/bundles/*/pyproject.toml`,
  builds each wheel, uploads as `dist-nightly-bundles`.
- `test-cross-platform` now passes `bundles-artifact-name` so the
  cross-platform test installs bundles before installing main.
- `publish-nightly-bundles`: publishes each bundle wheel to PyPI after
  cross-platform passes and lfx is already published.
- `publish-nightly-main` now waits on `publish-nightly-bundles` so main
  reaches PyPI only after its bundle deps do.

`release.yml`
- New `release_bundles` input (false by default).
- `validate-dependencies` rejects `release_package_main=true` without
  `release_bundles=true`, mirroring the existing lfx/sdk gate.
- `build-bundles`, `publish-bundles` mirror the nightly jobs.
- `publish-main` now needs `publish-bundles`.

`cross-platform-test.yml`
- New optional `bundles-artifact-name` input; download step is gated on
  it being set.
- `build-if-needed` (workflow_dispatch path) also builds bundles and
  publishes the artifact, so adhoc runs stay self-contained.
- Each of the four "Install main package from wheel" steps gets a
  preceding "Install bundle packages from wheel" step that runs only
  when the artifact is present, leaving non-bundle callers
  (e.g. pre-bundle release branches) unaffected.

* ci: drop mapfile from bundle install (macOS Bash 3.2 compat)

`mapfile` is a Bash 4+ builtin and the macOS runners use the system
Bash (3.2). The "Install bundle packages from wheel (Unix)" step
failed on `Install & Run - macos amd64 3.12` with:

    mapfile: command not found
    find: stdout: Broken pipe

Replace with the `shopt -s nullglob` + glob-array pattern already used
in the bundle build/publish steps, which works on Bash 3.2. All
artifact wheels live at the top level of ./bundles-dist, so the simple
glob is equivalent to the previous `find` (which also wasn't recursing
anywhere useful).

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-19 08:11:53 -07:00
e555e470d9 fix: Cherry-pick nightly SDK build fixes to main (#12491)
* fix: Build and install the langflow-sdk for lfx (fixes nightly) (#12481)

* fix: Build and install the langflow-sdk for lfx

* Publish sdk as a nightly

* Update ci.yml

* Update python_test.yml

* Update ci.yml

* fix: Properly grep for the langflow version (#12486)

* fix: Properly grep for the langflow version

* Mount the sdk where needed

* Skip the sdk

* [autofix.ci] apply automated fixes

* Update setup.py

* fix(docker): Remove broken npm self-upgrade from Docker images (#12309)

* fix: replace grep -oP with sed for Node.js version extraction in Docker builds (#12331)

The grep -oP (PCRE regex) command fails in the python:3.12.12-slim-trixie
Docker base image because PCRE support is not available in the slim variant.

This replaces grep -oP with portable sed -nE in all 5 Dockerfiles and adds
an empty version guard to fail fast with a clear error message instead of
producing a broken download URL.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: vjgit96 <vijay.katuri@ibm.com>
2026-04-03 14:25:33 -04:00
1db3ae043e chore: use self hosted ephemeral runner (#11253)
* chore: use self hosted ephemeral runner

In November and periodically since we have ran into issue with runners hanging and not properly cleaning themselves up causing our CI/CD pipeline to fail due to timeout or self canceling.

* chore: add actionlint for selfhosted runners

* fix: skip nightly test when skip flags are set

* fix: json string format

* chore: change to use run_on string directly

${{ inputs['runs_on'] || github.event.inputs['runs_on'] || 'ubuntu-latest' }}

* chore: use self hosted ephemeral runner

* chore: use self hosted ephemeral runner

* chore: use self hosted ephemeral runner

* chore: revert ephemeral runner testing changes, restore main-only guards

---------

Co-authored-by: vijay kumar katuri <vijay.katuri@ibm.com>
2026-02-18 16:29:20 -05:00
79d02f201b ci: bump actions/checkout to v6 (#10697) 2025-11-24 12:27:06 +00:00
6ce943e0b3 ci: allow releasing from branch (#9988)
* Try skipping gha cache

* simplify docker builds

* remove workflow dispatch options from workflows that shouldn't be run manually

* Update nightly docker build and add option to skip testing for nightly releases

* simplify version fetching for both release workflows

* revert docker-build v1 to original

* remove removed input

* Add push to registry flag for full workflow and add warning in old docker build workflow

* Add uv setup

* Add uv setup again

* Try esbuild js native build

* require a valid tag for release

* Echo inputs

* Reference inputs correctly

* Try updating conditional

* removes lfx temporarily for the 1.6 release

* Fix boolean comparison

* Add flag to allow creation of github release after pypi already exists

* Add always to make it run

* Use correct tag and remove commit since it's the tag for release

* allow updates

* Revert the lfx removals and flags to allow building without releasing

* standardize conditional inputs

* clean version check

* temporary skip of jobs in release; revert me

* Add arm64 to options

* Try rustflags env var

* echo the should_run_ci as well
2025-09-30 20:58:02 +00:00
7792b7aeaf build(deps):(deps): bump actions/checkout from 4 to 5 (#9646)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-09-18 16:02:36 -03:00
be18541415 chore: Update CI workflows to use bigger runner (#9915) 2025-09-18 16:01:18 -03:00
8c9d5824f7 ci: Change docker build jobs to run on self-hosted runners (#9834) 2025-09-12 11:14:05 -03:00
b378eb81d0 chore(ci): replace local uv setup action with astral-sh/setup-uv@v6 (#8491)
* chore: remove setup-uv action configuration file as it is no longer needed

* chore: update setup-uv action to use the official action across all workflows

* chore: disable cache pruning in all workflows to improve build stability

* chore: update Python version to 3.13 and add pre-release description in workflows
2025-06-11 18:56:04 +00:00
c0c08841ce ci(docker): update Buildx setup to use BuildKit container backend (#8320) 2025-06-03 13:18:49 -03:00
aff3829fc0 ci: Update Docker Buildx to latest version (#8266) 2025-05-30 00:08:34 -03:00
3f8f7f28c2 fix: docker build-main-all (#8182)
* use-with-extras-dockerfile

* naming

* independent-build-job

* build-when-main-is-built

* Apply suggestions from code review

* remove-build-all-flag
2025-05-27 16:21:59 +00:00
58522ee2ab fix: update docker build workflow to include 'nightly-main-all' release type for versioning (#8022) 2025-05-15 18:47:45 +00:00
409146151c build: add build for docker image with all optional deps (#7957)
* Add build for docker image with all optional deps

* Add to release workflows
2025-05-12 16:26:58 +00:00
62aef0b8ed chore: Ensure consistent version extraction for langflow-base in workflows (#7352)
fix: ensure consistent version extraction for langflow-base in workflows

Updated version extraction commands in multiple workflow files to consistently use 'head -n 1' for retrieving the first occurrence of the langflow-base version. This change improves reliability in version detection across docker-build, nightly_build, python_test, release_nightly, and release workflows.
2025-03-31 09:34:28 -03:00
d545e8d302 chore: Update Docker build workflow for reliability improvements (#6760)
* fix: Update Docker build workflow to use Wandalen/wretry.action for improved reliability

* fix: Remove attempt limit and delay from Docker build workflow

* fix: Add comment to clarify provenance setting in Docker build workflow
2025-02-21 18:33:50 +00:00
41edba73c9 feat: Add support for Python 3.13 (#6685) 2025-02-20 18:13:21 +00:00
a4355caabe feat: Fix Python versions used in CI (#6725)
fix: Fix Python versions used in CI
2025-02-20 11:15:05 +00:00
b5b1da7f6e build: adds arm64 build to docker build workflow (#4872)
Adds arm64 build to docker build workflow
2024-11-26 10:00:41 -08:00
7b7513a813 chore: Remove 'v' prefix from release tag in CI workflow that caused problems in docker build (#4819)
* Remove redundant 'v' prefix from release tag in CI workflow

* Add run-name to Docker Build and Push workflow for better traceability
2024-11-25 19:20:50 +00:00
91ccf1f458 ref: simplify docker build workflow (#4294) 2024-11-06 12:38:05 -08:00
c1097d2dde chore: update dockerfiles and docker-build workflows to fix releases (#4317)
* bash -x

* bash verbose

* combine bash calls in uv run

* combined python script

* relative dir

* pass args correctly

* pass args correctly

* function name

* fix arg order

* merge base and main

* remove nightly -ep docker image for now

* set up uv in the get-version job in docker-build.yml

* v prefix for version in build job

* use inputs.nightly_tag_main for checkout actions

* mount root project metadata for base build

* fix comment

* continued dockerfile fixes for workspaces setup

* fix path

* ruff check fix
2024-10-31 11:16:26 +00:00
eedfe43e69 build: dockerfile with entrypoint (#4062)
Adds a dockerfile with an entrypoint for use with Datastax Langflow
2024-10-16 20:18:39 -07:00
4a574da0c0 ci: fix release workflows for uv (#4053) 2024-10-07 21:41:19 +00:00
54dd81a681 chore: removes Poetry references from pyproject.toml and updates the project metadata (#4019)
* Remove Poetry references from pyproject.toml and update project metadata

* Remove '--no-update' flag from 'uv lock' commands in Makefile

* Add script metadata with Python version and dependencies

* Remove Poetry references and integrate UV setup in CI workflow

* Remove Poetry setup and installation from integration tests workflow

* Remove Poetry references and update workflow to use custom setup action

* Remove references to Poetry from configuration files
2024-10-04 17:24:55 +00:00
e19d90bd6c ci: fix releases with uv (#3971)
* Update scripts

* update the base dep in uv deps

* update nightly scripts

* Add uv creds for publish

* skip tests for now

* fix version

* only build the wheel

* try again

* add uv to python run

* [autofix.ci] apply automated fixes

* use uv cache

* more version fixe

* fixing versions

* fix base version

* Try no frozen?

* skip everything to try docker build

* tag

* frozen

* separate script for updating uv dep

* [autofix.ci] apply automated fixes

* hardcoded versions

* hardcoded versions

* add version to editable package

* build project before docker file runs

* try again

* fix uv patht o build

* don't know why this would mkae a difference

* debug statements

* debug statements

* debug statements

* change path to whl 🤷

* manually move the wheel...

* make dir

* try no sources

* add back tests

* refactor uv to action

* add uv action

* Update nightly build workflow to include uv lock files in version update commit

* Update lint-py workflow to use specific ref for setup-uv action

* Add checkout step to style-check-py GitHub Actions workflow

* Remove redundant GitHub ref syntax in lint-py.yml workflow

* Update lint-py.yml to use specific ref for setup-uv action

* Update action.yml: standardize quotes and remove redundant checkout step

* Add checkout step to GitHub Actions workflows for specific ref handling

- Introduced `actions/checkout@v4` step to multiple workflows to ensure code is checked out at a specific ref.
- Updated `.github/workflows/docker-build.yml`, `.github/workflows/release_nightly.yml`, `.github/workflows/lint-py.yml`, and `.github/workflows/style-check-py.yml` to include the new checkout step.
- Ensured credentials are persisted during the checkout process.

* Add checkout step to Python test workflow with specific ref

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-10-02 05:37:04 -07:00
a7d1449e9d ci: tag fixes and robustness to workflow failures (#3838) 2024-09-17 18:03:48 -07:00
1ea42725a4 ci: adds step to push to ghcr (#3779) 2024-09-12 09:23:04 -07:00
7f6b3873ee ci: enables docker builds for nightly tags (#3719) 2024-09-09 08:47:42 -07:00
7b3e51f769 ci: create a nightly build workflow (#3553)
* test poetry install

* Add nightly builds workflow

* remove old comments and fix poetry

* remove old debug statement

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-09-05 19:13:04 +00:00
b814c30716 refactor: Fix version extraction in GitHub Actions workflow (#3501) 2024-08-22 05:20:45 -07:00
6105606f5c ci: add checkout before setting up python (#3297)
* build: Set up Python 3.12 and Poetry caching in docker workflow.

* build: checkout repository before setting up Python 3.12 and Poetry.
2024-08-12 17:19:32 -07:00
d8af6652e0 build: Set up Python 3.12 and Poetry caching in docker workflow. (#3296) 2024-08-12 16:52:52 -07:00
881828c4a4 ci: refactor release workflow and Docker build process (#3245)
* feat: update docker-build.yml to conditionally retrieve version and adjust tagging logic for Docker images in workflows

* Refactor release workflow to separate base and main package handling

- Split `release_package` input into `release_package_base` and `release_package_main`
- Add new inputs for building Docker images: `build_docker_base` and `build_docker_main`
- Update conditional checks and job dependencies to reflect new inputs
- Separate Docker build workflows for base and main packages

* Refactor release.yml to introduce separate inputs for base and main packages, enhancing workflow flexibility and clarity

* chore: update release.yml to set default pre-release option to false, reflecting new workflow strategy

* chore: add pre-release check to release.yml to validate version format before proceeding with the workflow

* chore: remove deprecated pre-release workflows, consolidating configuration for cleaner CI/CD process

* chore: modify pre-release check in release.yml to use poetry version for validation, enhancing version format accuracy

* chore: refine pre-release version check in release.yml for improved regex validation, ensuring accurate version detection
2024-08-08 08:04:50 -07:00
28fa012fd6 chore: update HuggingFace Spaces build script to use correct space name (#2649)
The HuggingFace Spaces build script has been updated to use the correct space name "Langflow/Langflow" instead of "Langflow/Langflow-Preview". This ensures that the correct space is restarted when triggered.
2024-07-11 19:56:33 -03:00
7d8fefa562 Update dockerfiles and docker-build.yml (#2389)
* chore: Update docker-build.yml to disable pre-release by default

* chore: Update Dockerfiles to set LANGFLOW_HOST and LANGFLOW_PORT

The Dockerfiles have been updated to set the environment variables LANGFLOW_HOST and LANGFLOW_PORT. This ensures that the correct host and port are used when running the langflow application.

* 🔧 (build_and_push_backend.Dockerfile): remove unnecessary host and port configuration to simplify the Dockerfile and focus on backend-only functionality

* chore: Update LANGFLOW_CONFIG_DIR in docker-compose.yml

The LANGFLOW_CONFIG_DIR environment variable in docker-compose.yml has been updated to /app/langflow. This change ensures that the correct directory is used for storing logs, file storage, monitor data, and secret keys.
2024-07-01 13:53:39 -03:00
1293a1ec4e chore(deps): bump docker/build-push-action from 5 to 6
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 16:05:05 +00:00
f4ddc60d2a chore: Update docker-build.yml to include pre_release option and base-latest tag 2024-06-24 04:28:23 -07:00
7c35e29da2 chore: Update docker-build.yml to include pre_release option and base-latest tag 2024-06-24 04:28:23 -07:00
de2a95d5aa chore: Update docker-build.yml to include pre_release option 2024-06-24 04:28:23 -07:00
076498ebcf docker: make images arm64-compatible (#2199)
* optimize multi-arch docker build on x86

* test

* test

* test

* test

* separate build

* separate build

* fix package versions

* also fixes the release

* orjson

* orjson

* fix cryptography

* fix duckdb

* all

* all

* fix

* use provenance
2024-06-21 19:57:51 -07:00
ad89346cc0 refactor: Update Docker Build workflow to remove unnecessary steps and improve efficiency 2024-06-20 10:48:04 -03:00
584cd59961 Merge remote-tracking branch 'origin/dev' into two_edges 2024-06-18 14:51:19 -03:00
600c99b995 chore: Update platforms to only support linux/amd64 for docker build process 2024-06-17 18:20:45 -03:00
83b859152f 🔧 (docker-build.yml): update platforms to only support linux/amd64 for docker build process 2024-06-17 10:41:02 -03:00
fcf4512210 merge dev into two_edges 2024-06-17 10:01:28 -03:00
baba4b7185 (docker-build.yml): rename step from "Push Docker Image" to "Build and Push Docker Image" for clarity and accuracy 2024-06-17 07:57:46 -03:00
7dae09ac92 chore: Update Docker build workflow to include file output 2024-06-17 07:17:32 -03:00
dceffa6e6f fix docker tags on release process (#2196)
* fix docker tags on release process

* wait
2024-06-17 03:15:31 -07:00
5a04adfa1f chore: Comment out unused Docker build and container run steps 2024-06-15 11:53:13 -03:00