-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaction.yml
135 lines (134 loc) · 4.43 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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: 'Blocklet workflow'
description: 'Workflow for develop blocklet'
inputs:
deps-npm-client:
description: 'deps npm client'
default: 'yarn'
required: false
deps-server-version:
description: 'Setup blocklet-server version'
default: 'latest'
required: false
# bundle
bundle-command:
description: 'Blocklet bundle command'
default: 'echo "Echo from bundle command"'
required: true
# upload
store-endpoint:
description: 'Endpoint of blocklet store'
required: true
store-access-token:
description: 'Access token of blocklet store'
required: false
store-developer-did:
description: 'DeveloperDid of blocklet store'
required: false
# deploy
server-endpoint:
description: 'Endpoint of blocklet server'
required: true
server-access-key:
description: 'Access key of blocklet server'
required: true
server-access-secret:
description: 'Access secret of blocklet server'
required: true
slack-webhook:
description: 'Webhook of slack'
required: false
deploy-app-did:
description: 'Deploy as a app child blocklet'
required: false
deploy-mount-point:
description: 'If is a child blocklet, need setup a mount point'
required: false
# release
github-token:
description: 'Github token'
required: true
# skip
skip-deps:
description: 'Skip prepare @blocklet/cli'
default: false
skip-bundle:
description: 'Skip bundle'
default: false
skip-upload:
description: 'Skip upload blocklet to blocklet store'
default: true
skip-deploy:
description: 'Skip deploy blocklet to blocklet server'
default: true
skip-release:
description: 'Skip release blocklet to github'
default: false
skip-readme:
description: 'Skip update readme'
default: false
# working directory
working-directory:
description: 'Set default working directory'
default: ./
# Alias upload
registry-endpoint:
description: 'Alias of store-endpoint'
required: true
access-token:
description: 'Alias of store-access-token'
required: false
developer-sk:
description: 'Alias of store-access-token'
required: false
# Alias deploy
abtnode-endpoint:
description: 'Endpoint of blocklet server'
required: true
access-key:
description: 'Access key of blocklet server'
required: true
access-secret:
description: 'Access secret of blocklet server'
required: true
# Alias deps
skip-abtnode:
description: 'Alias of skip-deps'
default: false
runs:
using: 'composite'
steps:
- name: Prepare blocklet cli deps
if: ${{ inputs.skip-deps != 'true' && inputs.skip-abtnode != 'true' }}
run: |
if ${{inputs.deps-npm-client == 'pnpm'}} ; then pnpm install -g @blocklet/cli@${{ inputs.deps-server-version}}; elif ${{ inputs.deps-npm-client == 'yarn' }} ; then yarn global add @blocklet/cli@${{ inputs.deps-server-version}}; else npm install -g @blocklet/cli@${{ inputs.deps-server-version}} ; fi
shell: bash
- name: Bundle blocklet
working-directory: ${{ inputs.working-directory }}
run: if ${{ inputs.skip-bundle }}; then echo 'Skip bundle'; else ${{ inputs.bundle-command }}; fi
shell: bash
- name: Upload blocklet to blocklet store
uses: blocklet/action-upload@v1
with:
working-directory: ${{ inputs.working-directory }}
endpoint: ${{ inputs.store-endpoint || inputs.registry-endpoint }}
access-token: ${{ inputs.store-access-token || inputs.developer-sk }}
developer-did: ${{ inputs.store-developer-did }}
skip: ${{ inputs.skip-upload }}
- name: Deploy blocklet to blocklet server
uses: blocklet/action-deploy@v1
with:
working-directory: ${{ inputs.working-directory }}
endpoint: ${{ inputs.server-endpoint || inputs.abtnode-endpoint }}
access-key: ${{ inputs.server-access-key || inputs.access-key }}
access-secret: ${{ inputs.server-access-secret || inputs.access-secret }}
slack-webhook: ${{ inputs.slack-webhook }}
app-did: ${{ inputs.deploy-app-did }}
mount-point: ${{ inputs.deploy-mount-point }}
skip: ${{ inputs.skip-deploy }}
- name: Create blocklet release to github
uses: blocklet/action-release-to-github@v1
with:
working-directory: ${{ inputs.working-directory }}
token: ${{ inputs.github-token }}
skip: ${{ inputs.skip-release }}
skip-readme: ${{ inputs.skip-readme }}