Run tests #2512
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Run tests | |
| on: | |
| push: | |
| schedule: | |
| - cron: "17 6 * * *" | |
| # Declare default permissions as read only. | |
| permissions: read-all | |
| jobs: | |
| run-unit-tests: | |
| name: Unit tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout this repo | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0 | |
| - name: Build the middleware docker image | |
| run: docker/mware/build | |
| - name: Build the SGX docker image | |
| run: docker/sgx/build | |
| - name: Middleware tests | |
| run: middleware/test-all | |
| - name: Firmware tests using TCPSigner | |
| run: firmware/test/test-all | |
| - name: Firmware tests using SGX simulator | |
| run: firmware/test/test-all sgxsim | |
| - name: Firmware HAL's common unit tests | |
| run: firmware/src/hal/common_linked/test/run-all.sh | |
| - name: Firmware HAL's x86 unit tests | |
| run: firmware/src/hal/x86/test/run-all.sh | |
| - name: Firmware HAL's Ledger unit tests | |
| run: firmware/src/hal/ledger/test/run-all.sh | |
| - name: Firmware HAL's SGX unit tests | |
| run: firmware/src/hal/sgx/test/run-all.sh | |
| - name: Firmware common lib unit tests | |
| run: firmware/src/common/test/run-all.sh | |
| - name: Firmware PowHSM's unit tests | |
| run: firmware/src/powhsm/test/run-all.sh | |
| - name: Firmware SGX's unit tests | |
| run: firmware/src/sgx/test/run-all.sh | |
| - name: Ledger UI's unit tests | |
| run: firmware/src/ledger/ui/test/run-all.sh | |
| - name: Ledger Signer's unit tests | |
| run: firmware/src/ledger/signer/test/run-all.sh | |
| run-integration-tests-tcpsigner: | |
| name: Integration tests for TCPSigner | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout rsk-powhsm repo | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0 | |
| with: | |
| path: rsk-powhsm | |
| - name: Build required software | |
| working-directory: rsk-powhsm | |
| run: | | |
| docker/mware/build | |
| docker/packer/build | |
| middleware/build/manager_tcp | |
| firmware/build/build-tcpsigner | |
| - name: Checkout hsm-integration-test repo | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0 | |
| with: | |
| repository: rootstock/hsm-integration-test | |
| ref: 5.4.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/firmware/src/tcpsigner/tcpsigner \ | |
| hsm-integration-test/docker/tcpsigner/ | |
| - name: Run HSM integration tests | |
| working-directory: hsm-integration-test | |
| run: sh smoke-test.sh | |
| run-integration-tests-sgx: | |
| name: Integration tests for SGX simulator | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout rsk-powhsm repo | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0 | |
| with: | |
| path: rsk-powhsm | |
| - name: Build required software | |
| working-directory: rsk-powhsm | |
| run: | | |
| docker/mware/build | |
| docker/packer/build | |
| docker/sgx/build | |
| middleware/build/manager_sgx | |
| docker/sgx/do-notty /hsm2/firmware/src/sgx "make generate-private-key" | |
| firmware/build/build-sgx-sim \ | |
| 0xe108960a242ad7bd45c21aff9c7ed9c516789e9cffacdd895502727d8f460d2c \ | |
| 0x6E regtest testing | |
| - name: Checkout hsm-integration-test repo | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0 | |
| with: | |
| repository: rootstock/hsm-integration-test | |
| ref: 5.4.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_sgx | |
| tar -xzf rsk-powhsm/middleware/bin/manager_sgx.tgz \ | |
| -C hsm-integration-test/docker/manager/manager_sgx | |
| cp rsk-powhsm/firmware/src/sgx/bin/hsmsgx \ | |
| hsm-integration-test/docker/sgx | |
| cp rsk-powhsm/firmware/src/sgx/bin/hsmsgx_enclave.signed \ | |
| hsm-integration-test/docker/sgx | |
| echo abcd1234 > hsm-integration-test/docker/manager/pin.txt | |
| echo -n "password" | sha256sum | awk '{print $1}' \ | |
| | xxd -r -p > hsm-integration-test/docker/sgx/kvstore-password.dat | |
| echo -n abcd1234 >> hsm-integration-test/docker/sgx/kvstore-password.dat | |
| echo -n "retries" | sha256sum | awk '{print $1}' \ | |
| | xxd -r -p > hsm-integration-test/docker/sgx/kvstore-retries.dat | |
| echo -en "\x03" >> hsm-integration-test/docker/sgx/kvstore-retries.dat | |
| echo -n "seed" | sha256sum | awk '{print $1}' \ | |
| | xxd -r -p > hsm-integration-test/docker/sgx/kvstore-seed.dat | |
| dd if=/dev/urandom bs=1 count=32 \ | |
| of=hsm-integration-test/docker/sgx/kvstore-seed.dat \ | |
| seek=32 | |
| echo "SGX_SIM=yes" >> "$GITHUB_ENV" | |
| - name: Run HSM integration tests | |
| working-directory: hsm-integration-test | |
| run: sh smoke-test.sh |