From fbee00eca120e5998cd96ba74b850a07d83e2373 Mon Sep 17 00:00:00 2001 From: Nishant Arora <1895906+whizzzkid@users.noreply.github.com> Date: Sun, 6 Apr 2025 03:55:04 -0600 Subject: [PATCH 1/2] fix(ci): manifest version. --- .release-please-manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index a9cd310..37fcefa 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "v1.0.0" + ".": "1.0.0" } From d8af30f1120e890e5e14328066774f46a8434a8d Mon Sep 17 00:00:00 2001 From: Nishant Arora <1895906+whizzzkid@users.noreply.github.com> Date: Sun, 6 Apr 2025 03:55:26 -0600 Subject: [PATCH 2/2] =?UTF-8?q?feat(flags):=20=E2=9C=A8=20Adding=20Support?= =?UTF-8?q?=20for=20All=20Supported=20git=20flags=20in=20BuildKite.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hooks/pre-checkout | 30 +++++++++++++++++++++++++++ plugin.yml | 15 ++++++++++++++ tests/pre-checkout.bats | 46 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+) diff --git a/hooks/pre-checkout b/hooks/pre-checkout index e808547..f3a350a 100755 --- a/hooks/pre-checkout +++ b/hooks/pre-checkout @@ -3,14 +3,44 @@ set -eo pipefail echo "--- Running pre-checkout hook" +if [ -n "$BUILDKITE_PLUGIN_GIT_FLAGS_CLEAN_FLAGS" ]; then + export BUILDKITE_GIT_CLEAN_FLAGS="$BUILDKITE_PLUGIN_GIT_FLAGS_CLEAN_FLAGS" + + echo "Set buildkite git clean flags to $BUILDKITE_PLUGIN_GIT_FLAGS_CLEAN_FLAGS" +fi + if [ -n "$BUILDKITE_PLUGIN_GIT_FLAGS_CLONE_FLAGS" ]; then export BUILDKITE_GIT_CLONE_FLAGS="$BUILDKITE_PLUGIN_GIT_FLAGS_CLONE_FLAGS" echo "Set buildkite git clone flags to $BUILDKITE_PLUGIN_GIT_FLAGS_CLONE_FLAGS" fi +if [ -n "$BUILDKITE_PLUGIN_GIT_FLAGS_CLONE_MIRROR_FLAGS" ]; then + export BUILDKITE_GIT_CLONE_MIRROR_FLAGS="$BUILDKITE_PLUGIN_GIT_FLAGS_CLONE_MIRROR_FLAGS" + + echo "Set buildkite git clone mirror flags to $BUILDKITE_PLUGIN_GIT_FLAGS_CLONE_MIRROR_FLAGS" +fi + if [ -n "$BUILDKITE_PLUGIN_GIT_FLAGS_FETCH_FLAGS" ]; then export BUILDKITE_GIT_FETCH_FLAGS="$BUILDKITE_PLUGIN_GIT_FLAGS_FETCH_FLAGS" echo "Set buildkite git fetch flags to $BUILDKITE_PLUGIN_GIT_FLAGS_FETCH_FLAGS" fi + +if [ -n "$BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_LOCK_TIMEOUT" ]; then + export BUILDKITE_GIT_MIRRORS_LOCK_TIMEOUT="$BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_LOCK_TIMEOUT" + + echo "Set buildkite git mirrors lock timeout to $BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_LOCK_TIMEOUT" +fi + +if [ -n "$BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_PATH" ]; then + export BUILDKITE_GIT_MIRRORS_PATH="$BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_PATH" + + echo "Set buildkite git mirrors path to $BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_PATH" +fi + +if [ -n "$BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_SKIP_UPDATE" ]; then + export BUILDKITE_GIT_MIRRORS_SKIP_UPDATE="$BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_SKIP_UPDATE" + + echo "Set buildkite git mirrors skip update to $BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_SKIP_UPDATE" +fi diff --git a/plugin.yml b/plugin.yml index 50dfcea..eba04b3 100644 --- a/plugin.yml +++ b/plugin.yml @@ -4,8 +4,23 @@ author: https://github.com/whizzzkid requirements: ['git'] configuration: properties: + clean_flags: + type: string + default: '-ffxdq' clone_flags: type: string + default: '-v' + clone_mirror_flags: + type: string fetch_flags: type: string + default: '-v --prune' + mirrors_lock_timeout: + type: string + default: 300 + mirrors_path: + type: string + mirrors_skip_update: + type: boolean + default: false required: [] diff --git a/tests/pre-checkout.bats b/tests/pre-checkout.bats index 4893b87..5c836a3 100755 --- a/tests/pre-checkout.bats +++ b/tests/pre-checkout.bats @@ -10,6 +10,16 @@ setup() { # Uncomment the following line to debug stub failures # export BUILDKITE_AGENT_STUB_DEBUG=/dev/tty + +@test "Sets the clean flags" { + export BUILDKITE_PLUGIN_GIT_FLAGS_CLEAN_FLAGS="foo" + + run "$PWD/hooks/pre-checkout" + + assert_success + assert_output --partial "Set buildkite git clean flags to $BUILDKITE_PLUGIN_GIT_FLAGS_CLEAN_FLAGS" +} + @test "Sets the clone flags" { export BUILDKITE_PLUGIN_GIT_FLAGS_CLONE_FLAGS="--all" @@ -19,6 +29,15 @@ setup() { assert_output --partial "Set buildkite git clone flags to $BUILDKITE_PLUGIN_GIT_FLAGS_CLONE_FLAGS" } +@test "Sets the clone mirror flags" { + export BUILDKITE_PLUGIN_GIT_FLAGS_CLONE_MIRROR_FLAGS="foo" + + run "$PWD/hooks/pre-checkout" + + assert_success + assert_output --partial "Set buildkite git clone mirror flags to $BUILDKITE_PLUGIN_GIT_FLAGS_CLONE_MIRROR_FLAGS" +} + @test "Sets the fetch flags" { export BUILDKITE_PLUGIN_GIT_FLAGS_FETCH_FLAGS="--all" @@ -27,3 +46,30 @@ setup() { assert_success assert_output --partial "Set buildkite git fetch flags to $BUILDKITE_PLUGIN_GIT_FLAGS_FETCH_FLAGS" } + +@test "Sets the mirrors lock timeout" { + export BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_LOCK_TIMEOUT="100" + + run "$PWD/hooks/pre-checkout" + + assert_success + assert_output --partial "Set buildkite git mirrors lock timeout to $BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_LOCK_TIMEOUT" +} + +@test "Sets the mirrors paths" { + export BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_PATH="foo" + + run "$PWD/hooks/pre-checkout" + + assert_success + assert_output --partial "Set buildkite git mirrors path to $BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_PATH" +} + +@test "Sets the mirrors skip update" { + export BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_SKIP_UPDATE="false" + + run "$PWD/hooks/pre-checkout" + + assert_success + assert_output --partial "Set buildkite git mirrors skip update to $BUILDKITE_PLUGIN_GIT_FLAGS_MIRRORS_SKIP_UPDATE" +}