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

Comment-driven CI #2275

Merged

Conversation

strickvl
Copy link
Contributor

@strickvl strickvl commented Jan 12, 2024

The slow CI will only run whenever someone (from the zenml core team) posts a /fulltest comment on the CI.

Unfortunately as per Github docs this new triggering will only come alive once the commit is merged onto the default branch (i.e. main i.e. after a new release) so you won't see any triggering here yet.

Problems:

  • the check for who is making the comment is not especially robust. If someone changes their username to strickvl1 I think it'd pass the check + launch the workflow. Open to ideas / suggestions for improving this!

Summary by CodeRabbit

  • New Features
    • Enhanced GitHub workflow to include an issue comment trigger.
    • Added a job to verify team membership within the CI process.

@strickvl strickvl added enhancement New feature or request internal To filter out internal PRs and issues labels Jan 12, 2024
Copy link
Contributor

coderabbitai bot commented Jan 12, 2024

Important

Auto Review Skipped

Auto reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository.

To trigger a single review, invoke the @coderabbitai review command.

Walkthrough

The update to the workflow configuration introduces a mechanism to trigger actions based on issue comments. It also adds a new job to check if the commenter is a team member, and modifies existing jobs to behave differently depending on the result of this membership check.

Changes

File Path Change Summary
.github/workflows/ci-slow.yml Added issue_comment trigger; introduced check-membership job; adjusted conditional statements in jobs to use check-membership output.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit-tests for this file.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit tests for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository from git and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit tests.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

CodeRabbit Discord Community

Join our Discord Community to get help, request features, and share feedback.

@strickvl
Copy link
Contributor Author

let's try this

@strickvl
Copy link
Contributor Author

trying again

@strickvl strickvl requested review from avishniakov and safoinme and removed request for avishniakov and safoinme January 12, 2024 14:04
@strickvl
Copy link
Contributor Author

@coderabbitai review

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 1

Configuration used: .coderabbit.yaml

Commits Files that changed from the base of the PR and between 4b7314c and 2f03f48.
Files selected for processing (1)
  • .github/workflows/ci-slow.yml (9 hunks)
Additional comments: 5
.github/workflows/ci-slow.yml (5)
  • 17-29: The check-membership job correctly sets an output based on whether the commenter is a team member. However, this approach may be vulnerable to spoofing if a non-member changes their username to match a team member's username. It's recommended to use GitHub's API to check for organization membership, which provides a more secure verification method.

  • 31-35: The conditional statement for the docstring-check job is well-structured to ensure that the job only runs under the correct circumstances. However, the condition seems to be missing a check for the presence of the /fulltest comment. This should be verified to ensure that the CI is only triggered by the specific comment.

  • 49-53: The conditional statements for the other jobs, such as small-checks, spellcheck, update-templates-to-examples, custom-ubuntu-unit-test, windows-unit-test, macos-unit-test, windows-integration-test, macos-integration-test, and custom-ubuntu-integration-test, are consistent with the docstring-check job. Ensure that all these conditions are tested to confirm that they work as intended.

Verification successful

The search results from the .github/workflows/ci-slow.yml file show that there are multiple if conditions present, all of which include the check for needs.check-membership.outputs.member_check == 'true' and github.event.pull_request.draft. However, the output does not show the full condition, specifically the part that checks for the presence of the /fulltest string in the comment body.

To ensure that the conditions are consistent and include the necessary checks as mentioned in the review comment, we need to see the full if conditions. Since the previous command truncated the results, we should adjust the search to display the full lines.


The search results confirm that the if conditional statements in the .github/workflows/ci-slow.yml file are consistent across multiple jobs. Each if statement includes the following checks:

  1. needs.check-membership.outputs.member_check == 'true' - to verify if the commenter is a member of the core team.
  2. github.event.pull_request.draft == false - to ensure the pull request is not a draft.
  3. github.event.issue.pull_request - to check if the event is associated with a pull request.
  4. contains(github.event.comment.body, '/fulltest') - to check if the comment contains the /fulltest command.

These conditions align with the review comment's requirement for consistency and the inclusion of the necessary checks. Therefore, the conditional statements for the jobs mentioned in the review comment have been verified to be consistent and include the required checks.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Verify that the conditions for all jobs are consistent and include the necessary checks.
ast-grep --lang yaml --pattern $'if: $_ && contains($_, "/fulltest")' .github/workflows/ci-slow.yml

Length of output: 209



Script:

#!/bin/bash
# Search for the conditional 'if' statements in the ci-slow.yml file that include the string "/fulltest"
rg 'if: .+contains\(github.event.comment.body,\s*'/fulltest'\)' .github/workflows/ci-slow.yml

Length of output: 93



Script:

#!/bin/bash
# Correcting the search pattern and attempting to search again for the conditional 'if' statements in the ci-slow.yml file
rg "if: .+contains\(github.event.comment.body, '/fulltest'\)" .github/workflows/ci-slow.yml

