mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-26 15:38:45 -07:00
79 lines
2.5 KiB
YAML
79 lines
2.5 KiB
YAML
# Disabled template. GitHub ignores files outside .github/workflows/.
|
|
# Move this file to .github/workflows/endpoint-contract.yml when it should run.
|
|
name: Endpoint Contract
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
endpoint-contract:
|
|
runs-on: ubuntu-latest
|
|
|
|
env:
|
|
ASPNETCORE_ENVIRONMENT: Development
|
|
ASPNETCORE_URLS: http://127.0.0.1:18080
|
|
Database__Provider: sqlite
|
|
Database__SqlitePath: ${{ runner.temp }}/dorknet-endpoint-contract.db
|
|
DORKNET_JWT_SECRET: endpoint-contract-secret-000000000000000000000000000000000000000000
|
|
S3__Endpoint: ""
|
|
S3__AccessKey: ""
|
|
S3__SecretKey: ""
|
|
PROTOBUF_PROTOC: /usr/bin/protoc
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: 9.0.x
|
|
|
|
- name: Install protobuf compiler
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y protobuf-compiler
|
|
|
|
- name: Build server
|
|
run: dotnet build DorkNet.Server/DorkNet.Server.csproj
|
|
|
|
- name: Build endpoint contract runner
|
|
run: dotnet build tools/DorkNet.EndpointContract/DorkNet.EndpointContract.csproj --no-restore
|
|
|
|
- name: Start server
|
|
run: |
|
|
dotnet DorkNet.Server/bin/Debug/net9.0/DorkNet.Server.dll > "$RUNNER_TEMP/dorknet-server.log" 2>&1 &
|
|
echo "$!" > "$RUNNER_TEMP/dorknet-server.pid"
|
|
|
|
- name: Wait for server readiness
|
|
run: |
|
|
for attempt in {1..60}; do
|
|
if curl --fail --silent http://127.0.0.1:18080/healthz; then
|
|
exit 0
|
|
fi
|
|
sleep 2
|
|
done
|
|
cat "$RUNNER_TEMP/dorknet-server.log"
|
|
exit 1
|
|
|
|
- name: Run endpoint contract
|
|
run: |
|
|
dotnet run --project tools/DorkNet.EndpointContract/DorkNet.EndpointContract.csproj --no-build -- \
|
|
--server-assembly DorkNet.Server/bin/Debug/net9.0/DorkNet.Server.dll \
|
|
--base-url http://127.0.0.1:18080 \
|
|
--report "$RUNNER_TEMP/endpoint-contract-report.json"
|
|
|
|
- name: Upload endpoint contract artifacts
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: endpoint-contract
|
|
path: |
|
|
${{ runner.temp }}/endpoint-contract-report.json
|
|
${{ runner.temp }}/dorknet-server.log
|
|
|
|
- name: Stop server
|
|
if: always()
|
|
run: |
|
|
if [ -f "$RUNNER_TEMP/dorknet-server.pid" ]; then
|
|
kill "$(cat "$RUNNER_TEMP/dorknet-server.pid")" || true
|
|
fi
|