RBAC resource sharing #10572
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Build, Lint, Unit, Integration and Templates Tests | |
on: | |
workflow_dispatch: | |
workflow_call: | |
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: | |
mlstacks-compatibility-check: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/[email protected] | |
- name: Set up Python | |
uses: actions/[email protected] | |
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 | |
custom-ubuntu-runners-setup-and-test-python: | |
if: github.event.pull_request.draft == false | |
strategy: | |
matrix: | |
os: [ubuntu-dind-runners] | |
python-version: ['3.8', '3.9', '3.10', '3.11'] | |
fail-fast: false | |
uses: ./.github/workflows/setup-python-environment.yml | |
with: | |
python-version: ${{ matrix.python-version }} | |
os: ${{ matrix.os }} | |
secrets: inherit | |
windows-setup-and-test-python: | |
if: github.event.pull_request.draft == false | |
strategy: | |
matrix: | |
os: [windows-latest] | |
python-version: ['3.8', '3.9', '3.10', '3.11'] | |
fail-fast: false | |
uses: ./.github/workflows/setup-python-environment.yml | |
with: | |
python-version: ${{ matrix.python-version }} | |
os: ${{ matrix.os }} | |
secrets: inherit | |
macos-setup-and-test-python: | |
if: github.event.pull_request.draft == false | |
strategy: | |
matrix: | |
os: [macos-latest] | |
python-version: ['3.8', '3.9', '3.10', '3.11'] | |
fail-fast: false | |
uses: ./.github/workflows/setup-python-environment.yml | |
with: | |
python-version: ${{ matrix.python-version }} | |
os: ${{ matrix.os }} | |
secrets: inherit | |
update-templates-to-examples: | |
# this doesn't work on forked repositories (i.e. outside contributors) | |
# so we disable template updates for those PRs / branches | |
if: github.event.pull_request.head.repo.full_name == 'zenml-io/zenml' | |
uses: ./.github/workflows/update-templates-to-examples.yml | |
with: | |
python-version: '3.8' | |
os: ubuntu-latest | |
secrets: inherit | |
windows-integration-test: | |
needs: [windows-setup-and-test-python] | |
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.yml | |
with: | |
os: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
test_environment: ${{ matrix.test_environment }} | |
secrets: inherit | |
macos-integration-test: | |
needs: [macos-setup-and-test-python] | |
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.yml | |
with: | |
os: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
test_environment: ${{ matrix.test_environment }} | |
secrets: inherit | |
custom-ubuntu-runners-integration-test: | |
needs: [custom-ubuntu-runners-setup-and-test-python] | |
strategy: | |
matrix: | |
os: [ubuntu-dind-runners] | |
# Disabled temporarily while CI is overhauled | |
python-version: ['3.8', '3.9', '3.10'] | |
# 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.yml | |
with: | |
os: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
test_environment: ${{ matrix.test_environment }} | |
secrets: inherit |