Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor environment setup and caching #3077

Merged
merged 71 commits into from
Nov 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
e533609
Refactor environment setup and caching
safoinme Oct 13, 2024
daf146f
Auto-update of LLM Finetuning template
actions-user Oct 13, 2024
764b0fc
Auto-update of Starter template
actions-user Oct 13, 2024
2d532a9
Auto-update of E2E template
actions-user Oct 13, 2024
098b3de
Refactor environment setup and caching in ci-fast.yml
safoinme Oct 13, 2024
85c492b
Merge branch 'misc/improve-ci-cache' of https://github.com/zenml-io/z…
safoinme Oct 13, 2024
7b708d5
Refactor environment setup and caching in ci-fast.yml
safoinme Oct 13, 2024
4d4f49a
Refactor caching keys in ci-fast.yml
safoinme Oct 13, 2024
f9c9190
Refactor mlflow integration dependencies
safoinme Oct 13, 2024
e9d860a
Refactor environment setup and caching in ci-fast.yml and lint.sh
safoinme Oct 13, 2024
3fc6952
Refactor environment setup and caching in ci-fast.yml and lint.sh
safoinme Oct 13, 2024
e694820
Refactor mypy cache directory in lint.sh
safoinme Oct 13, 2024
35de763
Refactor workflow in ci-fast.yml to remove unnecessary job dependency
safoinme Oct 13, 2024
0903f65
crazy expirement
safoinme Oct 14, 2024
a712dcf
format
safoinme Oct 14, 2024
449fe79
Refactor port mappings in integration-test-fast.yml
safoinme Oct 14, 2024
ea38e5f
Refactor Dockerfile path in ci-fast.yml
safoinme Oct 14, 2024
e6e729d
Refactor Dockerfile path in ci-fast.yml and remove unnecessary job de…
safoinme Oct 14, 2024
21378cf
Refactor Dockerfile path in ci-fast.yml and update GitHub Container R…
safoinme Oct 14, 2024
1d29c2b
Refactor Dockerfile path in ci-fast.yml and update GitHub Container R…
safoinme Oct 14, 2024
f6b4d69
Refactor Dockerfile path in ci-fast.yml and add github-actions-server…
safoinme Oct 14, 2024
6a55f93
Refactor Dockerfile path in ci-fast.yml and update port mappings
safoinme Oct 14, 2024
de88ae4
Refactor Dockerfile path in ci-fast.yml and update port mappings
safoinme Oct 14, 2024
8a44266
Refactor Dockerfile path in ci-fast.yml and update port mappings
safoinme Oct 14, 2024
1d0bc0b
Refactor Dockerfile path in ci-fast.yml and add integration-test-slow…
safoinme Oct 14, 2024
8646b5e
Refactor Dockerfile path in ci-slow.yml and update runs-on to ubuntu-…
safoinme Oct 14, 2024
4362a40
Merge branch 'develop' into misc/improve-ci-cache
safoinme Oct 14, 2024
e0ce573
Refactor ci-slow.yml to include custom-ubuntu-unit-test in the workfl…
safoinme Oct 14, 2024
4ba01db
Refactor ci-slow.yml to include custom-ubuntu-unit-test in the workfl…
safoinme Oct 14, 2024
732117e
Refactor ci-slow.yml to include custom-ubuntu-unit-test in the workfl…
safoinme Oct 14, 2024
ff9fd73
Refactor ci-slow.yml to update Python versions in the workflow depend…
safoinme Oct 19, 2024
7417aca
Merge branch 'develop' into misc/improve-ci-cache
safoinme Oct 19, 2024
c9e1b65
Auto-update of LLM Finetuning template
actions-user Oct 19, 2024
c15a1c8
Refactor MLFlow deployment service and steps
safoinme Oct 20, 2024
e0c8d55
Merge branch 'develop' into misc/improve-ci-cache
safoinme Oct 22, 2024
66e6c63
Merge branch 'develop' into misc/improve-ci-cache
safoinme Oct 31, 2024
40ac09a
Update lint script to check YAML formatting instead of fixing it
safoinme Oct 31, 2024
50ab432
Refactor workflow YAML descriptions and simplify branch specification
safoinme Oct 31, 2024
00dbbb9
Update CI workflows to include additional test environments and comme…
safoinme Nov 1, 2024
ead9b9f
Merge branch 'develop' into misc/improve-ci-cache
safoinme Nov 1, 2024
dfbb7b1
Remove unnecessary comments and images from data artifact management …
safoinme Nov 1, 2024
ccddde7
Fix type hinting for artifact URI retrieval in MLflow integration
safoinme Nov 1, 2024
dafd350
updatte
safoinme Nov 2, 2024
df6c41e
Update GitHub Actions to use actions/checkout@v4.2.2 and actions/setu…
safoinme Nov 5, 2024
0fb93ed
Update .github/workflows/ci-fast.yml
safoinme Nov 5, 2024
85745c5
Update .github/workflows/ci-slow.yml
safoinme Nov 5, 2024
44d4f2c
Fix typo in deprecation validator variable name in test_deprecation_u…
safoinme Nov 5, 2024
5168808
Merge branch 'misc/improve-ci-cache' of https://github.com/zenml-io/z…
safoinme Nov 5, 2024
a38e6a0
Fix formatting issue in migration guide for ZenML server
safoinme Nov 5, 2024
a13395d
Update CI workflows to use ubuntu-latest and adjust Python versions
safoinme Nov 7, 2024
666650c
Fix formatting in integration-test-slow-services.yml for ports section
safoinme Nov 7, 2024
d633f2f
Rename CI workflow jobs for clarity and consistency
safoinme Nov 7, 2024
1d2dbd4
Fix formatting in release_prepare.yml for branch specification
safoinme Nov 7, 2024
bc31003
Add integration test workflows to YAML formatting script
safoinme Nov 7, 2024
8a92624
Auto-update of LLM Finetuning template
actions-user Nov 7, 2024
02732a3
Auto-update of Starter template
actions-user Nov 7, 2024
8e7ca14
Fix quotes in branch specification for release_prepare.yml
safoinme Nov 7, 2024
f9ea2e5
Standardize YAML file checks in format and lint scripts
safoinme Nov 7, 2024
4b34e99
Refactor CI workflow by removing build-and-push job and adjusting dep…
safoinme Nov 7, 2024
14f883c
Auto-update of E2E template
actions-user Nov 7, 2024
d4907e9
Auto-update of NLP template
actions-user Nov 7, 2024
7c87616
Merge branch 'misc/improve-ci-cache' of https://github.com/zenml-io/z…
safoinme Nov 7, 2024
1ce05ec
Merge branch 'develop' into misc/improve-ci-cache
safoinme Nov 7, 2024
7edbaed
Auto-update of LLM Finetuning template
actions-user Nov 7, 2024
39aeb8a
Auto-update of Starter template
actions-user Nov 7, 2024
de69c0e
Auto-update of E2E template
actions-user Nov 7, 2024
af5af8d
Auto-update of NLP template
actions-user Nov 7, 2024
19f8928
Update Python version matrix in CI workflows to include 3.11
safoinme Nov 8, 2024
5451596
Merge branch 'misc/improve-ci-cache' of https://github.com/zenml-io/z…
safoinme Nov 8, 2024
69523eb
Merge branch 'develop' into misc/improve-ci-cache
safoinme Nov 8, 2024
b7069bf
Remove Python 3.11 from CI workflow version matrix
safoinme Nov 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/setup_environment/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ runs:
using: composite
steps:
- name: Set up Python
uses: actions/setup-python@v5.0.0
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ inputs.python-version }}
- name: Delete error-causing bash
Expand Down
55 changes: 34 additions & 21 deletions .github/workflows/ci-fast.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ concurrency:
jobs:
docstring-check:
if: github.event.pull_request.draft == false
runs-on: arc-runner-set
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.2.2
- name: Set up Python
uses: actions/setup-python@v5.0.0
uses: actions/setup-python@v5.3.0
with:
python-version: '3.10'
- name: Install darglint using uv
Expand All @@ -32,19 +32,19 @@ jobs:
- name: Check docstrings
run: bash scripts/docstring.sh
sqlite-db-migration-testing-random:
runs-on: arc-runner-set
runs-on: ubuntu-latest
env:
ZENML_ANALYTICS_OPT_IN: false
ZENML_DEBUG: true
# if team member commented, not a draft, on a PR, using /fulltest
if: github.event.pull_request.draft == false || github.event_name == 'workflow_dispatch'
steps:
- name: Checkout code
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
- name: Set up Python 3.9
uses: actions/setup-python@v5.0.0
uses: actions/setup-python@v5.3.0
with:
python-version: '3.9'
- name: Test migrations across versions
Expand All @@ -54,9 +54,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.2.2
- name: Spelling checker
uses: crate-ci/typos@v1.17.0
uses: crate-ci/typos@v1.27.0
with:
files: .
config: ./.typos.toml
Expand All @@ -65,9 +65,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.2.2
- name: Set up Python 3.11
uses: actions/setup-python@v5.0.0
uses: actions/setup-python@v5.3.0
with:
python-version: '3.11'
- name: Test API docs buildable
Expand All @@ -82,33 +82,46 @@ jobs:
python-version: '3.9'
os: ubuntu-latest
secrets: inherit
custom-ubuntu-setup-and-unit-test:
linting:
if: github.event.pull_request.draft == false
strategy:
matrix:
os: [ubuntu-latest]
python-version: ['3.11']
fail-fast: false
uses: ./.github/workflows/linting.yml
with:
python-version: ${{ matrix.python-version }}
os: ${{ matrix.os }}
secrets: inherit
ubuntu-setup-and-unit-test:
needs: linting
if: github.event.pull_request.draft == false
strategy:
matrix:
# IMPORTANT: Since we are using the combination of `arc-runner-set`
# and `3.10` in our `ci-fast` workflow, this combination has been
# excluded from the `ci-slow` workflow. If you change the configuration
# here, please adjust the configuration of `ci-slow` accordingly.
os: [arc-runner-set]
python-version: ['3.10']
os: [ubuntu-latest]
bcdurak marked this conversation as resolved.
Show resolved Hide resolved
python-version: ['3.11']
fail-fast: false
uses: ./.github/workflows/unit-test.yml
with:
python-version: ${{ matrix.python-version }}
os: ${{ matrix.os }}
secrets: inherit
custom-arc-runner-set-integration-test:
ubuntu-latest-integration-test:
needs: [linting]
if: github.event.pull_request.draft == false
strategy:
matrix:
# IMPORTANT: Since we are using the combinations of `arc-runner-set`
# `3.10` and two different test environments in our `ci-fast` workflow,
# these combination have been excluded from the `ci-slow` workflow.
# If you change the configuration here, please adjust the configuration
# of `ci-slow` accordingly.
os: [arc-runner-set]
python-version: ['3.10']
# IMPORTANT: Since we are using the combination of `arc-runner-set`
# and `3.10` in our `ci-fast` workflow, this combination has been
# excluded from the `ci-slow` workflow. If you change the configuration
# here, please adjust the configuration of `ci-slow` accordingly.
os: [ubuntu-latest]
bcdurak marked this conversation as resolved.
Show resolved Hide resolved
safoinme marked this conversation as resolved.
Show resolved Hide resolved
python-version: ['3.11']
test_environment: [default, docker-server-docker-orchestrator-mysql]
fail-fast: false
uses: ./.github/workflows/integration-test-fast.yml
Expand Down
114 changes: 69 additions & 45 deletions .github/workflows/ci-slow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
# 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
uses: actions/github-script@v7.0.1
with:
script: |
const prNumber = ${{ github.event.pull_request.number }};
Expand All @@ -45,13 +45,13 @@ jobs:
env:
ZENML_ANALYTICS_OPT_IN: false
ZENML_DEBUG: true
runs-on: arc-runner-set
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
- name: Set up Python 3.9
uses: actions/setup-python@v5.0.0
uses: actions/setup-python@v5.3.0
with:
python-version: '3.9'
- name: Login to Docker Hub
Expand All @@ -68,13 +68,13 @@ jobs:
env:
ZENML_ANALYTICS_OPT_IN: false
ZENML_DEBUG: true
runs-on: arc-runner-set
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
- name: Set up Python 3.9
uses: actions/setup-python@v5.0.0
uses: actions/setup-python@v5.3.0
with:
python-version: '3.9'
- name: Login to Docker Hub
Expand All @@ -87,18 +87,18 @@ jobs:
run: bash scripts/test-migrations.sh mysql random
sqlite-db-migration-testing-full:
needs: run-slow-ci-label-is-set
runs-on: arc-runner-set
runs-on: ubuntu-latest
env:
ZENML_ANALYTICS_OPT_IN: false
ZENML_DEBUG: true
if: github.event.pull_request.draft == false
steps:
- name: Checkout code
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
- name: Set up Python 3.9
uses: actions/setup-python@v5.0.0
uses: actions/setup-python@v5.3.0
with:
python-version: '3.9'
- name: Test migrations across versions
Expand All @@ -109,13 +109,13 @@ jobs:
env:
ZENML_ANALYTICS_OPT_IN: false
ZENML_DEBUG: true
runs-on: arc-runner-set
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
- name: Set up Python 3.9
uses: actions/setup-python@v5.0.0
uses: actions/setup-python@v5.3.0
with:
python-version: '3.9'
- name: Login to Docker Hub
Expand All @@ -131,9 +131,9 @@ jobs:
needs: run-slow-ci-label-is-set
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.2.2
- name: Set up Python
uses: actions/setup-python@v5.0.0
uses: actions/setup-python@v5.3.0
with:
python-version: '3.11'
- name: Install uv
Expand Down Expand Up @@ -171,28 +171,48 @@ jobs:
bash scripts/check-alembic-branches.sh
- name: Install latest dashboard (test gitignore)
run: bash scripts/install-dashboard.sh
custom-ubuntu-unit-test:
ubuntu-linting:
needs: run-slow-ci-label-is-set
if: github.event.pull_request.draft == false
strategy:
matrix:
os: [ubuntu-latest]
safoinme marked this conversation as resolved.
Show resolved Hide resolved
python-version: ['3.9', '3.10', '3.12']
fail-fast: false
uses: ./.github/workflows/linting.yml
with:
python-version: ${{ matrix.python-version }}
os: ${{ matrix.os }}
secrets: inherit
ubuntu-unit-test:
if: github.event.pull_request.draft == false
needs: [run-slow-ci-label-is-set, ubuntu-linting]
strategy:
matrix:
os: [ubuntu-latest]
python-version: ['3.9', '3.10', '3.12']
fail-fast: false
uses: ./.github/workflows/unit-test.yml
with:
python-version: ${{ matrix.python-version }}
os: ${{ matrix.os }}
secrets: inherit
windows-linting:
needs: run-slow-ci-label-is-set
if: github.event.pull_request.draft == false
strategy:
matrix:
os: [arc-runner-set]
os: [windows-latest]
python-version: ['3.9', '3.10', '3.11', '3.12']
# IMPORTANT: Since we are using the following combination
# in our `ci-fast` workflow, this combination has been
# excluded from the `ci-slow` workflow.
exclude:
- os: arc-runner-set
python-version: '3.10'
fail-fast: false
uses: ./.github/workflows/unit-test.yml
uses: ./.github/workflows/linting.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
needs: [run-slow-ci-label-is-set, windows-linting]
strategy:
matrix:
os: [windows-latest]
Expand All @@ -203,9 +223,22 @@ jobs:
python-version: ${{ matrix.python-version }}
os: ${{ matrix.os }}
secrets: inherit
macos-linting:
needs: run-slow-ci-label-is-set
if: github.event.pull_request.draft == false
strategy:
matrix:
os: [macos-latest]
python-version: ['3.9', '3.10', '3.11', '3.12']
fail-fast: false
uses: ./.github/workflows/linting.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
needs: [run-slow-ci-label-is-set, macos-linting]
strategy:
matrix:
os: [macos-latest]
Expand All @@ -224,7 +257,7 @@ jobs:
secrets: inherit
windows-integration-test:
if: github.event.pull_request.draft == false
needs: run-slow-ci-label-is-set
needs: [run-slow-ci-label-is-set, windows-unit-test]
strategy:
matrix:
os: [windows-latest]
Expand All @@ -239,7 +272,7 @@ jobs:
secrets: inherit
macos-integration-test:
if: github.event.pull_request.draft == false
needs: run-slow-ci-label-is-set
needs: [run-slow-ci-label-is-set, macos-unit-test]
strategy:
matrix:
os: [macos-13]
Expand All @@ -258,40 +291,31 @@ jobs:
python-version: ${{ matrix.python-version }}
test_environment: ${{ matrix.test_environment }}
secrets: inherit
custom-ubuntu-integration-test:
ubuntu-latest-integration-test:
if: github.event.pull_request.draft == false
needs: run-slow-ci-label-is-set
needs: [run-slow-ci-label-is-set, ubuntu-unit-test]
strategy:
matrix:
os: [arc-runner-set]
python-version: ['3.9', '3.10', '3.11', '3.12']
os: [ubuntu-latest]
python-version: ['3.9', '3.10', '3.12']
strickvl marked this conversation as resolved.
Show resolved Hide resolved
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.9
- test_environment: docker-server-docker-orchestrator-mysql
python-version: '3.10'
python-version: '3.9'
- test_environment: docker-server-docker-orchestrator-mysql
python-version: '3.11'
python-version: '3.10'
- test_environment: docker-server-docker-orchestrator-mysql
python-version: '3.12'
- test_environment: docker-server-docker-orchestrator-mariadb
python-version: '3.10'
python-version: '3.9'
- test_environment: docker-server-docker-orchestrator-mariadb
python-version: '3.11'
python-version: '3.10'
- test_environment: docker-server-docker-orchestrator-mariadb
python-version: '3.12'
# IMPORTANT: Since we are using the following combinations
# in our `ci-fast` workflow, this combination has been
# excluded from the `ci-slow` workflow.
- os: arc-runner-set
test_environment: default
python-version: '3.10'
- os: arc-runner-set
test_environment: docker-server-docker-orchestrator-mysql
python-version: '3.10'
fail-fast: false
uses: ./.github/workflows/integration-test-slow.yml
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
language: [python]
steps:
- name: Checkout repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.2.2
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
Expand Down
Loading
Loading