name: CI
permissions:
contents: read
on:
push:
branches:
- dev
jobs:
setup_integration_tests_env:
name: Setup Integration Tests Env.
runs-on: ubuntu-latest
steps:
- uses: cargo-bins/cargo-binstall@main
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Export PRIV_KEY
run: echo "PRIV_KEY=${{ secrets.PRIV_KEY }}" >> $GITHUB_ENV
- name: Install OpenVPN
run: |
sudo apt-get update
sudo apt-get install -y openvpn
- name: Setup OpenVPN
run: |
echo "${{ secrets.OVPN_CONFIG }}" > client.ovpn
sudo openvpn --config client.ovpn --daemon
sleep 5
- name: Run Integration Tests
run: cargo test --lib --tests -- --nocapture
- name: Cleanup OpenVPN
if: always()
run: |
sudo killall openvpn || true