Skip to content

Commit

Permalink
Sync k8s migtraion to buildkite (#3762)
Browse files Browse the repository at this point in the history
* Sync k8s migtraion to buildkite

* Sync k8s migtraion to buildkite

* Sync k8s migtraion to buildkite

* Sync k8s migtraion to buildkite

* Sync k8s migtraion to buildkite

* Sync k8s migtraion to buildkite

* Sync k8s migtraion to buildkite

* Fix sync-k8s.sh

* try monorepo-diff step

* try monorepo-diff step

* try monorepo-diff step

* try monorepo-diff step

* try monorepo-diff step

* Cleanup

* Cleanup

* Cleanup

* Added retry fro install-gh.sh. Cleanup

* Update .buildkite/scripts/install-gh.sh

Co-authored-by: Paolo Chilà <[email protected]>

---------

Co-authored-by: Paolo Chilà <[email protected]>
  • Loading branch information
pazone and pchila authored Nov 20, 2023
1 parent 112f618 commit adf19db
Show file tree
Hide file tree
Showing 5 changed files with 98 additions and 2 deletions.
20 changes: 20 additions & 0 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -227,3 +227,23 @@ steps:
plugins:
- junit-annotate#v2.4.1:
artifacts: build/TEST-go-integration*.xml

# Triggers a dynamic step: Sync K8s
# Runs only on main and if k8s files are changed
- label: "Trigger k8s sync"
branches: main
plugins:
- monebag/monorepo-diff#v2.5.9:
diff: "git diff --name-only HEAD~1"
watch:
- path:
- deploy/kubernetes/*
- version/docs/version.asciidoc
config:
label: "Sync K8s"
command: ".buildkite/scripts/steps/sync-k8s.sh"
agents:
provider: "gcp"
image: "family/core-ubuntu-2204"
env:
- GH_VERSION=2.4.0
54 changes: 54 additions & 0 deletions .buildkite/scripts/install-gh.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/usr/bin/env bash

# Required environment variables:
# - GH_VERSION - the version of gh to install
set -exuo pipefail

echo "--- Install gh cli"

MSG="environment variable missing."
DEFAULT_HOME="/usr/local"
GH_VERSION=${GH_VERSION:-$MSG}
HOME=${HOME:-$DEFAULT_HOME}
GH_CMD="${HOME}/bin/gh"

if command -v gh
then
set +e
echo "Found GH. Checking version.."
FOUND_GH_VERSION=$(gh --version 2>&1 >/dev/null | awk '{print $3}')
if [ "$FOUND_GH_VERSION" == "$GH_VERSION" ]
then
echo "GH Versions match: $GH_VERSION. No need to install gh. Exiting."
exit 0
else
echo "GH Version mismatch. Desired version: $GH_VERSION, found version: $FOUND_GH_VERSION. Installing new version."
fi
set -e
fi

source .buildkite/scripts/common.sh

OS=$(uname -s| tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m| tr '[:upper:]' '[:lower:]')
if [ "${ARCH}" == "aarch64" ] ; then
ARCH_SUFFIX=arm64
else
ARCH_SUFFIX=amd64
fi

echo "Downloading gh : ${GH_VERSION}..."
TMP_DIR=$(mktemp -d)
if retry 5 curl -sL "https://github.com/cli/cli/releases/download/v${GH_VERSION}/gh_${GH_VERSION}_linux_amd64.tar.gz" | tar xz -C $TMP_DIR ; then
mkdir -p "${HOME}/bin"
mv "${TMP_DIR}/gh_${GH_VERSION}_linux_amd64/bin/gh" "${GH_CMD}"
rm -rf "${TMP_DIR}"
else
echo "Something bad with the download, deleting the binary"
if [ -e "${GH_CMD}" ] ; then
rm "${GH_CMD}"
fi
exit 1
fi


2 changes: 1 addition & 1 deletion .buildkite/scripts/install-kind.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
set -exuo pipefail
set -euo pipefail

echo "--- Install Kind"

Expand Down
22 changes: 22 additions & 0 deletions .buildkite/scripts/steps/sync-k8s.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/bash
set -euo pipefail

export PATH=$HOME/bin:${PATH}

source .buildkite/scripts/install-gh.sh
source .buildkite/scripts/common.sh

export GITHUB_TOKEN=$(retry 5 vault kv get -field token kv/ci-shared/platform-ingest/github_token)

cd deploy/kubernetes

echo "--- [File Creation] Create-Needed-Manifest"
WITHOUTCONFIG=true make generate-k8s
./creator_k8s_manifest.sh .

echo "--- [Clone] Kibana-Repository"
make ci-clone-kibana-repository
cp Makefile ./kibana
cd kibana
echo "--- Create Kibana PR"
make ci-create-kubernetes-templates-pull-request
2 changes: 1 addition & 1 deletion deploy/kubernetes/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ else
echo "INFO: create pull request"
@gh pr create \
--title "Update kubernetes templates for elastic-agent" \
--body "Automated by ${BUILD_URL}" \
--body "Automated by ${BUILDKITE_BUILD_URL}" \
--label automation \
--label release_note:skip \
--base main \
Expand Down

0 comments on commit adf19db

Please sign in to comment.