-
Notifications
You must be signed in to change notification settings - Fork 2
"Downstream" build triggering #86
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
We still need this. We should redesign the config file representation and all of the workflow re: master branch. I still think there is some loop detection that will trip us up. Going to hide the past thinking. |
I started doing some of the design work for this. A question I want to be able to answer is: What repos in the org are (explicitly) dependent on Repo X? I also want the trigger relationship to be defined in the There needs to be some attention paid to preventing circular dependencies (at least a single level deep) so we're not perpetually building. Using Orbital as an example, its config might look loosely like this: stages:
[...]
trigger_on:
repos:
- name: git-url-parse
watch-branch: main (default)
action:
- notify
- build orbital>main ENV=somethung
- build orbital>dev
- name: git-event
watch-branch: all
action: build orbital>all
- name: git-meta Orbital would build upon the successful builds of these 3 other repos. I imagine that this would neatly fit into the build state machine in the Additionally, we can specify branches we'd want to trigger on, and also what kind of actions to take. Including sending notifications prior to starting builds, starting multiple builds for different branches, and starting builds with environment variables. There are a few default behaviors that I also want to include, that will need documenting. Like the One of the bigger details I'll expand now being how changes to this I propose that when we add in repos, that by default, Orbital sets a Same behavior if we change the canonical branch through Orbital. While I've been thinking about it longer, I should point out in the documentation that this is DB-only state with a default value. (I can't think of a story where it adds clarity more than confusion if The Lastly, |
I will need this functionality in order to monitor changes to the orb config in |
* Flatten cli subcommand mod into cli * Updating shiplift and adjusting for the async * DB changes for downstream build triggering Progress on #86 * Prototyping config changes to support triggers * Back to crates.io versions of git-event + git-meta * Refactor code from multiple crates into modules Attempting to consolidate to 1 package. For crates.io publish Merging library crates together Broken commit. Squash this all together when done Attempting to make orb a single package Merging more crates into root - Library, database and protobuf stuff now in root package - Still severly broken commit. Squash when done. Merge service impls into root Re-enable CLI - Fixed all the import errors - Adding rustfmt with some stable featured enabled Cleaning up build warnings * Add auto migration into server start Resolves #279
This pattern is particularly prevalent:
Build+Deploy Library repos -> Build+Deploy Service
Where the Service pulls in newer libraries that are in development.
It would be convenient if either/or a Library could trigger a downstream build or a Service could watch upstream build.
As a secondary goal: We should consider what would need to be done to display the build-related relationships/ordering of a full microservice architecture.
The text was updated successfully, but these errors were encountered: