generated from asdf-vm/asdf-plugin-template
-
-
Notifications
You must be signed in to change notification settings - Fork 6
77 lines (75 loc) · 2.72 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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: Copy sdf-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: .install.plugin-versions
run: |
set -euox pipefail
asdf-plugin-manager list
asdf-plugin-manager add-all
asdf plugin list --refs
# Validate.
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."
- name: Update | Test asdf-plugin-manager cli
working-directory: test
env:
ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME: .update.plugin-versions
run: |
set -euox pipefail
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)"