Skip to content

Commit 4d38c74

Browse files
committed
Merge remote-tracking branch 'origin/develop' into ci/sc/deploy
2 parents 60be481 + 68e05f5 commit 4d38c74

File tree

88 files changed

+18558
-17719
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+18558
-17719
lines changed

.drone.yml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -242,10 +242,11 @@ steps:
242242
ENV: prod
243243
commands:
244244
- cd environments
245-
- KEY=dataprotectorSharingContractAddress VALUE=$(cat ../packages/sharing-smart-contract/deployments/DataProtectorSharing/address) npm run update-env
246-
- KEY=dataprotectorSharingStartBlock VALUE=$(cat ../packages/sharing-smart-contract/deployments/DataProtectorSharing/block) npm run update-env
247-
- KEY=addOnlyAppWhitelistRegistryContractAddress VALUE=$(cat ../packages/sharing-smart-contract/deployments/AddOnlyAppWhitelistRegistry/address) npm run update-env
248-
- KEY=addOnlyAppWhitelistRegistryStartBlock VALUE=$(cat ../packages/sharing-smart-contract/deployments/AddOnlyAppWhitelistRegistry/block) npm run update-env
245+
- |
246+
ADDRESS=$(jq -r '.contractAddress' ../packages/smart-contract/ignition/deployments/chain-134/journal.jsonl)
247+
BLOCK=$(jq -r '.blockNumber' ../packages/smart-contract/ignition/deployments/chain-134/journal.jsonl)
248+
KEY=dataprotectorContractAddress VALUE=$ADDRESS npm run update-env
249+
KEY=dataprotectorStartBlock VALUE=$BLOCK npm run update-env
249250
- git add environments.json
250251
- git commit -m "$DRONE_DEPLOY_TO deployment $DRONE_BUILD_NUMBER $DRONE_COMMIT" --author="drone-product <[email protected]>"
251252
when:
@@ -260,10 +261,11 @@ steps:
260261
ENV: staging
261262
commands:
262263
- cd environments
263-
- KEY=dataprotectorSharingContractAddress VALUE=$(cat ../packages/sharing-smart-contract/deployments/DataProtectorSharing/address) npm run update-env
264-
- KEY=dataprotectorSharingStartBlock VALUE=$(cat ../packages/sharing-smart-contract/deployments/DataProtectorSharing/block) npm run update-env
265-
- KEY=addOnlyAppWhitelistRegistryContractAddress VALUE=$(cat ../packages/sharing-smart-contract/deployments/AddOnlyAppWhitelistRegistry/address) npm run update-env
266-
- KEY=addOnlyAppWhitelistRegistryStartBlock VALUE=$(cat ../packages/sharing-smart-contract/deployments/AddOnlyAppWhitelistRegistry/block) npm run update-env
264+
- |
265+
ADDRESS=$(jq -r '.contractAddress' ../packages/smart-contract/ignition/deployments/chain-134/journal.json)
266+
BLOCK=$(jq -r '.blockNumber' ../packages/smart-contract/ignition/deployments/chain-134/journal.json)
267+
KEY=dataprotectorContractAddress VALUE=$ADDRESS npm run update-env
268+
KEY=dataprotectorStartBlock VALUE=$BLOCK npm run update-env
267269
- git add environments.json
268270
- git commit -m "$DRONE_DEPLOY_TO deployment $DRONE_BUILD_NUMBER $DRONE_COMMIT" --author="drone-product <[email protected]>"
269271
when:
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: Conventional Commits
2+
3+
on: [pull_request]
4+
5+
jobs:
6+
build:
7+
name: Conventional Commits
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v4
11+
12+
- uses: webiny/[email protected]

