2022-11-14 10:51:04 +00:00
|
|
|
name: ☠️ Portable tomb
|
2022-11-13 23:25:58 +00:00
|
|
|
on:
|
|
|
|
push:
|
|
|
|
paths:
|
|
|
|
- 'portable/**'
|
|
|
|
- '.github/workflows/portable.yml'
|
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
pull_request:
|
2022-11-14 10:51:04 +00:00
|
|
|
paths:
|
|
|
|
- 'portable/**'
|
|
|
|
- '.github/workflows/portable.yml'
|
2022-11-13 23:25:58 +00:00
|
|
|
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 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
|