fix: use macos compatible sed syntax (#63) #210
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
plugin-test: | |
name: asdf plugin test | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Run asdf plugin test | |
uses: asdf-vm/actions/plugin-test@v3 | |
with: | |
command: asdf-plugin-manager version | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 | |
- name: Test asdf-plugin-manager plugin | |
run: | | |
asdf plugin add asdf-plugin-manager . | |
asdf install asdf-plugin-manager latest | |
asdf plugin list --urls --refs | |
asdf global asdf-plugin-manager latest | |
asdf plugin remove asdf-plugin-manager | |
- name: Setup asdf-plugin-manager cli | |
run: | | |
cp -a cli/asdf-plugin-manager.sh /usr/local/bin/asdf-plugin-manager | |
- name: Install | Test asdf-plugin-manager cli | |
working-directory: test | |
env: | |
ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME: ".plugin-versions" | |
run: | | |
set -euox pipefail | |
asdf-plugin-manager list | |
asdf-plugin-manager add-all | |
asdf plugin list --refs | |
# Validate. | |
# I should install the managed plugin with the correct git ref. | |
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: ".plugin-versions.update" | |
run: | | |
set -euox pipefail | |
asdf plugin list --refs | |
asdf-plugin-manager update-all | |
# Validate. | |
# It should get the latest commit in the plugin repo. | |
PLUGIN_GIT_URL="$(awk '/^venom/ {print $2}' "${ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME}")" | |
PLUGIN_GIT_REF_UPDATED="$(git ls-remote "${PLUGIN_GIT_URL}" HEAD | head -c 7)" | |
asdf plugin list --refs | grep "${PLUGIN_GIT_REF_UPDATED}" | |
echo "[Passed] The plugin git ref in ${ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME} updated to latest." | |
- 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. | |
# It should export all installed plugins. | |
diff asdf-plugin.csv asdf-plugin-manager.csv | |
echo "[Passed] All installed plugins have been exported." | |
- name: Remove | Test asdf-plugin-manager cli | |
working-directory: test | |
run: | | |
set -euox pipefail | |
asdf plugin add jq | |
asdf plugin list | |
asdf-plugin-manager remove-all | |
# Validate. | |
# It should only remove the managed plugins. | |
asdf plugin list | grep "jq" | |
echo "[Passed] All managed plugins have been removed." |