name: Tests on: workflow_dispatch: push: branches: - master pull_request: branches: - master - develop jobs: scan-build: name: Clang Static Analyzer runs-on: ubuntu-latest container: image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest steps: - uses: actions/checkout@v2 - name: Build with Clang Static Analyzer run: | make clean scan-build --use-cc=clang -analyze-headers -enable-checker security -enable-checker unix -enable-checker valist -o scan-build --status-bugs make default - uses: actions/upload-artifact@v2 if: failure() with: name: scan-build path: scan-build building_for_e2e_tests: name: Building binaries for E2E tests runs-on: ubuntu-latest container: image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest steps: - uses: actions/checkout@v2 - name: Build testing binaries run: cd tests/zemu/ && ./build_local_test_elfs.sh - name: Upload app binaries uses: actions/upload-artifact@v2 with: name: e2e_elfs path: ./tests/zemu/elfs/ jobs-e2e-tests: name: E2E tests needs: [building_for_e2e_tests] runs-on: ubuntu-latest steps: - name: Test run: | id echo $HOME echo $DISPLAY - name: Checkout uses: actions/checkout@v2 - run: sudo apt-get update -y && sudo apt-get install -y libusb-1.0.0 libudev-dev - name: Install node uses: actions/setup-node@v2 with: node-version: "14.4.0" - name: Install yarn run: npm install -g yarn - name: Build/Install build js deps run: cd tests/zemu/ && yarn install - name: Create tmp folder for artifacts run: mkdir tests/zemu/elfs - name: Download app binaries uses: actions/download-artifact@v2 with: path: tmp/ - name: Gather elfs run: cp `find tmp/e2e_elfs/ -name "*.elf"` tests/zemu/elfs/ - name: Run zemu tests run: cd tests/zemu/ && yarn test