Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. name: CI
  2. env:
  3. CARGO_TERM_COLOR: always
  4. REGISTRY: ghcr.io
  5. on:
  6. push:
  7. branches:
  8. - develop
  9. pull_request:
  10. types: [opened, reopened, edited, synchronize]
  11. branches:
  12. - develop
  13. jobs:
  14. fmt:
  15. name: fmt
  16. runs-on: ubuntu-latest
  17. steps:
  18. - uses: actions/checkout@v3
  19. - name: Install Rust Toolchain
  20. uses: actions-rs/toolchain@v1
  21. with:
  22. toolchain: nightly
  23. components: rustfmt
  24. - name: cargo fmt
  25. run: cargo +nightly fmt -- --check
  26. clippy:
  27. name: clippy
  28. needs: fmt
  29. runs-on: ubuntu-latest
  30. steps:
  31. - uses: actions/checkout@v3
  32. - name: Install Rust Toolchain
  33. uses: actions-rs/toolchain@v1
  34. with:
  35. toolchain: nightly
  36. components: clippy
  37. - name: cargo clippy
  38. run: cargo +nightly clippy --workspace --tests -- -D warnings
  39. tests-common-api:
  40. name: tests-common-api
  41. needs: [clippy, fmt]
  42. runs-on: ubuntu-latest
  43. steps:
  44. - uses: actions/checkout@v3
  45. - name: Install Rust Toolchain
  46. uses: actions-rs/toolchain@v1
  47. with:
  48. toolchain: stable
  49. - name: Run tests for [common-api]
  50. run: cargo test -p common-api --tests --all-features
  51. tests-near:
  52. name: tests-near
  53. needs: [clippy, fmt]
  54. runs-on: ubuntu-latest
  55. steps:
  56. - uses: actions/checkout@v3
  57. - name: Install Rust Toolchain
  58. uses: actions-rs/toolchain@v1
  59. with:
  60. toolchain: stable
  61. target: wasm32-unknown-unknown
  62. - name: Setup ssh access for a private repositories
  63. uses: webfactory/ssh-agent@v0.7.0
  64. with:
  65. ssh-private-key: |
  66. ${{ secrets.CLIENT_SSH_PRIVATE_KEY }}
  67. ${{ secrets.SMARTCONTRACTS_SSH_PRIVATE_KEY }}
  68. - name: Run tests for [near-rpc]
  69. env:
  70. CARGO_NET_GIT_FETCH_WITH_CLI: true
  71. run: cargo test -p near-rpc --tests
  72. tests-web:
  73. name: tests-web
  74. needs: [clippy, fmt]
  75. runs-on: ubuntu-latest
  76. permissions:
  77. contents: write
  78. packages: read
  79. steps:
  80. - name: Log in to the Container registry
  81. uses: docker/login-action@v2.0.0
  82. with:
  83. registry: ${{ env.REGISTRY }}
  84. username: ${{ github.actor }}
  85. password: ${{ secrets.GITHUB_TOKEN }}
  86. - name: Setup ssh access for a private repositories
  87. uses: webfactory/ssh-agent@v0.7.0
  88. with:
  89. ssh-private-key: |
  90. ${{ secrets.CLIENT_SSH_PRIVATE_KEY }}
  91. ${{ secrets.KEYEXCHANGE_SSH_PRIVATE_KEY }}
  92. ${{ secrets.SMARTCONTRACTS_SSH_PRIVATE_KEY }}
  93. - name: Clone key-exchange-server and deploy
  94. run: |
  95. docker pull ${{ env.REGISTRY }}/relayz-io/key-exchange:latest
  96. docker tag ${{ env.REGISTRY }}/relayz-io/key-exchange:latest key-exchange:latest
  97. git clone git@github.com:Relayz-io/key-exchange-server.git
  98. (cd key-exchange-server && docker compose up -d --no-build)
  99. - name: Clone near-smartcontracts and deploy
  100. run: |
  101. docker pull ${{ env.REGISTRY }}/relayz-io/sandbox:latest
  102. docker tag ${{ env.REGISTRY }}/relayz-io/sandbox:latest sandbox:latest
  103. docker pull ${{ env.REGISTRY }}/relayz-io/sandbox-artifact:latest
  104. docker tag ${{ env.REGISTRY }}/relayz-io/sandbox-artifact:latest sandbox-artifact:latest
  105. docker pull ${{ env.REGISTRY }}/relayz-io/contract-artifact:latest
  106. docker tag ${{ env.REGISTRY }}/relayz-io/contract-artifact:latest contract-artifact:latest
  107. git clone git@github.com:Relayz-io/near-smartcontracts.git
  108. (cd near-smartcontracts && docker compose -f docker-compose.yml -f docker-compose.tests.yml up -d --no-build)
  109. - uses: actions/checkout@v3
  110. - name: Run tests for [web]
  111. run: docker compose up --abort-on-container-exit