Comments (2)
The way things are being done right now is that we have a custom checkout hook in our plugin which handles the checkout by taking the information from the configuration(url
and ref
). But, according to buildkite documentation for the checkout
hook, if there are multiple checkout hooks present then only the first one is run.
So the solution suggested above will be hard to implement, since each will create a separate checkout hook but only the first would be run. I would suggest that we do it something like smooth-secrets where an array of secrets configuration(secrets
) is provided under the same plugin definition. So it would look something like this
steps:
- command: echo "Checks out multiple repositories"
plugins:
- hasura/smooth-checkout#v2.0.0:
repos:
- config:
- url: [email protected]:<username>/<reponame1>.git
- url: [email protected]:<username>/<reponame1>.git
- config:
- url: [email protected]:<username>/<reponame2>.git
ref: main
from smooth-checkout-buildkite-plugin.
Ah! Nice catch about the usage of multiple checkout hooks. The YAML that you proposed looks good. (additionally, it may help us to re-use our mirroring logic to the fullest) π
from smooth-checkout-buildkite-plugin.
Related Issues (19)
- Use default checkout path HOT 5
- error while cloning multiple private repositories
- Support default checkout directory
- remove or make sudo dependency to be optional
- make configurable base checkout path
- set `BUILDKITE_BUILD_CHECKOUT_PATH` env var
- Canβt checkout plugin without a plugins-path HOT 1
- Feature: Support configurable number of retries
- redirect clean up logs to /dev/null
- The plugin smooth-checkout checkout hook exited with status 1 HOT 2
- Check out single repository in subdirectory
- Inconsistent hook behavior when checking out multiple repos HOT 2
- Support Checking out code
- Issues while using the versions v4.2.1 and v3.1.1 HOT 6
- error: pathspec 'TAG_NAME' did not match any file(s) known to git
- repo not checked out with latest changes when using `ref` option
- Enable shellcheck linting in CI HOT 1
- Document about using the plugin without any arguments
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from smooth-checkout-buildkite-plugin.