.github/workflows/dapp-publish.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Publish Docker Image
2+
3+
on:
4+
push:
5+
tags:
6+
- 'protected-data-delivery-dapp-v*'
7+
8+
jobs:
9+
build-test:
10+
uses: iExecBlockchainComputing/github-actions-workflows/.github/workflows/docker-build.yml@fix/docker/types
11+
with:
12+
image-name: 'docker-regis.iex.ec/product/protected-data-delivery-dapp'
13+
image-tag: ${{ github.ref }} # Use the tag of the commit
14+
push: true
15+
dockerfile: 'packages/protected-data-delivery-dapp/Dockerfile'
16+
security-scan: false
17+
hadolint: false
18+
registry: 'docker-regis.iex.ec'
19+
context: 'packages/protected-data-delivery-dapp'
20+
secrets:
21+
username: ${{ secrets.REGIS_USERNAME }}
22+
password: ${{ secrets.REGIS_PASSWORD }}

.github/workflows/dapp-test.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Test Docker Image
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- '*' # Trigger on any pull request
7+
paths:
8+
- 'packages/protected-data-delivery-dapp/**' # Trigger only when changes are made to the dapp
9+
10+
jobs:
11+
build-test:
12+
uses: iExecBlockchainComputing/github-actions-workflows/.github/workflows/docker-build.yml@fix/docker/types
13+
with:
14+
image-name: 'protected-data-delivery-dapp'
15+
image-tag: ${{ github.sha }}
16+
push: false
17+
dockerfile: 'packages/protected-data-delivery-dapp/Dockerfile'
18+
context: 'packages/protected-data-delivery-dapp'

.github/workflows/root-checks.yaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Root checks
2+
3+
on: [pull_request]
4+
5+
jobs:
6+
changed-files:
7+
name: Detect Changes
8+
runs-on: ubuntu-latest
9+
outputs:
10+
matrix: ${{ steps.changed.outputs.all_changed_and_modified_files }}
11+
steps:
12+
- uses: actions/checkout@v4
13+
with:
14+
fetch-depth: 0
15+
16+
- name: Detect changed files
17+
id: changed
18+
uses: tj-actions/changed-files@v45
19+
with:
20+
matrix: 'true'
21+
dir_names: 'true'
22+
dir_names_max_depth: 3
23+
files: |
24+
packages/sdk/**
25+
packages/subgraph/**
26+
packages/protected-data-delivery-dapp/deployment/**
27+
28+
build-and-test:
29+
name: Build & Test Modified Packages
30+
needs: [changed-files]
31+
runs-on: ubuntu-latest
32+
strategy:
33+
matrix:
34+
package: ${{ fromJSON(needs.changed-files.outputs.matrix) }}
35+
max-parallel: 4
36+
fail-fast: false
37+
steps:
38+
- uses: actions/checkout@v4
39+
- uses: actions/setup-node@v4
40+
with:
41+
node-version: '18'
42+
43+
- name: Install dependencies and run tests for ${{ matrix.package }}
44+
working-directory: ${{ matrix.package }}
45+
run: |
46+
npm run refresh-abis
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
name: CI Sharing Smart Contract
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- '*'
7+
paths:
8+
- 'packages/sharing-smart-contract/**'
9+
10+
concurrency:
11+
group: ${{ github.ref }}-sharing-smart-contract-tests
12+
cancel-in-progress: true
13+
14+
jobs:
15+
build-and-test:
16+
runs-on: ubuntu-latest
17+
permissions:
18+
contents: write
19+
20+
steps:
21+
- uses: actions/checkout@v4
22+
with:
23+
fetch-depth: 0
24+
25+
- uses: actions/setup-node@v4
26+
with:
27+
node-version: '18'
28+
29+
- name: Install Dependencies
30+
working-directory: packages/sharing-smart-contract
31+
run: |
32+
node -v
33+
npm -v
34+
npm ci
35+
36+
- name: Install Foundry
37+
uses: foundry-rs/foundry-toolchain@v1
38+
with:
39+
version: stable
40+
cache: true
41+
42+
- name: Compile
43+
working-directory: packages/sharing-smart-contract
44+
run: npm run compile
45+
46+
- name: Check Format
47+
working-directory: packages/sharing-smart-contract
48+
run: npm run check-format
49+
50+
- name: Lint
51+
working-directory: packages/sharing-smart-contract
52+
run: npm run lint
53+
54+
- name: UML Diagrams
55+
working-directory: packages/sharing-smart-contract
56+
run: npm run uml
57+
58+
- name: Static Analyzer
59+
uses: crytic/[email protected]
60+
id: slither
61+
with:
62+
sarif: result.sarif
63+
fail-on: none
64+
target: 'packages/sharing-smart-contract/'
65+
66+
- name: Start Anvil
67+
run: |
68+
anvil --host 0.0.0.0 --port 8545 --hardfork berlin --fork-url https://bellecour.iex.ec --chain-id 134 --gas-limit 6700000 --gas-price 0 &
69+
70+
- name: Wait for Anvil to start
71+
run: |
72+
timeout=30
73+
interval=1
74+
echo "Waiting for Anvil to start..."
75+
for ((i=0; i<timeout; i++)); do
76+
if nc -z localhost 8545; then
77+
echo "Anvil is operational."
78+
exit 0
79+
fi
80+
echo "Attempt $((i+1)) of $timeout: Anvil is not ready, waiting ${interval}s..."
81+
sleep $interval
82+
done
83+
echo "Error: Anvil did not start within the timeout period."
84+
exit 1
85+
86+
- name: Hardhat Tests
87+
working-directory: packages/sharing-smart-contract
88+
run: npm run test -- --network ci-bellecour-fork
89+
90+
- name: Upgrade Test
91+
working-directory: packages/sharing-smart-contract
92+
run: npm run upgrade-local-fork -- --network local-bellecour-fork
93+
94+
- name: Set Directory Permissions
95+
working-directory: packages/sharing-smart-contract
96+
run: sudo chmod -R 777 .
97+
98+
- name: Forge Tests
99+
working-directory: packages/sharing-smart-contract
100+
run: forge test --no-match-test "invariant" -vvvv
101+
102+
- name: Upload SARIF file
103+
uses: github/codeql-action/upload-sarif@v3
104+
with:
105+
sarif_file: ${{ steps.slither.outputs.sarif }}

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,3 @@ node_modules
1414
.env
1515
*.log
1616
*.env
17-
18-
**/deployments

