Skip to content

Commit ffd7d81

Browse files
Merge pull request #19 from Helixar-AI/codex/hdp-langchain-release
ci: add hdp-langchain release pipeline
2 parents 68c3696 + 13d8f72 commit ffd7d81

1 file changed

Lines changed: 87 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66
- 'v*'
77
- 'python/v*'
88
- 'python/hdp-grok/v*'
9+
- 'python/hdp-langchain/v*'
910
- 'python/hdp-autogen/v*'
1011
- 'python/hdp-physical/v*'
1112
- 'node/hdp-autogen/v*'
@@ -14,6 +15,9 @@ on:
1415
env:
1516
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
1617

18+
permissions:
19+
contents: read
20+
1721
jobs:
1822
# ── Node.js pipeline ──────────────────────────────────────────────────────
1923

@@ -539,6 +543,89 @@ jobs:
539543
with:
540544
packages-dir: dist/
541545

546+
# ── hdp-langchain (Python / LangChain) ───────────────────────────────────
547+
548+
test-hdp-langchain:
549+
name: Test hdp-langchain
550+
if: startsWith(github.ref, 'refs/tags/python/hdp-langchain/v')
551+
runs-on: ubuntu-latest
552+
strategy:
553+
matrix:
554+
python-version: ['3.10', '3.11', '3.12']
555+
steps:
556+
- uses: actions/checkout@v5
557+
558+
- name: Set up Python ${{ matrix.python-version }}
559+
uses: actions/setup-python@v5
560+
with:
561+
python-version: ${{ matrix.python-version }}
562+
563+
- name: Install dependencies
564+
working-directory: packages/hdp-langchain
565+
run: pip install -e ".[dev]"
566+
567+
- name: Run tests
568+
working-directory: packages/hdp-langchain
569+
run: pytest tests/ -v
570+
571+
vet-hdp-langchain:
572+
name: Build & Vet hdp-langchain (ReleaseGuard)
573+
needs: test-hdp-langchain
574+
runs-on: ubuntu-latest
575+
steps:
576+
- uses: actions/checkout@v5
577+
578+
- name: Set up Python
579+
uses: actions/setup-python@v5
580+
with:
581+
python-version: '3.12'
582+
583+
- name: Install build tools
584+
run: pip install build
585+
586+
- name: Build distribution
587+
working-directory: packages/hdp-langchain
588+
run: python -m build
589+
590+
- name: Vet artifacts with ReleaseGuard
591+
uses: Helixar-AI/ReleaseGuard@94c067008f3ad516d4b61a6e7163d9d5518a4548
592+
with:
593+
path: packages/hdp-langchain/dist
594+
config: packages/hdp-langchain/.releaseguard.yml
595+
sbom: 'true'
596+
fix: 'true'
597+
format: sarif
598+
artifact-name: releaseguard-evidence-hdp-langchain
599+
600+
- name: Upload vetted distribution
601+
uses: actions/upload-artifact@v4
602+
with:
603+
name: hdp-langchain-dist
604+
path: packages/hdp-langchain/dist/
605+
retention-days: 1
606+
607+
publish-hdp-langchain:
608+
name: Publish hdp-langchain to PyPI
609+
needs: vet-hdp-langchain
610+
runs-on: ubuntu-latest
611+
permissions:
612+
contents: read
613+
id-token: write
614+
environment:
615+
name: pypi-hdp-langchain
616+
url: https://pypi.org/project/hdp-langchain/
617+
steps:
618+
- name: Download vetted distribution
619+
uses: actions/download-artifact@v4
620+
with:
621+
name: hdp-langchain-dist
622+
path: dist/
623+
624+
- name: Publish to PyPI
625+
uses: pypa/gh-action-pypi-publish@release/v1
626+
with:
627+
packages-dir: dist/
628+
542629
# ── hdp-autogen (Python / AutoGen) ────────────────────────────────────────
543630

544631
test-hdp-autogen:

0 commit comments

Comments
 (0)