Skip to content

Expose API to internet + verify features #47

Expose API to internet + verify features

Expose API to internet + verify features #47

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
rustfmt:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Check formatting
run: cargo fmt --all --check
build:
runs-on: self-hosted
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
shared-key: "build-cache"
- name: cargo build without flags
run: cargo build
- name: cargo check warnings
run: RUSTFLAGS="-D warnings" cargo check
- name: Run tests
run: |
# Compile tests
echo "Compiling tests..."
cargo test --no-run
# Get binary path
BINARY_PATH=$(cargo test --no-run 2>&1 | grep -oP "target/debug/deps/TeeService-[a-z0-9]+(?!\.d)" | head -n1)
# Debug output
echo "Found binary path: $BINARY_PATH"
# Check if binary was found
if [ -n "$BINARY_PATH" ]; then
echo "Running binary with sudo..."
# Run binary with sudo
sudo ./"$BINARY_PATH"
# else output error
else
echo "Error: Binary not found in cargo output"
exit 1
fi