Skip to content

Commit 19c4271

Browse files
committed
ci: Migrate deserializer CI from Drone to GHA
1 parent e621e34 commit 19c4271

File tree

3 files changed

+88
-140
lines changed

3 files changed

+88
-140
lines changed

.drone-consider

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1 @@
11
.drone.yml
2-
packages/sdk/.drone.yml
3-
packages/dataprotector-deserializer/.drone.yml
4-
packages/sharing-smart-contract/.drone.yml
5-
packages/smart-contract/.drone.yml

.drone.yml

Lines changed: 0 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -35,142 +35,6 @@ steps:
3535
fi
3636
3737
---
38-
# pipeline to upgrade the DataProtectorSharing SC
39-
kind: pipeline
40-
type: docker
41-
name: sharing-smart-contract upgrade
42-
43-
trigger:
44-
event:
45-
- promote
46-
target:
47-
# upgrade the staging DataProtectorSharing contract with the new implementation
48-
- sharing-smart-contract-upgrade-staging
49-
# # upgrade the prod DataProtectorSharing contract with the new implementation
50-
# - sharing-smart-contract-upgrade-prod
51-
branch:
52-
- main
53-
54-
steps:
55-
- name: install-deps
56-
image: node:18.19
57-
pull: always
58-
commands:
59-
- cd packages/sharing-smart-contract
60-
- npm ci
61-
62-
- name: install-forge
63-
image: node:18.19
64-
pull: always
65-
commands:
66-
- export XDG_CONFIG_HOME=/drone/src
67-
- curl -L https://foundry.paradigm.xyz | bash
68-
- export PATH="$PATH:/drone/src/.foundry/bin"
69-
- foundryup
70-
- forge install foundry-rs/forge-std --no-git
71-
72-
- name: smart-contract-staging-upgrade
73-
image: node:18.19
74-
environment:
75-
WALLET_PRIVATE_KEY:
76-
# TODO replace by dataprotector-admin-dev-privatekey
77-
from_secret: deployer-dev-privatekey
78-
ENV: staging
79-
MANIFEST_DEFAULT_DIR: .openzeppelin/staging
80-
commands:
81-
- cd packages/sharing-smart-contract
82-
- export PATH="$PATH:/drone/src/.foundry/bin"
83-
- npm run upgrade -- --network bellecour
84-
- git add .openzeppelin
85-
- git commit -m "$DRONE_DEPLOY_TO deployment $DRONE_BUILD_NUMBER $DRONE_COMMIT" --author="drone-product <[email protected]>"
86-
depends_on:
87-
- install-forge
88-
- install-deps
89-
when:
90-
target:
91-
- sharing-smart-contract-upgrade-staging
92-
93-
# - name: smart-contract-prod-upgrade
94-
# image: node:18.19
95-
# environment:
96-
# WALLET_PRIVATE_KEY:
97-
# # TODO replace by dataprotector-admin-prod-privatekey
98-
# from_secret: deployer-prod-privatekey
99-
# ENV: prod
100-
# MANIFEST_DEFAULT_DIR: .openzeppelin/prod
101-
# commands:
102-
# - cd packages/sharing-smart-contract
103-
# - export PATH="$PATH:/drone/src/.foundry/bin"
104-
# - npm run upgrade -- --network bellecour
105-
# - git add .openzeppelin
106-
# - git commit -m "$DRONE_DEPLOY_TO deployment $DRONE_BUILD_NUMBER $DRONE_COMMIT" --author="drone-product <[email protected]>"
107-
# depends_on:
108-
# - install-forge
109-
# - install-deps
110-
# when:
111-
# target:
112-
# - sharing-smart-contract-upgrade-prod
113-
114-
- name: git-push
115-
image: appleboy/drone-git-push
116-
settings:
117-
remote: ssh://[email protected]/iExecBlockchainComputing/dataprotector-sdk.git
118-
branch: update-env-${DRONE_BUILD_NUMBER}
119-
ssh_key:
120-
from_secret: ssh-key-team-product-github-push
121-
depends_on:
122-
- smart-contract-staging-upgrade
123-
# - smart-contract-prod-upgrade
124-
125-
---
126-
kind: pipeline
127-
type: docker
128-
name: publish dataprotector-subgraph-deployer docker image
129-
130-
trigger:
131-
event:
132-
- promote
133-
target:
134-
# publish a dataprotector-subgraph-deployer docker image dev
135-
- subgraph-deployer-docker-dev
136-
# publish a dataprotector-subgraph-deployer docker image prod
137-
- subgraph-deployer-docker-prod
138-
branch:
139-
- main
140-
141-
steps:
142-
- name: set-prod-tag-from-package
143-
image: node:18.19
144-
# generates the .tags file for the docker plugin
145-
commands:
146-
- cd packages/subgraph
147-
- npm pkg get version | sed 's/"//g' > ../../.tags
148-
when:
149-
target:
150-
- subgraph-deployer-docker-prod
151-
152-
- name: set-dev-tag
153-
image: node:18.19
154-
# generates the .tags file for the docker plugin
155-
commands:
156-
- echo "dev-$DRONE_COMMIT" > .tags
157-
when:
158-
target:
159-
- subgraph-deployer-docker-dev
160-
161-
- name: docker-publish
162-
image: plugins/docker
163-
pull: always
164-
settings:
165-
context: .
166-
dockerfile: packages/subgraph/deployer.Dockerfile
167-
repo: iexechub/dataprotector-subgraph-deployer
168-
pull_image: true
169-
username:
170-
from_secret: dockerhub-user
171-
password:
172-
from_secret: dockerhub-password
173-
---
17438
kind: pipeline
17539
type: docker
17640
name: sdk deprecate npm version
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
name: Deserializer - Default
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- '*'
7+
paths:
8+
- 'packages/dataprotector-deserializer/**'
9+
10+
jobs:
11+
default:
12+
name: Test and Build
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v4
18+
19+
- name: Setup Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: '18'
23+
cache: 'npm'
24+
25+
- name: Build test dependencies in SDK package
26+
working-directory: packages/sdk
27+
run: |
28+
npm ci
29+
npm run codegen
30+
npm run build
31+
32+
- name: Install dependencies
33+
working-directory: packages/dataprotector-deserializer
34+
run: |
35+
node -v
36+
npm -v
37+
npm ci
38+
npm run test:prepare
39+
40+
- name: Check format
41+
working-directory: packages/dataprotector-deserializer
42+
run: npm run check-format
43+
44+
- name: Lint
45+
working-directory: packages/dataprotector-deserializer
46+
run: npm run lint
47+
48+
- name: Check types
49+
working-directory: packages/dataprotector-deserializer
50+
run: npm run check-types
51+
52+
- name: Test
53+
working-directory: packages/dataprotector-deserializer
54+
run: npm run test
55+
56+
- name: Build
57+
working-directory: packages/dataprotector-deserializer
58+
run: npm run build
59+
60+
publish-dry-run:
61+
name: Publish Dry Run
62+
runs-on: ubuntu-latest
63+
needs: default
64+
65+
steps:
66+
- name: Checkout code
67+
uses: actions/checkout@v4
68+
69+
- name: Setup Node.js
70+
uses: actions/setup-node@v4
71+
with:
72+
node-version: '18'
73+
cache: 'npm'
74+
75+
- name: Install dependencies
76+
working-directory: packages/dataprotector-deserializer
77+
run: |
78+
node -v
79+
npm -v
80+
npm ci
81+
82+
- name: Build
83+
working-directory: packages/dataprotector-deserializer
84+
run: npm run build
85+
86+
- name: NPM publish dry-run
87+
working-directory: packages/dataprotector-deserializer
88+
run: npm publish --dry-run

0 commit comments

Comments
 (0)