Skip to content

Prepare release 0.60.0 (#2804) #149

Prepare release 0.60.0 (#2804)

Prepare release 0.60.0 (#2804) #149

Workflow file for this run

---
name: Release Package & Docker Image
on:
push:
tags: ['*']
jobs:
setup-and-test:
uses: ./.github/workflows/unit-test.yml
with:
os: arc-runner-set
python-version: '3.8'
secrets: inherit
mlstacks-compatibility-check:
needs: setup-and-test
runs-on: arc-runner-set
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Set up Python
uses: actions/[email protected]
with:
python-version: '3.8'
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.cargo/env
- name: Create virtual environment
run: |
source $HOME/.cargo/env
uv venv
- name: Check mlstacks compatibility
run: |
source .venv/bin/activate
source $HOME/.cargo/env
uv pip install -e .
uv pip install mlstacks
- name: Check for broken dependencies
run: |
source .venv/bin/activate
source $HOME/.cargo/env
uv pip check
mysql-db-migration-testing:
runs-on: arc-runner-set
env:
ZENML_ANALYTICS_OPT_IN: false
ZENML_DEBUG: true
steps:
- name: Checkout code
uses: actions/[email protected]
with:
fetch-depth: 0
- name: Set up Python 3.9
uses: actions/[email protected]
with:
python-version: '3.9'
- name: Test migrations across versions
run: bash scripts/test-migrations.sh mysql
sqlite-db-migration-testing:
runs-on: arc-runner-set
env:
ZENML_ANALYTICS_OPT_IN: false
ZENML_DEBUG: true
steps:
- name: Checkout code
uses: actions/[email protected]
with:
fetch-depth: 0
- name: Set up Python 3.9
uses: actions/[email protected]
with:
python-version: '3.9'
- name: Test migrations across versions
run: bash scripts/test-migrations.sh sqlite
mariadb-db-migration-testing:
runs-on: arc-runner-set
env:
ZENML_ANALYTICS_OPT_IN: false
ZENML_DEBUG: true
steps:
- name: Checkout code
uses: actions/[email protected]
with:
fetch-depth: 0
- name: Set up Python 3.9
uses: actions/[email protected]
with:
python-version: '3.9'
- name: Test migrations across versions
run: bash scripts/test-migrations.sh mariadb
publish-python-package:
if: github.repository == 'zenml-io/zenml'
needs:
- setup-and-test
- mlstacks-compatibility-check
- sqlite-db-migration-testing
- mysql-db-migration-testing
- mariadb-db-migration-testing
uses: ./.github/workflows/publish_to_pypi.yml
secrets: inherit
wait-for-package-release:
runs-on: arc-runner-set
needs: publish-python-package
steps:
- name: Sleep for 4 minutes
run: sleep 240
shell: bash
publish-docker-image:
if: github.repository == 'zenml-io/zenml'
needs: wait-for-package-release
uses: ./.github/workflows/publish_docker_image.yml
secrets: inherit
publish-helm-chart:
if: github.repository == 'zenml-io/zenml'
needs: publish-docker-image
uses: ./.github/workflows/publish_helm_chart.yml
secrets: inherit
wait-for-package-release-again:
runs-on: arc-runner-set
needs: publish-helm-chart
steps:
- name: Sleep for 4 minutes
run: sleep 240
shell: bash
# create a tag on the ZenML cloud plugins repo
create_tag_on_cloud_plugins_repo:
runs-on: ubuntu-latest
needs: wait-for-package-release-again
steps:
- name: Get the sha of the latest commit on plugins/main
id: get_sha
run: |
echo "::set-output name=sha::$(curl -s -H "Authorization: token ${{ secrets.CLOUD_PLUGINS_REPO_PAT }}" https://api.github.com/repos/zenml-io/zenml-cloud-plugins/commits/main | jq -r '.sha')"
- name: Get the version from the github tag ref
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
- name: Create a tag on ZenML Cloud plugins repo
uses: actions/github-script@v7
with:
github-token: ${{ secrets.CLOUD_PLUGINS_REPO_PAT }}
script: |-
await github.rest.git.createRef({
owner: 'zenml-io',
repo: 'zenml-cloud-plugins',
ref: 'refs/tags/${{ steps.get_version.outputs.VERSION }}',
sha: '${{ steps.get_sha.outputs.sha }}'
})