Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
29 changes: 15 additions & 14 deletions .github/workflows/cross-platform-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,15 +89,9 @@ jobs:
arch: amd64
runner: ubuntu-latest
python-version: "3.12"
# macOS AMD64
- os: macos
arch: amd64
runner: macos-13
python-version: "3.10"
- os: macos
arch: amd64
runner: macos-13
python-version: "3.12"
# macOS-13 Brown out
# https://github.com/actions/runner-images/issues/13046
# https://github.com/godot-rust/gdext/pull/1402

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like we want to update to macos-15-intel

# macOS ARM64 (Apple Silicon)
- os: macos
arch: arm64
Expand Down Expand Up @@ -332,8 +326,15 @@ jobs:
- name: Test server startup (Unix)
if: matrix.os != 'windows'
timeout-minutes: 5
#objc[23504]: +[MPSGraphObject initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
env:
PYTORCH_NO_MPS: 1
OBJC_DISABLE_INITIALIZE_FORK_SAFETY: YES

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do set this at startup for macos too (not implying we don't also need ti here, just mentioning) - https://github.com/langflow-ai/langflow/blob/s3-file-store/src/backend/base/langflow/__main__.py#L159

OMP_NUM_THREADS: 1
run: |
# Start server in background
echo "PYTORCH_NO_MPS=$PYTORCH_NO_MPS"
echo "PYTORCH_NFORK_SAFETYO_MPS=$OBJC_DISABLE_INITIALIZE_FORK_SAFETY"
./test-env/bin/python -m langflow run --host localhost --port 7860 --backend-only &
SERVER_PID=$!

Expand Down Expand Up @@ -392,10 +393,6 @@ jobs:
arch: amd64
runner: ubuntu-latest
python-version: "3.13"
- os: macos
arch: amd64
runner: macos-13
python-version: "3.13"
- os: macos
arch: arm64
runner: macos-latest
Expand Down Expand Up @@ -620,6 +617,10 @@ jobs:
- name: Test server startup (Unix)
if: matrix.os != 'windows'
timeout-minutes: 5
env:
PYTORCH_NO_MPS: 1
OBJC_DISABLE_INITIALIZE_FORK_SAFETY: YES
OMP_NUM_THREADS: 1
run: |
# Start server in background
./test-env/bin/python -m langflow run --host localhost --port 7860 --backend-only &
Expand Down Expand Up @@ -712,4 +713,4 @@ jobs:
else
echo "❌ Critical platform tests were skipped unexpectedly"
exit 1
fi
fi
11 changes: 8 additions & 3 deletions .github/workflows/nightly_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ on:
required: false
type: boolean
default: false
skip_slack:
description: "Skip slack message on failure. Only do this for testing purposes."
required: false
type: boolean
default: false
push_to_registry:
description: "Whether to push images to registries. Set to false for testing builds without publishing."
required: false
Expand Down Expand Up @@ -210,9 +215,9 @@ jobs:
# ref: ${{ needs.create-nightly-tag.outputs.tag }}

release-nightly-build:
if: github.repository == 'langflow-ai/langflow' && (needs.frontend-tests.result == 'success' || needs.frontend-tests.result == 'skipped') && (needs.backend-unit-tests.result == 'success' || needs.backend-unit-tests.result == 'skipped')
needs: create-nightly-tag
if: github.repository == 'langflow-ai/langflow'

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we remove the test result conditionals here we should probably make the push_to_registry flag conditional based on success of the tests

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is only for testing purposes. They need to be added back in once we get everything working.

name: Run Nightly Langflow Build
needs: [create-nightly-tag, frontend-tests, backend-unit-tests]
uses: ./.github/workflows/release_nightly.yml
with:
build_docker_base: true
Expand All @@ -229,7 +234,7 @@ jobs:
slack-notification:
name: Send Slack Notification
needs: [frontend-tests, backend-unit-tests, release-nightly-build]
if: ${{ github.repository == 'langflow-ai/langflow' && always() && (needs.release-nightly-build.result == 'failure' || needs.frontend-tests.result == 'failure' || needs.backend-unit-tests.result == 'failure' || needs.release-nightly-build.result == 'success') }}
if: ${{ github.repository == 'langflow-ai/langflow' && !inputs.skip_slack && always() && (needs.release-nightly-build.result == 'failure' || needs.frontend-tests.result == 'failure' || needs.backend-unit-tests.result == 'failure' || needs.release-nightly-build.result == 'success') }}
runs-on: ubuntu-latest
steps:
- name: Send failure notification to Slack
Expand Down
5 changes: 2 additions & 3 deletions .secrets.baseline
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@
"filename": ".github/workflows/nightly_build.yml",
"hashed_secret": "3e26d6750975d678acb8fa35a0f69237881576b0",
"is_verified": false,
"line_number": 227,
"line_number": 232,
"is_secret": false
}
],
Expand Down Expand Up @@ -1402,6 +1402,5 @@
}
]
},
"generated_at": "2025-11-03T17:12:39Z"

"generated_at": "2025-11-08T02:07:36Z"
}
Loading