Skip to content

chore(ci): delete the jobs that run on the self-hosted runners (ENG-2000) - #4

Open
lucas-koontz wants to merge 2 commits into
mainfrom
chore/eng-2000-drop-self-hosted-jobs
Open

lucas-koontz wants to merge 2 commits into
mainfrom
chore/eng-2000-drop-self-hosted-jobs

Conversation

@lucas-koontz

@lucas-koontz lucas-koontz commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

User story

As a maintainer of this public repository
I want CI to test every pull request on GitHub-hosted runners, and nothing to build, deploy or publish on a merge or a release
So that every pull request, forks included, gets the same checks, and a merge no longer ends in a red run

Why this matters

Each of the last two merges into main ended in a red Build and deploy to staging run: it built and pushed Docker images, then its deploy jobs failed before running a step (run 34555291819). This PR deletes that pipeline and the release pipeline, and keeps the unit tests on every pull request, on GitHub-hosted runners, as GitHub recommends for public repositories. A version bump now runs those tests before it merges, where until now only the deleted post-merge run tested it.

Test plan

  • No workflow on this branch asks for a self-hosted runner, directly or through a called workflow, and every remaining job runs on a GitHub-hosted runner.
  • A pull request into main, forks included, runs Run Unit Tests unless it changes only Markdown or files under docs/ or assets/, and a version bump alone runs them, Check pip installation included.
  • All Tests Succeeded fails when the file filter fails or the tests it sends a change to fail.
  • Negative: merging a pull request or publishing a release starts no build, deploy or publish job.
  • Negative: tests_unit.yml, matrix_includes.json and the other remaining workflows are unchanged.
  • main is merged into this branch, so its unit tests run on main's current dependencies.

Part of ENG-2000. This PR depends on no other change.

…000)

This change deletes every job that asks for mdb-dev or mdb-prod, along
with four workflows built around those jobs. Every remaining job runs
on a GitHub-hosted runner, which GitHub recommends for public
repositories. Pull requests, forks included, still run the unit tests.

The four deleted workflows:

- deploy.yml and tests_integration.yml ran only on mdb-dev or mdb-prod.
- build_deploy_staging.yml built and pushed the Docker images after
  each merge, then deployed and tested through those two files. Its one
  hosted job ran the unit tests after the merge.
- build_deploy_prod.yml was the release pipeline. On a published
  release it pushed the mindsdb package to PyPI and Docker Hub, then
  deployed it. Its one hosted job ran the unit tests ahead of those
  steps. This repository has no published releases.

build_deploy_dev.yml keeps the changed-files filter, the unit tests and
All Tests Succeeded. Its workflow is renamed "Test pull request",
because it no longer builds or deploys anything.

- A pull request that changes only files under docs/ or assets/, or
  only Markdown files, still skips the unit tests. Every other change
  runs them.
- A version bump in mindsdb/__about__.py now runs the unit tests,
  because setup.py builds the package from that file. Until now, the
  deleted post-merge run was the only test a version bump got.
- An edit to build_deploy_dev.yml alone now runs the unit tests too.
  The filter also drops an exclusion for test_on_deploy.yml, a file
  that does not exist.
- All Tests Succeeded fails when the filter job fails or is cancelled.
  It also fails when the filter sends a change to the unit tests and
  they do not pass.
- The write permissions move from the whole workflow onto the unit-test
  call, because tests_unit.yml asks for them. The filter and the final
  check get read access only.
- dorny/paths-filter is pinned to the v3.0.4 commit that v3 points to.
- The unit-test call stops inheriting secrets, because tests_unit.yml
  reads none.

scripts/run_integration_tests.sh no longer points at the deleted
tests_integration.yml.

Part of "Take the public repos off the credentialed runner group and
require devops to release a privileged run", owned by Lucas Koontz.

Refs: ENG-2000

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant