| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- name: CI
-
- env:
- CARGO_TERM_COLOR: always
- REGISTRY: ghcr.io
-
- on:
- push:
- branches:
- - develop
- pull_request:
- types: [opened, reopened, edited, synchronize]
- branches:
- - develop
-
- jobs:
- fmt:
- name: fmt
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: Install Rust Toolchain
- uses: actions-rs/toolchain@v1
- with:
- toolchain: nightly
- components: rustfmt
- - name: cargo fmt
- run: cargo +nightly fmt -- --check
- clippy:
- name: clippy
- needs: fmt
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: Install Rust Toolchain
- uses: actions-rs/toolchain@v1
- with:
- toolchain: nightly
- components: clippy
- - name: cargo clippy
- run: cargo +nightly clippy --workspace --tests -- -D warnings
- tests-common-api:
- name: tests-common-api
- needs: [clippy, fmt]
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: Install Rust Toolchain
- uses: actions-rs/toolchain@v1
- with:
- toolchain: stable
- - name: Run tests for [common-api]
- run: cargo test -p common-api --tests --all-features
- tests-near:
- name: tests-near
- needs: [clippy, fmt]
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: Install Rust Toolchain
- uses: actions-rs/toolchain@v1
- with:
- toolchain: stable
- target: wasm32-unknown-unknown
- - name: Setup ssh access for a private repositories
- uses: webfactory/ssh-agent@v0.7.0
- with:
- ssh-private-key: |
- ${{ secrets.CLIENT_SSH_PRIVATE_KEY }}
- ${{ secrets.SMARTCONTRACTS_SSH_PRIVATE_KEY }}
- - name: Run tests for [near-rpc]
- env:
- CARGO_NET_GIT_FETCH_WITH_CLI: true
- run: cargo test -p near-rpc --tests
- tests-web:
- name: tests-web
- needs: [clippy, fmt]
- runs-on: ubuntu-latest
- permissions:
- contents: write
- packages: read
- steps:
- - name: Log in to the Container registry
- uses: docker/login-action@v2.0.0
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ github.actor }}
- password: ${{ secrets.GITHUB_TOKEN }}
- - name: Setup ssh access for a private repositories
- uses: webfactory/ssh-agent@v0.7.0
- with:
- ssh-private-key: |
- ${{ secrets.CLIENT_SSH_PRIVATE_KEY }}
- ${{ secrets.KEYEXCHANGE_SSH_PRIVATE_KEY }}
- ${{ secrets.SMARTCONTRACTS_SSH_PRIVATE_KEY }}
- - name: Clone key-exchange-server and deploy
- run: |
- docker pull ${{ env.REGISTRY }}/relayz-io/key-exchange:latest
- docker tag ${{ env.REGISTRY }}/relayz-io/key-exchange:latest key-exchange:latest
- git clone git@github.com:Relayz-io/key-exchange-server.git
- (cd key-exchange-server && docker compose up -d --no-build)
- - name: Clone near-smartcontracts and deploy
- run: |
- docker pull ${{ env.REGISTRY }}/relayz-io/sandbox:latest
- docker tag ${{ env.REGISTRY }}/relayz-io/sandbox:latest sandbox:latest
- docker pull ${{ env.REGISTRY }}/relayz-io/sandbox-artifact:latest
- docker tag ${{ env.REGISTRY }}/relayz-io/sandbox-artifact:latest sandbox-artifact:latest
- docker pull ${{ env.REGISTRY }}/relayz-io/contract-artifact:latest
- docker tag ${{ env.REGISTRY }}/relayz-io/contract-artifact:latest contract-artifact:latest
- git clone git@github.com:Relayz-io/near-smartcontracts.git
- (cd near-smartcontracts && docker compose -f docker-compose.yml -f docker-compose.tests.yml up -d --no-build)
- - uses: actions/checkout@v3
- - name: Run tests for [web]
- run: docker compose up --abort-on-container-exit
|