diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release-base.yml similarity index 95% rename from .github/workflows/pre-release.yml rename to .github/workflows/pre-release-base.yml index 6ca9aa67d..762bac3e9 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release-base.yml @@ -1,4 +1,4 @@ -name: pre-release +name: pre-release-base on: pull_request: @@ -27,7 +27,7 @@ jobs: python-version: "3.10" cache: "poetry" - name: Build project for distribution - run: make build + run: make build base=true - name: Check Version id: check-version run: | @@ -46,7 +46,7 @@ jobs: env: POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_API_TOKEN }} run: | - poetry publish + poetry publish base=true - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx diff --git a/.github/workflows/pre-release-langflow.yml b/.github/workflows/pre-release-langflow.yml new file mode 100644 index 000000000..102004613 --- /dev/null +++ b/.github/workflows/pre-release-langflow.yml @@ -0,0 +1,71 @@ +name: pre-release-langflow + +on: + pull_request: + types: + - closed + branches: + - dev + paths: + - "pyproject.toml" + workflow_dispatch: + workflow_run: + workflows: ["pre-release-base"] + types: [completed] + branches: [dev] + +env: + POETRY_VERSION: "1.8.2" + +jobs: + if_release: + if: ${{ (github.event.pull_request.merged == true) && contains(github.event.pull_request.labels.*.name, 'pre-release') }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install poetry + run: pipx install poetry==$POETRY_VERSION && poetry self add poetry-monorepo-dependency-plugin + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + cache: "poetry" + - name: Build project for distribution + run: make build main=true + - name: Check Version + id: check-version + run: | + echo version=$(poetry version --short) >> $GITHUB_OUTPUT + - name: Create Release + uses: ncipollo/release-action@v1 + with: + artifacts: "dist/*" + token: ${{ secrets.GITHUB_TOKEN }} + draft: false + generateReleaseNotes: true + prerelease: true + tag: v${{ steps.check-version.outputs.version }} + commit: dev + - name: Publish to PyPI + env: + POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_API_TOKEN }} + run: | + poetry publish main=true + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + push: true + file: ./build_and_push.Dockerfile + tags: | + logspace/langflow:${{ steps.check-version.outputs.version }} + logspace/langflow:latest-dev