Length of output: 99



Script:

#!/bin/bash
# Simplifying the search pattern to ensure correct syntax and attempting to search again for the conditional 'if' statements in the ci-slow.yml file
rg "if: .+ '/fulltest'" .github/workflows/ci-slow.yml

Length of output: 61



Script:

#!/bin/bash
# Broadening the search to include any 'if' statements in the ci-slow.yml file
rg "^ +if:" .github/workflows/ci-slow.yml

Length of output: 1013



Script:

#!/bin/bash
# Search for the full 'if' conditional statements in the ci-slow.yml file to verify consistency
rg "^ +if:.*" .github/workflows/ci-slow.yml -A 1

Length of output: 1937

* 106-110: The `update-templates-to-examples` job includes a condition to check if the PR is from a forked repository. This is a good practice to prevent actions from running on untrusted code. Ensure that this logic is correctly implemented and tested.
Verification successful

The output from the script shows the relevant lines from the .github/workflows/ci-slow.yml file, specifically lines 101 to 115. The condition mentioned in the review comment is present on lines 108 to 110. It checks several conditions, including whether the comment was made by a team member, the PR is not a draft, the comment contains /fulltest, and importantly, whether the head repository of the pull request is the same as the base repository (github.event.pull_request.head.repo.full_name == github.repository). This last condition effectively checks that the PR is not from a forked repository.

The comment on line 111, # this doesn't work on forked repositories (i.e. outside contributors), further clarifies that the job is disabled for PRs from forked repositories, which aligns with the best practice mentioned in the review comment.

Based on the provided script output, the logic to prevent actions from running on untrusted code from forked repositories is correctly implemented in the update-templates-to-examples job within the ci-slow.yml workflow.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Verify that the condition to check for forked repositories is correctly implemented.
ast-grep --lang yaml --pattern $'if: $_ && github.event.pull_request.head.repo.full_name == github.repository' .github/workflows/ci-slow.yml

Length of output: 250



Script:

#!/bin/bash
# Search for the condition within the ci-slow.yml file using ripgrep
rg 'if: .+ && github.event.pull_request.head.repo.full_name == github.repository' -A 3 .github/workflows/ci-slow.yml

Length of output: 118



Script:

#!/bin/bash
# Display the contents of the ci-slow.yml file around lines 106-110
cat -n .github/workflows/ci-slow.yml | sed -n '101,115p'

Length of output: 906

* 202-207: For the `custom-ubuntu-integration-test` job, the strategy matrix and exclusion list are well-defined to optimize the test runs. However, ensure that the exclusion logic is working as expected and that it doesn't exclude necessary test runs.
Verification successful

The output from the rg command indicates that there is an exclude keyword present in the .github/workflows/ci-slow.yml file. However, the output does not provide the context or content of the exclusion logic. To verify the review comment regarding the exclusion logic within the matrix strategy, we need to see the actual lines of code that define this logic.

To gather the necessary information, I will generate a new script to extract the relevant section of the ci-slow.yml file that contains the exclude keyword along with some lines of context around it.


The output from the rg command provides the context of the exclude keyword within the strategy section of the .github/workflows/ci-slow.yml file. The exclusion logic is set up to prevent certain combinations of test_environment and python-version from running together. Specifically, it excludes the docker-server-docker-orchestrator-mysql and docker-server-docker-orchestrator-mariadb test environments from running on Python versions 3.9, 3.10, and 3.11, indicating that these tests are only intended to run on Python version 3.8.

Based on the provided output, the exclusion logic appears to be correctly implemented to optimize the test runs by running the time-consuming docker tests only on Python version 3.8 and not on the other versions.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Verify that the exclusion logic in the matrix strategy is correctly implemented.
ast-grep --lang yaml --pattern $'exclude: $$$' .github/workflows/ci-slow.yml

Length of output: 186



Script:

#!/bin/bash
# Search for the 'exclude' keyword within the 'ci-slow.yml' file to inspect the matrix strategy and exclusion list.
rg 'exclude' .github/workflows/ci-slow.yml

Length of output: 59



Script:

#!/bin/bash
# Extract the relevant section around the 'exclude' keyword to review the matrix strategy and exclusion logic.
rg -C 10 'exclude' .github/workflows/ci-slow.yml

Length of output: 1004

.github/workflows/ci-slow.yml Outdated Show resolved Hide resolved
Copy link
Contributor

@avishniakov avishniakov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, one suggestion to verify

.github/workflows/ci-slow.yml Outdated Show resolved Hide resolved
Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>
@strickvl strickvl merged commit f0dda49 into feature/OSSK-325-ci-reorg Jan 15, 2024
6 of 11 checks passed
@strickvl strickvl deleted the feature/OSSK-344-comment-driven-ci branch January 15, 2024 14:13
strickvl added a commit that referenced this pull request Jan 15, 2024
* give darglint check its own job

* fastCI

* add slowCI

* reenable fast CI

* remove comment