environments/environments.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"protectedDataDeliveryWhitelistAddress": "0x256bcd881c33bdf9df952f2a0148f27d439f2e64",
1616
"protectedDataDeliveryDappAddress": "0x1cb7D4F3FFa203F211e57357D759321C6CE49921",
1717
"protectedDataDeliveryDappEns": "protected-data-delivery.apps.iexec.eth",
18-
"dataprotectorSubgraphUrl": "https://thegraph-product.iex.ec/subgraphs/name/bellecour/dataprotector-v2"
18+
"dataprotectorSubgraphUrl": "https://thegraph.iex.ec/subgraphs/name/bellecour/dataprotector-v2"
1919
},
2020
"staging": {
2121
"smsUrl": "https://sms.scone-prod.stagingv8.iex.ec",
@@ -33,6 +33,6 @@
3333
"protectedDataDeliveryWhitelistAddress": "0x3da63b3fbeb6e4ad28d91d3d1adc452253f44029",
3434
"protectedDataDeliveryDappAddress": "0x295869EF57EA9028DCC208e187bab33D48618259",
3535
"protectedDataDeliveryDappEns": "protected-data-delivery-staging.apps.iexec.eth",
36-
"dataprotectorSubgraphUrl": "https://thegraph-product.iex.ec/subgraphs/name/bellecour/staging-dataprotector-v2"
36+
"dataprotectorSubgraphUrl": "https://thegraph-staging.iex.ec/subgraphs/name/bellecour/staging-dataprotector-v2"
3737
}
38-
}
38+
}

packages/protected-data-delivery-dapp/.drone.yml

Lines changed: 0 additions & 51 deletions
This file was deleted.

packages/protected-data-delivery-dapp/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ FROM node:14-alpine3.11 as builder
22

33
WORKDIR /app
44
COPY . .
5-
RUN npm ci
6-
RUN npm run build
5+
RUN npm ci && \
6+
npm run build
77

88
FROM node:14-alpine3.11 as runner
99

0 commit comments

Comments
 (0)