dlang / ci

dlang CI testing pipelines
https://buildkite.com/dlang
Boost Software License 1.0
13 stars 29 forks source link

Use custom checkouts #358

Open wilzbach opened 5 years ago

wilzbach commented 5 years ago

The whole folder setup is quite messy atm. and we should consider to rewrite it, using a custom noop checkout hook and doing the checkouts manually into an empty working directory. Checkout hooks can be installed on the agents under /etc/buildkite-agent/hooks/checkout. This would also avoid checkouts for every project being tested.

From https://github.com/dlang/ci/issues/335:

MartinNowak commented 5 years ago

Atm. tests are run from a git checkout to e.g. /var/lib/buildkite-agent/builds/ci-agent-4f7ec9a0-c400-4dcc-ad73-f884d2f0f568-2/dlang/dmd/. I'd suggest to rm -rf ../../build && mkdir ../../build && cd ../../build and run builds with custom checkouts from there e.g. /var/lib/buildkite-agent/builds/ci-agent-4f7ec9a0-c400-4dcc-ad73-f884d2f0f568-2/builds. This would allow us to move to noop checkout hooks afterwards without interruption of service. BUILDKITE_BUILD_CHECKOUT_PATH holds the full checkout directory, we want to get to the agent specific dir.