* add integration tests

* fix spellcheck context

* enable slow CI for testing

* remove unit test dependency

* fix dependency installations

* yamlfixed

* Comment-driven CI (#2275)

* test comment-driven approach

* delete unused test file

* slow CI is comment-driven

* restore CI

* conditionally respond to comments depending on team status

* add the whole team

* Update .github/workflows/ci-slow.yml

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* delete old CI

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>
@strickvl
Copy link
Contributor Author

/fullci

@strickvl
Copy link
Contributor Author

/fulltest

strickvl added a commit that referenced this pull request Jan 23, 2024
* starter files for the new CI paradigm

* disable fast/slow ci on base branch

* disable core workflow

* Fast/slow CI core scaffold (#2274)

* give darglint check its own job

* fastCI

* add slowCI

* reenable fast CI

* remove comment

* add integration tests

* fix spellcheck context

* enable slow CI for testing

* remove unit test dependency

* fix dependency installations

* yamlfixed

* Comment-driven CI (#2275)

* test comment-driven approach

* delete unused test file

* slow CI is comment-driven

* restore CI

* conditionally respond to comments depending on team status

* add the whole team

* Update .github/workflows/ci-slow.yml

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* delete old CI

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* remove spellcheck from slow CI

* update spellcheck run conditions

* Sharded integration tests for Ubuntu (#2286)

* add pytest-shard dev dependency

* update script for sharded testing

* add ubuntu sharding

* fix naming

* Use `pytest-split` to shard CI (#2296)

* add split test to action

* Update user authentication logic

* Fix bug in login functionality

* Refactor test coverage script

* Update excluded directories in pyproject.toml

* Update integration test script to include shard number

* Update integration test script to use matrix.shard

* Update caching key in setup_environment action.yml

* Update durations path in test-coverage-xml.sh

* Update cache key in setup_environment action.yml

* Auto-update of Starter template

* Fix formatting issue in setup_environment action.yml

* Refactor code to improve performance and readability

---------

Co-authored-by: GitHub Actions <actions@github.com>

* Update pyproject.toml

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* add extra final line

* make workflows use normal ubuntu)

* fix durations path and update docstring

---------

Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>

* Auto-update of Starter template

* Auto-update of NLP template

* Auto-update of E2E template

* add docker testing back in

* Auto-update of E2E template

* temporarily trigger slow CI

* revert to comment-driven CI

* run full slow CI

* CI as it should be

* pyyaml fix

* fix docker compose installation

* test

* test

* update templates test

* ubuntu-unit tests

* restore unit tests back to normal

* fix matrix for slow CI

* uncomment the conditional checks

* add input variable

* remove mac and windows for testing

* split out slow and fast integration testing

* naming fix

* confirm mac and windows ok"

* improve conditional checks

* remove workflow_call

* add fastCI back in

* add db migration testing to CI

* add db migration testing to CI-fast

* actually include it now

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>
Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>
stefannica pushed a commit that referenced this pull request Jan 24, 2024
* starter files for the new CI paradigm

* disable fast/slow ci on base branch

* disable core workflow

* Fast/slow CI core scaffold (#2274)

* give darglint check its own job

* fastCI

* add slowCI

* reenable fast CI

* remove comment

* add integration tests

* fix spellcheck context

* enable slow CI for testing

* remove unit test dependency

* fix dependency installations

* yamlfixed

* Comment-driven CI (#2275)

* test comment-driven approach

* delete unused test file

* slow CI is comment-driven

* restore CI

* conditionally respond to comments depending on team status

* add the whole team

* Update .github/workflows/ci-slow.yml

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* delete old CI

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* remove spellcheck from slow CI

* update spellcheck run conditions

* Sharded integration tests for Ubuntu (#2286)

* add pytest-shard dev dependency

* update script for sharded testing

* add ubuntu sharding

* fix naming

* Use `pytest-split` to shard CI (#2296)

* add split test to action

* Update user authentication logic

* Fix bug in login functionality

* Refactor test coverage script

* Update excluded directories in pyproject.toml

* Update integration test script to include shard number

* Update integration test script to use matrix.shard

* Update caching key in setup_environment action.yml

* Update durations path in test-coverage-xml.sh

* Update cache key in setup_environment action.yml

* Auto-update of Starter template

* Fix formatting issue in setup_environment action.yml

* Refactor code to improve performance and readability

---------

Co-authored-by: GitHub Actions <actions@github.com>

* Update pyproject.toml

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* add extra final line

* make workflows use normal ubuntu)

* fix durations path and update docstring

---------

Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>

* Auto-update of Starter template

* Auto-update of NLP template

* Auto-update of E2E template

* add docker testing back in

* Auto-update of E2E template

* temporarily trigger slow CI

* revert to comment-driven CI

* run full slow CI

* CI as it should be

* pyyaml fix

* fix docker compose installation

* test

* test

* update templates test

* ubuntu-unit tests

* restore unit tests back to normal

* fix matrix for slow CI

* uncomment the conditional checks

* add input variable

* remove mac and windows for testing

* split out slow and fast integration testing

* naming fix

* confirm mac and windows ok"

* improve conditional checks

* remove workflow_call

* add fastCI back in

* add db migration testing to CI

* add db migration testing to CI-fast

* actually include it now

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>
Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>
kabinja pushed a commit to kabinja/zenml that referenced this pull request Jan 29, 2024
* starter files for the new CI paradigm

* disable fast/slow ci on base branch

* disable core workflow

* Fast/slow CI core scaffold (zenml-io#2274)

* give darglint check its own job

* fastCI

* add slowCI

* reenable fast CI

* remove comment

* add integration tests

* fix spellcheck context

* enable slow CI for testing

* remove unit test dependency

* fix dependency installations

* yamlfixed

* Comment-driven CI (zenml-io#2275)

* test comment-driven approach

* delete unused test file

* slow CI is comment-driven

* restore CI

* conditionally respond to comments depending on team status

* add the whole team

* Update .github/workflows/ci-slow.yml

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* delete old CI

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* remove spellcheck from slow CI

* update spellcheck run conditions

* Sharded integration tests for Ubuntu (zenml-io#2286)

* add pytest-shard dev dependency

* update script for sharded testing

* add ubuntu sharding

* fix naming

* Use `pytest-split` to shard CI (zenml-io#2296)

* add split test to action

* Update user authentication logic

* Fix bug in login functionality

* Refactor test coverage script

* Update excluded directories in pyproject.toml

* Update integration test script to include shard number

* Update integration test script to use matrix.shard

* Update caching key in setup_environment action.yml

* Update durations path in test-coverage-xml.sh

* Update cache key in setup_environment action.yml

* Auto-update of Starter template

* Fix formatting issue in setup_environment action.yml

* Refactor code to improve performance and readability

---------

Co-authored-by: GitHub Actions <actions@github.com>

* Update pyproject.toml

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* add extra final line

* make workflows use normal ubuntu)

* fix durations path and update docstring

---------

Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>

* Auto-update of Starter template

* Auto-update of NLP template

* Auto-update of E2E template

* add docker testing back in

* Auto-update of E2E template

* temporarily trigger slow CI

* revert to comment-driven CI

* run full slow CI

* CI as it should be

* pyyaml fix

* fix docker compose installation

* test

* test

* update templates test

* ubuntu-unit tests

* restore unit tests back to normal

* fix matrix for slow CI

* uncomment the conditional checks

* add input variable

* remove mac and windows for testing

* split out slow and fast integration testing

* naming fix

* confirm mac and windows ok"

* improve conditional checks

* remove workflow_call

* add fastCI back in

* add db migration testing to CI

* add db migration testing to CI-fast

* actually include it now

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>
Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>
safoinme added a commit that referenced this pull request Feb 12, 2024
* starter files for the new CI paradigm

* disable fast/slow ci on base branch

* disable core workflow

* Fast/slow CI core scaffold (#2274)

* give darglint check its own job

* fastCI

* add slowCI

* reenable fast CI

* remove comment

* add integration tests

* fix spellcheck context

* enable slow CI for testing

* remove unit test dependency

* fix dependency installations

* yamlfixed

* Comment-driven CI (#2275)

* test comment-driven approach

* delete unused test file

* slow CI is comment-driven

* restore CI

* conditionally respond to comments depending on team status

* add the whole team

* Update .github/workflows/ci-slow.yml

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* delete old CI

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* remove spellcheck from slow CI

* update spellcheck run conditions

* Add GitHub issue creation on cache miss

* test failing cache

* Update Minio endpoint in setup_environment action.yml

* Update minio-service endpoint in setup_environment action.yml

* Sharded integration tests for Ubuntu (#2286)

* add pytest-shard dev dependency

* update script for sharded testing

* add ubuntu sharding

* fix naming

* Use `pytest-split` to shard CI (#2296)

* add split test to action

* Update user authentication logic

* Fix bug in login functionality

* Refactor test coverage script

* Update excluded directories in pyproject.toml

* Update integration test script to include shard number

* Update integration test script to use matrix.shard

* Update caching key in setup_environment action.yml

* Update durations path in test-coverage-xml.sh

* Update cache key in setup_environment action.yml

* Auto-update of Starter template

* Fix formatting issue in setup_environment action.yml

* Refactor code to improve performance and readability

---------

Co-authored-by: GitHub Actions <actions@github.com>

* Update pyproject.toml

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* add extra final line

* make workflows use normal ubuntu)

* fix durations path and update docstring

---------

Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>

* Auto-update of Starter template

* Auto-update of NLP template

* Auto-update of E2E template

* add docker testing back in

* Auto-update of E2E template

* temporarily trigger slow CI

* revert to comment-driven CI

* run full slow CI

* CI as it should be

* pyyaml fix

* fix docker compose installation

* test

* test

* update templates test

* ubuntu-unit tests

* restore unit tests back to normal

* fix matrix for slow CI

* uncomment the conditional checks

* add input variable

* remove mac and windows for testing

* split out slow and fast integration testing

* naming fix

* confirm mac and windows ok"

* improve hf and neuralprofet example

* update the issue

* update TOC (#2406)

* Correct docstring in integration init file (#2408)

* Fixed precedence

* adding the new version to the migration tests (#2411)

* update js code for github cache miss

* update context to github

* add discord webhooks

* Add Discord webhook support for notifications

* allow fallback of cache failure

* ignore if weebhock fails to to many request

* Add PYTORCH integration to DockerSettings

---------

Co-authored-by: Alex Strick van Linschoten <stricksubscriptions@fastmail.fm>
Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>
Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: Christian Versloot <c.versloot@infoplaza.nl>
Co-authored-by: Hamza Tahir <htahir111@gmail.com>
Co-authored-by: Barış Can Durak <36421093+bcdurak@users.noreply.github.com>
avishniakov added a commit that referenced this pull request Feb 21, 2024
* Fix conditional statements in GitHub workflows (#2404)

* Fix conditional statements in GitHub workflows

* rename core CI flows

* slow CI check doesn't happen when draft

* Auto-update of Starter template

* fix double conditional

---------

Co-authored-by: GitHub Actions <actions@github.com>

* Ensure proper spacing in error messages (#2399)

* Ensure proper spacing in error messages

* update TOC (#2406)

---------

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* Fix hyperai markdown table (#2426)

* build: ⬆️ Upgrade min required google-cloud-aiplatform to 1.34.0 (#2428)

* Close code block left open in the docs (#2432)

* Fix docs

* wrong ticks!

* Simplify HF example and notify when cache is down (#2300)

* starter files for the new CI paradigm

* disable fast/slow ci on base branch

* disable core workflow

* Fast/slow CI core scaffold (#2274)

* give darglint check its own job

* fastCI

* add slowCI

* reenable fast CI

* remove comment

* add integration tests

* fix spellcheck context

* enable slow CI for testing

* remove unit test dependency

* fix dependency installations

* yamlfixed

* Comment-driven CI (#2275)

* test comment-driven approach

* delete unused test file

* slow CI is comment-driven

* restore CI

* conditionally respond to comments depending on team status

* add the whole team

* Update .github/workflows/ci-slow.yml

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* delete old CI

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* remove spellcheck from slow CI

* update spellcheck run conditions

* Add GitHub issue creation on cache miss

* test failing cache

* Update Minio endpoint in setup_environment action.yml

* Update minio-service endpoint in setup_environment action.yml

* Sharded integration tests for Ubuntu (#2286)

* add pytest-shard dev dependency

* update script for sharded testing

* add ubuntu sharding

* fix naming

* Use `pytest-split` to shard CI (#2296)

* add split test to action

* Update user authentication logic

* Fix bug in login functionality

* Refactor test coverage script

* Update excluded directories in pyproject.toml

* Update integration test script to include shard number

* Update integration test script to use matrix.shard

* Update caching key in setup_environment action.yml

* Update durations path in test-coverage-xml.sh

* Update cache key in setup_environment action.yml

* Auto-update of Starter template

* Fix formatting issue in setup_environment action.yml

* Refactor code to improve performance and readability

---------

Co-authored-by: GitHub Actions <actions@github.com>

* Update pyproject.toml

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* add extra final line

* make workflows use normal ubuntu)

* fix durations path and update docstring

---------

Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>

* Auto-update of Starter template

* Auto-update of NLP template

* Auto-update of E2E template

* add docker testing back in

* Auto-update of E2E template

* temporarily trigger slow CI

* revert to comment-driven CI

* run full slow CI

* CI as it should be

* pyyaml fix

* fix docker compose installation

* test

* test

* update templates test

* ubuntu-unit tests

* restore unit tests back to normal

* fix matrix for slow CI

* uncomment the conditional checks

* add input variable

* remove mac and windows for testing

* split out slow and fast integration testing

* naming fix

* confirm mac and windows ok"

* improve hf and neuralprofet example

* update the issue

* update TOC (#2406)

* Correct docstring in integration init file (#2408)

* Fixed precedence

* adding the new version to the migration tests (#2411)

* update js code for github cache miss

* update context to github

* add discord webhooks

* Add Discord webhook support for notifications

* allow fallback of cache failure

* ignore if weebhock fails to to many request

* Add PYTORCH integration to DockerSettings

---------

Co-authored-by: Alex Strick van Linschoten <stricksubscriptions@fastmail.fm>
Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>
Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: Christian Versloot <c.versloot@infoplaza.nl>
Co-authored-by: Hamza Tahir <htahir111@gmail.com>
Co-authored-by: Barış Can Durak <36421093+bcdurak@users.noreply.github.com>

* Adding the latest version id and name to the artifact response (#2430)

* update TOC (#2406)

* Correct docstring in integration init file (#2408)

* Fixed precedence

* adding the new version to the migration tests (#2411)

* adding latest version name and id to artifact response

* removed optional column from the conftest

---------

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>
Co-authored-by: Christian Versloot <c.versloot@infoplaza.nl>
Co-authored-by: Hamza Tahir <htahir111@gmail.com>

* Adding the ID of the producer pipeline run to artifact versions (#2431)

* adding producer pipeline run id to artifact versions

* reverting one of the changes

* fixing type

* Add vulnerability notice to README (#2437)

* Add security vulnerability notice to README

* add CVE ID

* Allow more recent `adlfs` and `s3fs` versions (#2402)

* bump azure integration

* bump s3

* Add new property for filtering service account events (#2405)

* add new property for filtering service account activities

* Auto-update of Starter template

---------

Co-authored-by: GitHub Actions <actions@github.com>

* Add `download_files` method for `ArtifactVersion` (#2434)

* add save_binary method

* Fix file overwrite issue in save_artifact_binary_from_response() and improve error handling

* refactor

* tests ofc

* add docs

* linting

* mypy fixes

* ruff fix

* coderabbit suggestions

* missing docstring

* docstring fix

* Update artifact method name from save_binary to download_binary

* more renaming (save -> download)

* final rename (binary -> files)

* update settings syntax

* Fixing `update_model`s and revert #2402 (#2440)

* fixing update models

* reverting the update model changes

* linting

* linting

* revert #2402

* revert adlfs changes

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>
Co-authored-by: Alex Strick van Linschoten <stricksubscriptions@fastmail.fm>

* Prepare release 0.55.3 (#2445)

* alembic migration and bump version

* release notes

* add `save_models_to_registry` to CLI

---------

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: Christian Versloot <c.versloot@infoplaza.nl>
Co-authored-by: François SERRA <francois.serra@adeo.com>
Co-authored-by: jlopezpena <jlopezpena@users.noreply.github.com>
Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: Alex Strick van Linschoten <stricksubscriptions@fastmail.fm>
Co-authored-by: Hamza Tahir <htahir111@gmail.com>
Co-authored-by: Barış Can Durak <36421093+bcdurak@users.noreply.github.com>
Co-authored-by: Jayesh Sharma <wjayesh@outlook.com>
adtygan pushed a commit to adtygan/zenml that referenced this pull request Mar 21, 2024
* starter files for the new CI paradigm

* disable fast/slow ci on base branch

* disable core workflow

* Fast/slow CI core scaffold (zenml-io#2274)

* give darglint check its own job

* fastCI

* add slowCI

* reenable fast CI

* remove comment

* add integration tests

* fix spellcheck context

* enable slow CI for testing

* remove unit test dependency

* fix dependency installations

* yamlfixed

* Comment-driven CI (zenml-io#2275)

* test comment-driven approach

* delete unused test file

* slow CI is comment-driven

* restore CI

* conditionally respond to comments depending on team status

* add the whole team

* Update .github/workflows/ci-slow.yml

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* delete old CI

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* remove spellcheck from slow CI

* update spellcheck run conditions

* Sharded integration tests for Ubuntu (zenml-io#2286)

* add pytest-shard dev dependency

* update script for sharded testing

* add ubuntu sharding

* fix naming

* Use `pytest-split` to shard CI (zenml-io#2296)

* add split test to action

* Update user authentication logic

* Fix bug in login functionality

* Refactor test coverage script

* Update excluded directories in pyproject.toml

* Update integration test script to include shard number

* Update integration test script to use matrix.shard

* Update caching key in setup_environment action.yml

* Update durations path in test-coverage-xml.sh

* Update cache key in setup_environment action.yml

* Auto-update of Starter template

* Fix formatting issue in setup_environment action.yml

* Refactor code to improve performance and readability

---------

Co-authored-by: GitHub Actions <actions@github.com>

* Update pyproject.toml

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* add extra final line

* make workflows use normal ubuntu)

* fix durations path and update docstring

---------

Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>

* Auto-update of Starter template

* Auto-update of NLP template

* Auto-update of E2E template

* add docker testing back in

* Auto-update of E2E template

* temporarily trigger slow CI

* revert to comment-driven CI

* run full slow CI

* CI as it should be

* pyyaml fix

* fix docker compose installation

* test

* test

* update templates test

* ubuntu-unit tests

* restore unit tests back to normal

* fix matrix for slow CI

* uncomment the conditional checks

* add input variable

* remove mac and windows for testing

* split out slow and fast integration testing

* naming fix

* confirm mac and windows ok"

* improve conditional checks

* remove workflow_call

* add fastCI back in

* add db migration testing to CI

* add db migration testing to CI-fast

* actually include it now

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>
Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>
adtygan pushed a commit to adtygan/zenml that referenced this pull request Mar 21, 2024
* starter files for the new CI paradigm

* disable fast/slow ci on base branch

* disable core workflow

* Fast/slow CI core scaffold (zenml-io#2274)

* give darglint check its own job

* fastCI

* add slowCI

* reenable fast CI

* remove comment

* add integration tests

* fix spellcheck context

* enable slow CI for testing

* remove unit test dependency

* fix dependency installations

* yamlfixed

* Comment-driven CI (zenml-io#2275)

* test comment-driven approach

* delete unused test file

* slow CI is comment-driven

* restore CI

* conditionally respond to comments depending on team status

* add the whole team

* Update .github/workflows/ci-slow.yml

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* delete old CI

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* remove spellcheck from slow CI

* update spellcheck run conditions

* Add GitHub issue creation on cache miss

* test failing cache

* Update Minio endpoint in setup_environment action.yml

* Update minio-service endpoint in setup_environment action.yml

* Sharded integration tests for Ubuntu (zenml-io#2286)

* add pytest-shard dev dependency

* update script for sharded testing

* add ubuntu sharding

* fix naming

* Use `pytest-split` to shard CI (zenml-io#2296)

* add split test to action

* Update user authentication logic

* Fix bug in login functionality

* Refactor test coverage script

* Update excluded directories in pyproject.toml

* Update integration test script to include shard number

* Update integration test script to use matrix.shard

* Update caching key in setup_environment action.yml

* Update durations path in test-coverage-xml.sh

* Update cache key in setup_environment action.yml

* Auto-update of Starter template

* Fix formatting issue in setup_environment action.yml

* Refactor code to improve performance and readability

---------

Co-authored-by: GitHub Actions <actions@github.com>

* Update pyproject.toml

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* add extra final line

* make workflows use normal ubuntu)

* fix durations path and update docstring

---------

Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>

* Auto-update of Starter template

* Auto-update of NLP template

* Auto-update of E2E template

* add docker testing back in

* Auto-update of E2E template

* temporarily trigger slow CI

* revert to comment-driven CI

* run full slow CI

* CI as it should be

* pyyaml fix

* fix docker compose installation

* test

* test

* update templates test

* ubuntu-unit tests

* restore unit tests back to normal

* fix matrix for slow CI

* uncomment the conditional checks

* add input variable

* remove mac and windows for testing

* split out slow and fast integration testing

* naming fix

* confirm mac and windows ok"

* improve hf and neuralprofet example

* update the issue

* update TOC (zenml-io#2406)

* Correct docstring in integration init file (zenml-io#2408)

* Fixed precedence

* adding the new version to the migration tests (zenml-io#2411)

* update js code for github cache miss

* update context to github

* add discord webhooks

* Add Discord webhook support for notifications

* allow fallback of cache failure

* ignore if weebhock fails to to many request

* Add PYTORCH integration to DockerSettings

---------

Co-authored-by: Alex Strick van Linschoten <stricksubscriptions@fastmail.fm>
Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>
Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: Christian Versloot <c.versloot@infoplaza.nl>
Co-authored-by: Hamza Tahir <htahir111@gmail.com>
Co-authored-by: Barış Can Durak <36421093+bcdurak@users.noreply.github.com>
adtygan pushed a commit to adtygan/zenml that referenced this pull request Mar 21, 2024
…l-io#2447)

* Fix conditional statements in GitHub workflows (zenml-io#2404)

* Fix conditional statements in GitHub workflows

* rename core CI flows

* slow CI check doesn't happen when draft

* Auto-update of Starter template

* fix double conditional

---------

Co-authored-by: GitHub Actions <actions@github.com>

* Ensure proper spacing in error messages (zenml-io#2399)

* Ensure proper spacing in error messages

* update TOC (zenml-io#2406)

---------

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* Fix hyperai markdown table (zenml-io#2426)

* build: ⬆️ Upgrade min required google-cloud-aiplatform to 1.34.0 (zenml-io#2428)

* Close code block left open in the docs (zenml-io#2432)

* Fix docs

* wrong ticks!

* Simplify HF example and notify when cache is down (zenml-io#2300)

* starter files for the new CI paradigm

* disable fast/slow ci on base branch

* disable core workflow

* Fast/slow CI core scaffold (zenml-io#2274)

* give darglint check its own job

* fastCI

* add slowCI

* reenable fast CI

* remove comment

* add integration tests

* fix spellcheck context

* enable slow CI for testing

* remove unit test dependency

* fix dependency installations

* yamlfixed

* Comment-driven CI (zenml-io#2275)

* test comment-driven approach

* delete unused test file

* slow CI is comment-driven

* restore CI

* conditionally respond to comments depending on team status

* add the whole team

* Update .github/workflows/ci-slow.yml

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* delete old CI

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>

* remove spellcheck from slow CI

* update spellcheck run conditions

* Add GitHub issue creation on cache miss

* test failing cache

* Update Minio endpoint in setup_environment action.yml

* Update minio-service endpoint in setup_environment action.yml

* Sharded integration tests for Ubuntu (zenml-io#2286)

* add pytest-shard dev dependency

* update script for sharded testing

* add ubuntu sharding

* fix naming

* Use `pytest-split` to shard CI (zenml-io#2296)

* add split test to action

* Update user authentication logic

* Fix bug in login functionality

* Refactor test coverage script

* Update excluded directories in pyproject.toml

* Update integration test script to include shard number

* Update integration test script to use matrix.shard

* Update caching key in setup_environment action.yml

* Update durations path in test-coverage-xml.sh

* Update cache key in setup_environment action.yml

* Auto-update of Starter template

* Fix formatting issue in setup_environment action.yml

* Refactor code to improve performance and readability

---------

Co-authored-by: GitHub Actions <actions@github.com>

* Update pyproject.toml

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* add extra final line

* make workflows use normal ubuntu)

* fix durations path and update docstring

---------

Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>

* Auto-update of Starter template

* Auto-update of NLP template

* Auto-update of E2E template

* add docker testing back in

* Auto-update of E2E template

* temporarily trigger slow CI

* revert to comment-driven CI

* run full slow CI

* CI as it should be

* pyyaml fix

* fix docker compose installation

* test

* test

* update templates test

* ubuntu-unit tests

* restore unit tests back to normal

* fix matrix for slow CI

* uncomment the conditional checks

* add input variable

* remove mac and windows for testing

* split out slow and fast integration testing

* naming fix

* confirm mac and windows ok"

* improve hf and neuralprofet example

* update the issue

* update TOC (zenml-io#2406)

* Correct docstring in integration init file (zenml-io#2408)

* Fixed precedence

* adding the new version to the migration tests (zenml-io#2411)

* update js code for github cache miss

* update context to github

* add discord webhooks

* Add Discord webhook support for notifications

* allow fallback of cache failure

* ignore if weebhock fails to to many request

* Add PYTORCH integration to DockerSettings

---------

Co-authored-by: Alex Strick van Linschoten <stricksubscriptions@fastmail.fm>
Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>
Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: Christian Versloot <c.versloot@infoplaza.nl>
Co-authored-by: Hamza Tahir <htahir111@gmail.com>
Co-authored-by: Barış Can Durak <36421093+bcdurak@users.noreply.github.com>

* Adding the latest version id and name to the artifact response (zenml-io#2430)

* update TOC (zenml-io#2406)

* Correct docstring in integration init file (zenml-io#2408)

* Fixed precedence

* adding the new version to the migration tests (zenml-io#2411)

* adding latest version name and id to artifact response

* removed optional column from the conftest

---------

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>
Co-authored-by: Christian Versloot <c.versloot@infoplaza.nl>
Co-authored-by: Hamza Tahir <htahir111@gmail.com>

* Adding the ID of the producer pipeline run to artifact versions (zenml-io#2431)

* adding producer pipeline run id to artifact versions

* reverting one of the changes

* fixing type

* Add vulnerability notice to README (zenml-io#2437)

* Add security vulnerability notice to README

* add CVE ID

* Allow more recent `adlfs` and `s3fs` versions (zenml-io#2402)

* bump azure integration

* bump s3

* Add new property for filtering service account events (zenml-io#2405)

* add new property for filtering service account activities

* Auto-update of Starter template

---------

Co-authored-by: GitHub Actions <actions@github.com>

* Add `download_files` method for `ArtifactVersion` (zenml-io#2434)

* add save_binary method

* Fix file overwrite issue in save_artifact_binary_from_response() and improve error handling

* refactor

* tests ofc

* add docs

* linting

* mypy fixes

* ruff fix

* coderabbit suggestions

* missing docstring

* docstring fix

* Update artifact method name from save_binary to download_binary

* more renaming (save -> download)

* final rename (binary -> files)

* update settings syntax

* Fixing `update_model`s and revert zenml-io#2402 (zenml-io#2440)

* fixing update models

* reverting the update model changes

* linting

* linting

* revert zenml-io#2402

* revert adlfs changes

---------

Co-authored-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>
Co-authored-by: Alex Strick van Linschoten <stricksubscriptions@fastmail.fm>

* Prepare release 0.55.3 (zenml-io#2445)

* alembic migration and bump version

* release notes

* add `save_models_to_registry` to CLI

---------

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: Christian Versloot <c.versloot@infoplaza.nl>
Co-authored-by: François SERRA <francois.serra@adeo.com>
Co-authored-by: jlopezpena <jlopezpena@users.noreply.github.com>
Co-authored-by: Safoine El Khabich <34200873+safoinme@users.noreply.github.com>
Co-authored-by: Alex Strick van Linschoten <stricksubscriptions@fastmail.fm>
Co-authored-by: Hamza Tahir <htahir111@gmail.com>
Co-authored-by: Barış Can Durak <36421093+bcdurak@users.noreply.github.com>
Co-authored-by: Jayesh Sharma <wjayesh@outlook.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request internal To filter out internal PRs and issues
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants