name: ☠️ Portable tomb on: push: paths: - 'portable/**' - '.github/workflows/portable.yml' branches: - master pull_request: paths: - 'portable/**' - '.github/workflows/portable.yml' branches: - master concurrency: group: ${{ github.workflow }}-${{ github.ref_name }} cancel-in-progress: true jobs: ubuntu-20: name: 🐧 test Ubuntu-20 runs-on: ubuntu-20.04 strategy: fail-fast: false steps: - uses: actions/checkout@v3 - name: Install portable tomb dependencies run: | sudo apt-get install -q -y make openssl wget fuse3 util-linux sudo make -C portable download-deps-ubuntu20 - name: Run portable tomb test run: sudo make -C portable create-open-close - uses: actions/upload-artifact@v3 with: name: ubuntu-test.tomb path: portable/test.tomb* retention-days: 1 freebsd: runs-on: macos-12 name: 😈 test FreeBSD-13 needs: [ubuntu-20] steps: - uses: actions/checkout@v2 - name: Download portable tomb volume built on Ubuntu uses: actions/download-artifact@v3 with: name: ubuntu-test.tomb path: portable - name: Test in MacOS run: | brew tap macos-fuse-t/homebrew-cask brew install fuse-t brew install fuse-t-sshfs brew install veracrypt make e2fsprogs wget https://files.dyne.org/zenroom/nightly/zenroom-osx.command mv zenroom-osx.command /usr/local/bin/zenroom chmod +x /usr/local/bin/zenroom gmake -C portable # - name: Test in FreeBSD # id: test # uses: vmactions/freebsd-vm@v0 # with: # usesh: true # prepare: | # pkg install -y sudo gmake bash fusefs-libs3 fusefs-lkl e2fsprogs wget # wget https://files.dyne.org/tomb3/third-party/veracrypt-freebsd13-amd64 # mv veracrypt-freebsd13-amd64 /usr/bin/veracrypt # wget https://files.dyne.org/tomb3/third-party/zenroom-freebsd13-amd64 # mv zenroom-freebsd13-amd64 /usr/bin/zenroom # chmod a+x /usr/bin/veracrypt /usr/bin/zenroom # kldload fusefs # run: | # sudo gmake -C portable # sudo gmake -C portable check-random-data # - uses: actions/upload-artifact@v3 # with: # name: freebsd-test.tomb # path: portable/test.tomb* # retention-days: 1 ubuntu-last-cleanup: name: 🎯 final Ubuntu tests and cleanup runs-on: ubuntu-20.04 needs: [freebsd] steps: - uses: actions/checkout@v3 # - name: Install compiler and dependencies # run: | # sudo apt-get install -q -y make openssl wget fuse3 util-linux # sudo make -C portable download-deps-ubuntu20 # - name: Download tomb built on FreeBSD # uses: actions/download-artifact@v3 # with: # name: freebsd-test.tomb # path: portable # - name: Check integrity FreeBSD->Ubuntu # run: sudo make -C portable check-random-data # - name: delete FreeBSD tomb artifacts # uses: geekyeggo/delete-artifact@v2 # with: # name: freebsd-test.tomb - name: delete Ubuntu tomb artifacts uses: geekyeggo/delete-artifact@v2 with: name: ubuntu-test.tomb