Skip to content

Add DB backup and recovery during DB schema migrations (#2158) #123

Add DB backup and recovery during DB schema migrations (#2158)

Add DB backup and recovery during DB schema migrations (#2158) #123

Workflow file for this run

---
# This is a basic workflow to help you get started with Actions
name: Release Package & Docker Image
# Controls when the action will run. Triggers the workflow on push of a tag
on:
push:
tags: ['*']
jobs:
setup-and-test:
uses: ./.github/workflows/unit-test.yml
with:
os: ubuntu-latest
python-version: '3.8'
secrets: inherit
mlstacks-compatibility-check:
needs: setup-and-test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4.1.1
- name: Set up Python
uses: actions/setup-python@v5.0.0
with:
python-version: '3.8'
- name: Install current package as editable
run: pip install -e .
- name: Install mlstacks package
run: pip install mlstacks
- name: Check for broken dependencies
run: pip check
mysql-db-migration-testing:
runs-on: ubuntu-dind-runners
steps:
- name: Checkout code
uses: actions/checkout@v4.1.1
- name: Set up Python 3.9
uses: actions/setup-python@v5.0.0
with:
python-version: '3.9'
- name: Test migrations across versions
run: bash scripts/test-migrations-mysql.sh mysql
sqlite-db-migration-testing:
runs-on: ubuntu-dind-runners
steps:
- name: Checkout code
uses: actions/checkout@v4.1.1
- name: Set up Python 3.9
uses: actions/setup-python@v5.0.0
with:
python-version: '3.9'
- name: Test migrations across versions
run: bash scripts/test-migrations-mysql.sh sqlite
mariadb-db-migration-testing:
runs-on: ubuntu-dind-runners
steps:
- name: Checkout code
uses: actions/checkout@v4.1.1
- name: Set up Python 3.9
uses: actions/setup-python@v4.8.0
with:
python-version: '3.9'
- name: Test migrations across versions
run: bash scripts/test-migrations-mariadb.sh
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: ubuntu-latest
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