diff --git a/.github/actions/test-transfer/Dockerfile b/.github/actions/test-transfer/Dockerfile index b297bc7..aaf8299 100644 --- a/.github/actions/test-transfer/Dockerfile +++ b/.github/actions/test-transfer/Dockerfile @@ -1,8 +1,10 @@ -# Container image that runs your code +# Not used by Github action, but can be used to run test locally: +# 1. docker build -t aquatic ./path/to/Dockerfile +# 2. docker run aquatic +# 3. On failure, run `docker rmi aquatic -f` and go back to step 1 + FROM rust:bullseye -# Copies your code file from your action repository to the filesystem path `/` of the container COPY entrypoint.sh /entrypoint.sh -# Code file to execute when the docker container starts up (`entrypoint.sh`) ENTRYPOINT ["/entrypoint.sh"] \ No newline at end of file diff --git a/.github/actions/test-transfer/action.yml b/.github/actions/test-transfer/action.yml index 2520a97..aa5afef 100644 --- a/.github/actions/test-transfer/action.yml +++ b/.github/actions/test-transfer/action.yml @@ -10,5 +10,7 @@ outputs: wss_ipv4: description: 'WSS IPv4 status' runs: - using: 'docker' - image: 'Dockerfile' \ No newline at end of file + using: 'composite' + steps: + - run: $GITHUB_ACTION_PATH/entrypoint.sh + shell: bash \ No newline at end of file diff --git a/.github/actions/test-transfer/entrypoint.sh b/.github/actions/test-transfer/entrypoint.sh index 77fd0ad..1cdc7b0 100755 --- a/.github/actions/test-transfer/entrypoint.sh +++ b/.github/actions/test-transfer/entrypoint.sh @@ -5,11 +5,6 @@ # # IPv6 is unfortunately disabled by default in Docker # (see sysctl net.ipv6.conf.lo.disable_ipv6) -# -# When testing locally, use: -# 1. docker build -t aquatic ./path/to/Dockerfile -# 2. docker run aquatic -# 3. On failure, run `docker rmi aquatic -f` and go back to step 1 set -e @@ -21,6 +16,8 @@ else SUDO="" fi +ulimit -a + $SUDO apt-get update $SUDO apt-get install -y cmake libssl-dev screen rtorrent mktorrent ssl-cert ca-certificates curl golang @@ -43,6 +40,9 @@ else cd "$GITHUB_WORKSPACE" fi +echo "last aquatic commits:" +git log --oneline -3 + # Setup bogus TLS certificate $SUDO echo "127.0.0.1 example.com" >> /etc/hosts diff --git a/.github/workflows/cargo-build-and-test.yml b/.github/workflows/cargo-build-and-test.yml index 4e9b66e..53f6721 100644 --- a/.github/workflows/cargo-build-and-test.yml +++ b/.github/workflows/cargo-build-and-test.yml @@ -11,9 +11,8 @@ env: jobs: build: - runs-on: ubuntu-latest - + timeout-minutes: 10 steps: - uses: actions/checkout@v2 - name: Build diff --git a/.github/workflows/test-transfer.yml b/.github/workflows/test-transfer.yml index 97a4f91..2679356 100644 --- a/.github/workflows/test-transfer.yml +++ b/.github/workflows/test-transfer.yml @@ -10,9 +10,13 @@ jobs: test-transfer-http: runs-on: ubuntu-latest name: "Test BitTorrent file transfer over HTTP (with and without TLS), UDP and WSS" + timeout-minutes: 20 + container: + image: rust:1-bullseye + options: --ulimit memlock=524288:524288 steps: - name: Checkout uses: actions/checkout@v2 - name: Test file transfers uses: ./.github/actions/test-transfer - id: test_transfer \ No newline at end of file + id: test_transfer