diff --git a/.github/workflows/nightly-tests.yml b/.github/workflows/nightly-tests.yml new file mode 100644 index 00000000..f478834e --- /dev/null +++ b/.github/workflows/nightly-tests.yml @@ -0,0 +1,79 @@ +name: Run nightly tests + +on: + push: +# schedule: +# # For tests only: run every 15 minutes +# - cron: "*/15 * * * *" + +jobs: + run-unit-tests-2.3: + name: Unit tests - develop-2.3 + runs-on: ubuntu-20.04 + + steps: + - name: Checkout develop-2.3 + uses: actions/checkout@v3 + with: { ref: develop-2.3 } + + - name: Build the middleware docker image + run: docker/mware/build + + - name: Middleware tests + run: middleware/test-all + + - name: Ledger tests for TCPSigner + run: ledger/test/test-all + + - name: Ledger Signer's tests + working-directory: ledger/src/signer/test/ + run: | + for d in difficulty sha256 srlp; do + (cd "$d" && make clean test) + done + + - name: Ledger common lib tests + working-directory: ledger/src/common/test/ + run: | + for d in memutil; do + (cd "$d" && make clean test) + done + + run-integration-tests-2.3: + name: Integration tests - develop2.3 + runs-on: ubuntu-20.04 + + steps: + - name: Checkout rsk-powhsm repo + uses: actions/checkout@v2 + with: + ref: develop-2.3 + path: rsk-powhsm + + - name: Build required software + working-directory: rsk-powhsm + run: | + docker/mware/build + docker/packer/build + middleware/build/manager-tcp + ledger/build/build-tcpsigner + + - name: Checkout hsm-integration-test repo + uses: actions/checkout@v2 + with: + repository: rootstock/hsm-integration-test + ref: 2.3.0.plus + path: hsm-integration-test + ssh-key: ${{ secrets.HSM_INTEGRATION_TEST_SSH_KEY }} + + - name: Copy required files + run: | + mkdir hsm-integration-test/docker/manager/manager-tcp + tar -xzf rsk-powhsm/middleware/bin/manager-tcp.tgz \ + -C hsm-integration-test/docker/manager/manager-tcp + cp rsk-powhsm/ledger/src/tcpsigner/tcpsigner \ + hsm-integration-test/docker/tcpsigner/ + + - name: Run HSM integration tests + working-directory: hsm-integration-test + run: sh smoke-test.sh