on: pull_request_review: types: [submitted] push: workflow_dispatch: pull_request_target: types: [labeled] name: Integration Tests jobs: proxy_tests: name: Proxy Tests runs-on: ubuntu-latest if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'safe to test') steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - uses: actions-rs/cargo@v1 with: command: test args: --no-run - name: Populate .env env: DOTENV: ${{ secrets.DOTENV }} run: echo "$DOTENV" > .env - name: Set up runner SSH key run: >- set -o allexport && source .env && set +o allexport && mkdir ~/.ssh && echo "$TEST_SERVER_PRIVATE_SSH_KEY" > ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa - name: Run tests run: >- set -o allexport && source .env && set +o allexport && ssh -N -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -D 1080 "$TEST_SERVER_SSH_DST" & while ! nc -z 127.0.0.1 1080; do sleep 1; done && sudo -E /home/runner/.cargo/bin/cargo test