|
@@ -2,6 +2,7 @@ name: CI
|
2
|
2
|
|
3
|
3
|
env:
|
4
|
4
|
CARGO_TERM_COLOR: always
|
|
5
|
+ REGISTRY: ghcr.io
|
5
|
6
|
|
6
|
7
|
on:
|
7
|
8
|
push:
|
|
@@ -40,21 +41,6 @@ jobs:
|
40
|
41
|
components: clippy
|
41
|
42
|
- name: cargo clippy
|
42
|
43
|
run: cargo +nightly clippy --workspace --tests -- -D warnings
|
43
|
|
- build:
|
44
|
|
- name: build
|
45
|
|
- needs: [clippy, fmt]
|
46
|
|
- runs-on: ubuntu-latest
|
47
|
|
- steps:
|
48
|
|
- - uses: actions/checkout@v3
|
49
|
|
- - name: Install Rust Toolchain
|
50
|
|
- uses: actions-rs/toolchain@v1
|
51
|
|
- with:
|
52
|
|
- toolchain: stable
|
53
|
|
- target: wasm32-unknown-unknown
|
54
|
|
- - name: cargo build [web-client, near-client, common-api] for wasm
|
55
|
|
- run: cargo build -p web-client -p near-client -p common-api --target wasm32-unknown-unknown --release
|
56
|
|
- - name: cargo build [near-client, common-api]
|
57
|
|
- run: cargo build -p near-client -p common-api --tests --release
|
58
|
44
|
tests-common-api:
|
59
|
45
|
name: tests-common-api
|
60
|
46
|
needs: [clippy, fmt]
|
|
@@ -90,3 +76,43 @@ jobs:
|
90
|
76
|
env:
|
91
|
77
|
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
|
92
|
78
|
run: cargo test -p near-client --tests
|
|
79
|
+ tests-web:
|
|
80
|
+ name: tests-web
|
|
81
|
+ needs: [clippy, fmt]
|
|
82
|
+ runs-on: ubuntu-latest
|
|
83
|
+ permissions:
|
|
84
|
+ contents: write
|
|
85
|
+ packages: read
|
|
86
|
+ steps:
|
|
87
|
+ - name: Log in to the Container registry
|
|
88
|
+ uses: docker/login-action@v2.0.0
|
|
89
|
+ with:
|
|
90
|
+ registry: ${{ env.REGISTRY }}
|
|
91
|
+ username: ${{ github.actor }}
|
|
92
|
+ password: ${{ secrets.GITHUB_TOKEN }}
|
|
93
|
+ - name: Setup ssh access for a private repositories
|
|
94
|
+ uses: webfactory/ssh-agent@v0.5.4
|
|
95
|
+ with:
|
|
96
|
+ ssh-private-key: |
|
|
97
|
+ ${{ secrets.CLIENT_SSH_PRIVATE_KEY }}
|
|
98
|
+ ${{ secrets.KEYEXCHANGE_SSH_PRIVATE_KEY }}
|
|
99
|
+ ${{ secrets.SMARTCONTRACTS_SSH_PRIVATE_KEY }}
|
|
100
|
+ - name: Clone key-exchange-server and deploy
|
|
101
|
+ run: |
|
|
102
|
+ docker pull ${{ env.REGISTRY }}/relayz-io/key-exchange:latest
|
|
103
|
+ docker tag ${{ env.REGISTRY }}/relayz-io/key-exchange:latest key-exchange:latest
|
|
104
|
+ git clone git@github.com:Relayz-io/key-exchange-server.git
|
|
105
|
+ (cd key-exchange-server && docker compose up -d --no-build)
|
|
106
|
+ - name: Clone near-smartcontracts and deploy
|
|
107
|
+ run: |
|
|
108
|
+ docker pull ${{ env.REGISTRY }}/relayz-io/sandbox:latest
|
|
109
|
+ docker tag ${{ env.REGISTRY }}/relayz-io/sandbox:latest sandbox:latest
|
|
110
|
+ docker pull ${{ env.REGISTRY }}/relayz-io/sandbox-artifact:latest
|
|
111
|
+ docker tag ${{ env.REGISTRY }}/relayz-io/sandbox-artifact:latest sandbox-artifact:latest
|
|
112
|
+ docker pull ${{ env.REGISTRY }}/relayz-io/contract-artifact:latest
|
|
113
|
+ docker tag ${{ env.REGISTRY }}/relayz-io/contract-artifact:latest contract-artifact:latest
|
|
114
|
+ git clone git@github.com:Relayz-io/near-smartcontracts.git
|
|
115
|
+ (cd near-smartcontracts && docker compose -f docker-compose.yml -f docker-compose.tests.yml up -d --no-build)
|
|
116
|
+ - uses: actions/checkout@v3
|
|
117
|
+ - name: Run tests for [web]
|
|
118
|
+ run: docker compose up
|