From 909500b43c7335e316e89ebad5a2c460f5ab3220 Mon Sep 17 00:00:00 2001 From: Jeremy Adams Date: Sun, 22 Dec 2024 07:50:18 -0800 Subject: [PATCH 1/5] feat: check for pre-installed dagger Signed-off-by: Jeremy Adams --- action.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/action.yml b/action.yml index b6ce791..887a79f 100644 --- a/action.yml +++ b/action.yml @@ -69,9 +69,17 @@ runs: COMMIT=${{ inputs.commit }} - # The install.sh script creates path ${prefix_dir}/bin - curl -fsS https://dl.dagger.io/dagger/install.sh \ - | BIN_DIR=${prefix_dir}/bin DAGGER_VERSION="$VERSION" DAGGER_COMMIT="$COMMIT" sh + if [[ -x "$(command -v dagger)" ]]; then + pre-installed-version="$(dagger --silent version | cut --fields 2 --delimiter ' ')" + if [[ "$pre-installed-version" != "$DAGGER_VERSION" ]]; then + echo "dagger ${pre-installed-version} is installed, but needed ${DAGGER_VERSION}" + exit 1 + fi + else + # The install.sh script creates path ${prefix_dir}/bin + curl -fsS https://dl.dagger.io/dagger/install.sh \ + | BIN_DIR=${prefix_dir}/bin DAGGER_VERSION="$VERSION" DAGGER_COMMIT="$COMMIT" sh + fi - id: exec if: inputs.call != '' || inputs.args != '' From 6d98f3afae5788c5d4f54ad0da227a8038939ac9 Mon Sep 17 00:00:00 2001 From: Jeremy Adams Date: Sun, 22 Dec 2024 08:57:32 -0800 Subject: [PATCH 2/5] fix Signed-off-by: Jeremy Adams --- action.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/action.yml b/action.yml index 887a79f..502f0cb 100644 --- a/action.yml +++ b/action.yml @@ -70,9 +70,9 @@ runs: COMMIT=${{ inputs.commit }} if [[ -x "$(command -v dagger)" ]]; then - pre-installed-version="$(dagger --silent version | cut --fields 2 --delimiter ' ')" - if [[ "$pre-installed-version" != "$DAGGER_VERSION" ]]; then - echo "dagger ${pre-installed-version} is installed, but needed ${DAGGER_VERSION}" + pre_installed_version="$(dagger --silent version | cut --fields 2 --delimiter ' ')" + if [[ "$pre_installed_version" != "$DAGGER_VERSION" ]]; then + echo "dagger ${pre_installed_version} is installed, but needed ${DAGGER_VERSION}" exit 1 fi else From 566e23f6ede2c4ced6d7e3481bc4e3a314d4107d Mon Sep 17 00:00:00 2001 From: Jeremy Adams Date: Sun, 22 Dec 2024 08:59:42 -0800 Subject: [PATCH 3/5] fix Signed-off-by: Jeremy Adams --- action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index 502f0cb..0f9ce5a 100644 --- a/action.yml +++ b/action.yml @@ -71,8 +71,8 @@ runs: if [[ -x "$(command -v dagger)" ]]; then pre_installed_version="$(dagger --silent version | cut --fields 2 --delimiter ' ')" - if [[ "$pre_installed_version" != "$DAGGER_VERSION" ]]; then - echo "dagger ${pre_installed_version} is installed, but needed ${DAGGER_VERSION}" + if [[ "$pre_installed_version" != "$VERSION" ]]; then + echo "dagger ${pre_installed_version} is installed, but needed ${VERSION}" exit 1 fi else From 55c36bff5225dd7e898408dd71dd1ea25d36e567 Mon Sep 17 00:00:00 2001 From: Jeremy Adams Date: Sun, 22 Dec 2024 09:31:44 -0800 Subject: [PATCH 4/5] fix Signed-off-by: Jeremy Adams --- action.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 0f9ce5a..f5887f1 100644 --- a/action.yml +++ b/action.yml @@ -62,15 +62,19 @@ runs: # If the dagger version is 'latest', set the version back to an empty # string. This allows the install script to detect and install the latest # version itself + # We remove any leading 'v' on VERSION here to ensure a match VERSION=${{ inputs.version }} if [[ "$VERSION" == "latest" ]]; then VERSION= + else + VERSION=$(echo -n $VERSION | cut -d' ' -f2 | cut -dv -f2 | tr -d '\n') fi COMMIT=${{ inputs.commit }} if [[ -x "$(command -v dagger)" ]]; then - pre_installed_version="$(dagger --silent version | cut --fields 2 --delimiter ' ')" + # get dagger version without leading 'v' and always without newline + pre_installed_version="$(dagger --silent version | cut -d' ' -f2 | cut -dv -f2 | tr -d '\n')" if [[ "$pre_installed_version" != "$VERSION" ]]; then echo "dagger ${pre_installed_version} is installed, but needed ${VERSION}" exit 1 From d46c33402add0aba4e1184704c9ea9a78a43bcc0 Mon Sep 17 00:00:00 2001 From: Jeremy Adams Date: Sun, 22 Dec 2024 09:46:50 -0800 Subject: [PATCH 5/5] fix Signed-off-by: Jeremy Adams --- action.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/action.yml b/action.yml index f5887f1..416333f 100644 --- a/action.yml +++ b/action.yml @@ -59,14 +59,10 @@ runs: fi printf '%s/bin' "$prefix_dir" >> $GITHUB_PATH - # If the dagger version is 'latest', set the version back to an empty - # string. This allows the install script to detect and install the latest - # version itself + # A version of 'latest' is respected in the install.sh script # We remove any leading 'v' on VERSION here to ensure a match VERSION=${{ inputs.version }} - if [[ "$VERSION" == "latest" ]]; then - VERSION= - else + if [[ "$VERSION" != "latest" ]]; then VERSION=$(echo -n $VERSION | cut -d' ' -f2 | cut -dv -f2 | tr -d '\n') fi