Skip to content

Publish marimo-base release #16

Publish marimo-base release

Publish marimo-base release #16

name: Publish marimo-base release
# release a new version of marimo-base on tag push
on:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]+"
workflow_dispatch: {}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
publish_release:
name: 📤 Publish release
runs-on: ubuntu-latest
environment: pypi
permissions:
contents: read
id-token: write
defaults:
run:
shell: bash
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: 📦 Build frontend
uses: ./.github/actions/build-frontend
with:
turbo-token: ${{ secrets.TURBO_TOKEN }}
codecov-token: ${{ secrets.CODECOV_TOKEN }}
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Adapt pyproject.toml to build marimo-base
run: uv run ./scripts/modify_pyproject_for_marimo_base.py
- name: 📦 Build marimo-base
run: uv build
- name: 📦 Validate wheel under 2mb
run: ./scripts/validate_base_wheel_size.sh
- name: 📤 Upload to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
skip-existing: true
- name: 📤 Upload to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
skip-existing: true
attestations: false
repository-url: https://test.pypi.org/legacy/
- name: 📢 Notify release result
if: always()
continue-on-error: true
uses: marimo-team/internal-gh-actions/release-notification@main
with:
status: ${{ job.status }}
slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL_RELEASES }}
artifact-url: "https://pypi.org/project/marimo-base/"