From 6f9ffd827dec1f5de735e834097d29ce95b170b2 Mon Sep 17 00:00:00 2001 From: Ahmed AbouZaid <6760103+aabouzaid@users.noreply.github.com> Date: Sun, 22 Sep 2024 08:07:54 +0200 Subject: [PATCH] fix: use macos compatible sed syntax Signed-off-by: Ahmed AbouZaid <6760103+aabouzaid@users.noreply.github.com> --- .github/workflows/build.yml | 46 ++++++++++++++++--- cli/asdf-plugin-manager.sh | 4 +- ...ugin-versions => .install.plugin-versions} | 0 test/.update.plugin-versions | 2 + 4 files changed, 45 insertions(+), 7 deletions(-) rename test/{.plugin-versions => .install.plugin-versions} (100%) create mode 100644 test/.update.plugin-versions diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9cb1d18..2092be4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,16 +28,50 @@ jobs: asdf plugin list --urls --refs asdf global asdf-plugin-manager latest asdf plugin remove asdf-plugin-manager - - name: Test asdf-plugin-manager cli + - name: Setup asdf-plugin-manager cli run: | cp -a cli/asdf-plugin-manager.sh /usr/local/bin/asdf-plugin-manager - cd test + - name: Install | Test asdf-plugin-manager cli + working-directory: test + env: + ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME: .install.plugin-versions + run: | + set -euox pipefail asdf-plugin-manager list asdf-plugin-manager add-all asdf plugin list --refs - - name: Validate installed plugins + # Validate. + PLUGIN_GIT_REF=$(grep -oE "[^ ]\w{6}$" ${ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME}) + asdf plugin list --refs | grep "${PLUGIN_GIT_REF}" && + echo "[Passed] The plugin git ref in ${ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME} matches the installed one." + - name: Update | Test asdf-plugin-manager cli + working-directory: test + env: + ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME: .update.plugin-versions run: | set -euox pipefail - PLUGIN_GIT_REF=$(grep -oE "[^ ]\w{6}$" test/.plugin-versions) - asdf plugin list --refs | grep "${PLUGIN_GIT_REF}" && - echo "[Passed] The plugin git ref in test/.plugin-versions matches the installed one." + asdf plugin list --refs + asdf-plugin-manager update-all + # Validate. + PLUGIN_GIT_URL"$(cat ${ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME} | awk '/^venom/ {print $2}')" + PLUGIN_GIT_REF_UPDATED="$(git ls-remote ${PLUGIN_GIT_URL} HEAD | head -c 7)" + asdf plugin list --refs | grep "${PLUGIN_GIT_REF_UPDATED}" + - name: Export | Test asdf-plugin-manager cli + working-directory: test + run: | + set -euox pipefail + asdf plugin add jq + asdf plugin list --refs --urls | + awk '{OFS = ","; print $1,$2,$4}' | tee asdf-plugin.csv + asdf-plugin-manager export | + awk '{OFS = ","; print $1,$2,$3}' | tee asdf-plugin-manager.csv + # Validate. + diff asdf-plugin.csv tee asdf-plugin-manager.csv + - name: Remove | Test asdf-plugin-manager cli + working-directory: test + run: | + set -euox pipefail + asdf plugin list + asdf-plugin-manager remove-all + # Validate. + test -z "$(asdf plugin list)" diff --git a/cli/asdf-plugin-manager.sh b/cli/asdf-plugin-manager.sh index 0dc4906..90c6902 100755 --- a/cli/asdf-plugin-manager.sh +++ b/cli/asdf-plugin-manager.sh @@ -125,7 +125,9 @@ update_plugins() { fi echo "[INFO] Updating git-ref in plugin version file: $(print_plugin_versions_filename)" - sed -i "/^\b${plugin_name}\b/ s/${plugin_ref_managed}/${plugin_ref_after_update}/" "$(print_plugin_versions_filename)" + cat "$(print_plugin_versions_filename)" | + sed "/^\b${plugin_name}\b/ s/${plugin_ref_managed}/${plugin_ref_after_update}/" | + tee "$(print_plugin_versions_filename)" echo '!!!' echo "[CAUTION] Please review the changes since last update:" diff --git a/test/.plugin-versions b/test/.install.plugin-versions similarity index 100% rename from test/.plugin-versions rename to test/.install.plugin-versions diff --git a/test/.update.plugin-versions b/test/.update.plugin-versions new file mode 100644 index 0000000..27ee6ae --- /dev/null +++ b/test/.update.plugin-versions @@ -0,0 +1,2 @@ +# name git-url git-ref +venom https://github.com/aabouzaid/asdf-venom.git dea0c86