Harbormaster can send a request in url encoded form while buildkite
expects a POST request with json. Instead of modifying harbormastar or
buildkite this adds a simple proxy that accepts url encoded form and
creates a request that buildkite expects. To avoid potential abuse,
nginx asks for simple http auth credentials stored in harbormaster.
All build parameters passed by proxy are put into build metadata and as
ph_* env variables available during the build.
Secrets involved:
- harbormastert knows http-auth to proxy (stored in privatly and in k8
buildkite/http-auth as auth file);
- proxy knows buildkite api token (mine atm);
- build agent knows conduit API token (mine atm),
and SSH key of llvm-premerge-tests-bot (in k8 buildkite/github-ssh).
Sample build: https://reviews.llvm.org/harbormaster/build/64828/8/https://buildkite.com/llvm-project/premerge/builds/48
- added simple script to define pipeline, it will check out from this
repo later
- refactored docker container, e.g. merged most of the RUN steps into
one and moved steps that are likely to change closer to the end. That
should improve rebuild / upload speed.
Sample run: https://buildkite.com/llvm-project/premerge/builds/14
maybe we will later use same agents for everything but for now I don't
want to modify working build much. But I have updated deployment of
release agent to use correct docker image (there were renamed a while
ago) and pass tags and agent token via env variables.
Have not deployed new deployment for release yet.
* added cmake parameters for sccache
* added sccache
* removed stray debug output
* starting sccache with VS environment
* added container for Visual Studio 2019
* fixed comments
* considering WIndows version
* updated to vs2019
* using MS install method
* snapshot of VS2019 experiments
* using --installRecommended
* cleanup of dockerfile
* updated path
* fixed dockerfile
* dumped version number
* exclude for virus scan
* added testing option
this does not start the agent
* write results on failures
* added timeouts for pipelines
* moving master pipelines to python scripts
* added flang to automatic project selection
based on #159, this will enable flang for beta testers
* added persistent workspace for testing containers
* added secure delete function
* added better log message
* deleting read-only files
* checking existence before setting flags
* using unlink
* deleting recursively
* using pathlib for chmod
* using custom workspace
* fixed drive
* separate handling of single files
* simplified read-only handling again
* removed vsdevcmd calls
as it's already set in the docker Entrypoint
* renamed container folders
* windows version not needed any more
* bumped version number
* bumped version number
* script cleanup
* added cmake parameters for sccache
* added sccache
* starting sccache with VS environment
* added container for Visual Studio 2019
* fixed comments
* considering WIndows version
* updated to vs2019
* using MS install method
* snapshot of VS2019 experiments
* using --installRecommended
* cleanup of dockerfile
* updated path
* fixed dockerfile
* dumped version number
* removed vsdevcmd calls
as it's already set in the docker Entrypoint
* renamed container folders
* windows version not needed any more
* bumped version number
* bumped version number
* script cleanup
* removed sccache from vs2017
* making windows image configurable
* added versioning
* created windows BETA pipeline
* added Jenkins label for vs2019