-
Notifications
You must be signed in to change notification settings - Fork 16
76 lines (74 loc) · 2.85 KB
/
deploy-testnet.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
# This workflow depends on a repository secret called `TESTNET_ACCOUNT_SECRET_KEY`.
# It contains the private key on a testnet. To reproduce, fetch an account from the faucet,
# and run:
#
# tezos-client activate account alice with tz1xxx.json
# tezos-client reveal key for alice
# tezos-client show address alice -S
#
# Then set the `Secret Key` as the aforementioned secret. It should be of the form: unencrypted:edsk****
# FIXME: The default values for ctez-fa12 and ctez-cfmm for the ctez contract
# below come from the following ctez instance:
#
# https://better-call.dev/granadanet/KT1QqSAj6krgr3pqg7aqd1ukVZYwJoQ8HYCS/storage
#
# However, this instance does not expose an entrypoint for receiving the
# marginal price of ctez in tez, so deploying with it as the default will
# certainly fail. Once the next branch becomes the main one and a new ctez
# instance is deployed, we should change these defaults.
name: Deploy to the testnet
on:
workflow_dispatch:
inputs:
node:
description: 'Node to connect to'
required: true
default: 'https://rpczero.tzbeta.net/'
ctez-fa12:
description: 'Ctez FA1.2 contract'
required: true
default: 'KT1XaQyVJHKzr1qXPMoLawi56esqKzyzeuhE'
ctez-cfmm:
description: 'Ctez CFMM contract'
required: true
default: 'KT1K7mXY1YjAdqYETwNfgYL4qe6frWvSGJSu'
oracle:
description: 'Oracle contract'
required: true
default: 'KT1Xbo2Lkg6nPqyka4fqD7kLTtW5wDD3vkGe'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build dependencies
run: |
earthly --verbose --ci ${{ env.push_flag }} +flextesa
earthly --verbose --ci ${{ env.push_flag }} +deps-full
- name: Pull client Docker image
run: docker pull ghcr.io/tezos-checker/checker/checker-client:master
- name: Deploy contract
# Note: if we ever use this for non-testnet deployments we will
# likely want a more secure way to pass the key to the process
env:
TESTNET_KEY: ${{ secrets.TESTNET_ACCOUNT_SECRET_KEY }}
run: |
docker run --rm \
ghcr.io/tezos-checker/checker/checker-client:master \
checker \
deploy \
--address "${{ github.event.inputs.node }}" \
--port 443 \
--key "$TESTNET_KEY" \
checker \
--ctez-fa12 "${{ github.event.inputs.ctez-fa12 }}" \
--ctez-cfmm "${{ github.event.inputs.ctez-cfmm }}" \
--oracle "${{ github.event.inputs.oracle }}"