-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathaction.yml
118 lines (101 loc) · 3.89 KB
/
action.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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# https://docs.github.com/en/actions/creating-actions/about-custom-actions
# https://docs.github.com/en/actions/creating-actions/creating-a-composite-action
#
name: 'setup-awscli'
description: 'Set up aws-cli v2 in linux job'
branding:
icon: 'box'
color: 'orange'
inputs:
install-dir:
required: false
default: '/usr/local/aws-cli'
bin-dir:
required: false
default: '/usr/local/bin'
gpg-verify:
required: true
default: true
outputs: {}
runs:
using: 'composite'
steps:
- name: download zip.sig
shell: bash
run: |
curl -o awscliv2.zip.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip.sig
- name: setup cache
id: cache-sig
uses: actions/cache@v2
with:
path: awscliv2.zip
key: ${{ runner.os }}-${{ hashFiles('awscliv2.zip.sig') }}
- name: download zip
if: ${{ steps.cache-sig.outputs.cache-hit != 'true' }}
shell: bash
run: |
curl -o awscliv2.zip https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip
- name: gpg import
if: ${{ inputs.gpg-verify == 'true' }}
shell: bash
run: |
cat > aws-gpg-public-key.txt <<- __EOF__
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG
ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx
PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G
TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz
gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk
C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG
94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO
lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG
fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG
EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX
XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB
tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4WIQT7
Xbd/1cEYuAURraimMQrMRnJHXAUCXYKvtQIbAwUJB4TOAAULCQgHAgYVCgkICwIE
FgIDAQIeAQIXgAAKCRCmMQrMRnJHXJIXEAChLUIkg80uPUkGjE3jejvQSA1aWuAM
yzy6fdpdlRUz6M6nmsUhOExjVIvibEJpzK5mhuSZ4lb0vJ2ZUPgCv4zs2nBd7BGJ
MxKiWgBReGvTdqZ0SzyYH4PYCJSE732x/Fw9hfnh1dMTXNcrQXzwOmmFNNegG0Ox
au+VnpcR5Kz3smiTrIwZbRudo1ijhCYPQ7t5CMp9kjC6bObvy1hSIg2xNbMAN/Do
ikebAl36uA6Y/Uczjj3GxZW4ZWeFirMidKbtqvUz2y0UFszobjiBSqZZHCreC34B
hw9bFNpuWC/0SrXgohdsc6vK50pDGdV5kM2qo9tMQ/izsAwTh/d/GzZv8H4lV9eO
tEis+EpR497PaxKKh9tJf0N6Q1YLRHof5xePZtOIlS3gfvsH5hXA3HJ9yIxb8T0H
QYmVr3aIUes20i6meI3fuV36VFupwfrTKaL7VXnsrK2fq5cRvyJLNzXucg0WAjPF
RrAGLzY7nP1xeg1a0aeP+pdsqjqlPJom8OCWc1+6DWbg0jsC74WoesAqgBItODMB
rsal1y/q+bPzpsnWjzHV8+1/EtZmSc8ZUGSJOPkfC7hObnfkl18h+1QtKTjZme4d
H17gsBJr+opwJw/Zio2LMjQBOqlm3K1A4zFTh7wBC7He6KPQea1p2XAMgtvATtNe
YLZATHZKTJyiqA==
=vYOk
-----END PGP PUBLIC KEY BLOCK-----
__EOF__
gpg --import aws-gpg-public-key.txt
rm aws-gpg-public-key.txt
- name: gpg verify
if: ${{ inputs.gpg-verify == 'true' }}
shell: bash
run: |
gpg --verify awscliv2.zip.sig awscliv2.zip
- name: unzip
shell: bash
run: |
unzip -q awscliv2.zip
- name: install
shell: bash
run: |
EXPR="sudo ./aws/install"
if [[ -e $(which aws) ]]; then
realpath -L $(which aws)
echo update existing aws-cli
EXPR="$EXPR --update"
fi
INSTALL_DIR=${{ inputs.install-dir }}
[[ -n $INSTALL_DIR ]] && EXPR="$EXPR -i ${INSTALL_DIR}"
BIN_DIR=${{ inputs.bin-dir }}
[[ -n $BIN_DIR ]] && EXPR="$EXPR -b ${BIN_DIR}"
eval $EXPR
- name: aws --version
shell: bash
run: |
realpath -L $(which aws)
aws --version