Skip to content

Disable methods for local case #406

Disable methods for local case

Disable methods for local case #406

Workflow file for this run

---
name: ci-slow
on:
push:
branches: [main]
paths-ignore: [docs/**, docker/**, '*', '!pyproject.toml', '**.md']
pull_request:
types: [opened, synchronize, ready_for_review]
paths-ignore: [docs/**, docker/**, '*', '!pyproject.toml', '**.md']
concurrency:
# New commit on branch cancels running workflows of the same branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
run-slow-ci-label-is-set:
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
# using this instead of contains(github.event.pull_request.labels.*.name, 'run-slow-ci')
# to make it dynamic, otherwise github context is fixed at the moment of trigger event.
# With dynamic approach dev can set label and rerun this flow to make it running.
- name: Get PR labels
id: pr-labels
uses: actions/github-script@v5
with:
script: |
const prNumber = ${{ github.event.pull_request.number }};
const { data: labels } = await github.rest.issues.listLabelsOnIssue({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
});
const labelNames = labels.map(label => label.name);
core.setOutput('all-labels', labelNames.join(','));
- name: Slow CI label not set
if: ${{ !contains(steps.pr-labels.outputs.all-labels, 'run-slow-ci') }}
run: |
echo "Please add the 'run-slow-ci' label to this PR before merging."
exit 1
docstring-check:
if: github.event.pull_request.draft == false
needs: run-slow-ci-label-is-set
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Python
uses: actions/setup-python@v5.0.0
with:
python-version: '3.10'
- name: Install current package as editable
run: pip install -U darglint
- name: Check docstrings
run: bash scripts/docstring.sh
sqlite-db-migration-testing:
if: github.event.pull_request.draft == false
needs: run-slow-ci-label-is-set
runs-on: ubuntu-dind-runners
steps:
- 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
small-checks:
if: github.event.pull_request.draft == false
needs: run-slow-ci-label-is-set
runs-on: ubuntu-latest
steps:
- 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 -U pip
pip install -e .
- name: Install mlstacks package
run: pip install mlstacks
- name: Check for broken dependencies
run: pip check
- name: Markdown link check
uses: gaurav-nelson/github-action-markdown-link-check@1.0.15
with:
use-quiet-mode: 'yes'
use-verbose-mode: 'no'
folder-path: ./examples, ./docs/book, ./src
file-path: ./README.md, ./LICENSE, ./RELEASE_NOTES.md, CODE-OF-CONDUCT.md,
CONTRIBUTING.md, CLA.md, RELEASE_NOTES.md, ROADMAP.md
config-file: .github/workflows/markdown_check_config.json
continue-on-error: true
- name: Security check
run: |
pip install bandit
bash scripts/check-security.sh
- name: Check for alembic branch divergence
env:
ZENML_DEBUG: 0
run: |
pip install alembic
bash scripts/check-alembic-branches.sh
custom-ubuntu-unit-test:
if: github.event.pull_request.draft == false
needs: run-slow-ci-label-is-set
strategy:
matrix:
os: [ubuntu-dind-runners]
python-version: ['3.8', '3.9', '3.10', '3.11']
fail-fast: false
uses: ./.github/workflows/unit-test.yml
with:
python-version: ${{ matrix.python-version }}
os: ${{ matrix.os }}
secrets: inherit
windows-unit-test:
if: github.event.pull_request.draft == false
needs: run-slow-ci-label-is-set
strategy:
matrix:
os: [windows-latest]
python-version: ['3.8', '3.9', '3.10', '3.11']
fail-fast: false
uses: ./.github/workflows/unit-test.yml
with:
python-version: ${{ matrix.python-version }}
os: ${{ matrix.os }}
secrets: inherit
macos-unit-test:
if: github.event.pull_request.draft == false
needs: run-slow-ci-label-is-set
strategy:
matrix:
os: [macos-latest]
python-version: ['3.8', '3.9', '3.10', '3.11']
fail-fast: false
uses: ./.github/workflows/unit-test.yml
with:
python-version: ${{ matrix.python-version }}
os: ${{ matrix.os }}
secrets: inherit
windows-integration-test:
if: github.event.pull_request.draft == false
needs: run-slow-ci-label-is-set
strategy:
matrix:
os: [windows-latest]
python-version: ['3.8', '3.9', '3.10', '3.11']
test_environment: [default]
fail-fast: false
uses: ./.github/workflows/integration-test-slow.yml
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
test_environment: ${{ matrix.test_environment }}
secrets: inherit
macos-integration-test:
if: github.event.pull_request.draft == false
needs: run-slow-ci-label-is-set
strategy:
matrix:
os: [macos-latest]
python-version: ['3.8', '3.9', '3.10', '3.11']
test_environment: [default]
fail-fast: false
uses: ./.github/workflows/integration-test-slow.yml
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
test_environment: ${{ matrix.test_environment }}
secrets: inherit
custom-ubuntu-integration-test:
if: github.event.pull_request.draft == false
needs: run-slow-ci-label-is-set
strategy:
matrix:
os: [ubuntu-dind-runners]
python-version: ['3.8', '3.9', '3.10', '3.11']
test_environment:
- default
- docker-server-docker-orchestrator-mysql
- docker-server-docker-orchestrator-mariadb
exclude:
# docker is time-consuming to run, so we only run it on 3.8
- test_environment: docker-server-docker-orchestrator-mysql
python-version: '3.9'
- test_environment: docker-server-docker-orchestrator-mysql
python-version: '3.10'
- test_environment: docker-server-docker-orchestrator-mysql
python-version: '3.11'
- test_environment: docker-server-docker-orchestrator-mariadb
python-version: '3.9'
- test_environment: docker-server-docker-orchestrator-mariadb
python-version: '3.10'
- test_environment: docker-server-docker-orchestrator-mariadb
python-version: '3.11'
fail-fast: false
uses: ./.github/workflows/integration-test-slow.yml
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
test_environment: ${{ matrix.test_environment }}
secrets: inherit