Fix CI tests and speed up integration tests
- Speed up simulation 10x for integration tests (reduces test time from 10+ minutes to ~2.5 minutes) - Add small delays between TCP commands in tests for reliability - Fix Gitea CI release job (use gitea.ref instead of github.ref) - Revert write() error-check that was consuming query responses 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -72,7 +72,7 @@ jobs:
|
||||
release:
|
||||
name: Release
|
||||
needs: [lint, typecheck, test]
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
if: startsWith(gitea.ref, 'refs/tags/v')
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -90,8 +90,20 @@ jobs:
|
||||
- name: Build package
|
||||
run: python -m build
|
||||
|
||||
- name: Create Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
files: dist/*
|
||||
generate_release_notes: true
|
||||
- name: Upload Release Assets
|
||||
run: |
|
||||
# Create release using Gitea API
|
||||
TAG_NAME=${GITEA_REF#refs/tags/}
|
||||
curl -X POST \
|
||||
-H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"tag_name\": \"${TAG_NAME}\", \"name\": \"${TAG_NAME}\", \"body\": \"Release ${TAG_NAME}\"}" \
|
||||
"${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}/releases" || true
|
||||
|
||||
# Upload dist files
|
||||
for file in dist/*; do
|
||||
curl -X POST \
|
||||
-H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \
|
||||
-F "attachment=@${file}" \
|
||||
"${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}/releases/tags/${TAG_NAME}/assets?name=$(basename ${file})" || true
|
||||
done
|
||||
|
||||
@@ -125,6 +125,10 @@ def simulation_server() -> Generator[ServerConfig, None, None]:
|
||||
server_thread = ServerThread(config)
|
||||
server_thread.start()
|
||||
|
||||
# Speed up simulation for tests (10x faster)
|
||||
if server_thread.server is not None:
|
||||
server_thread.server.time_scale = 10.0
|
||||
|
||||
try:
|
||||
yield config
|
||||
finally:
|
||||
|
||||
@@ -73,6 +73,8 @@ class TestInstrumentServer:
|
||||
# Set temperature setpoint
|
||||
writer.write(b"TEMP:SETPOINT 85.0\n")
|
||||
await writer.drain()
|
||||
# Small delay to ensure server processes command before next one
|
||||
await asyncio.sleep(0.01)
|
||||
|
||||
# Query setpoint
|
||||
writer.write(b"TEMP:SETPOINT?\n")
|
||||
@@ -212,6 +214,7 @@ class TestSimulationServer:
|
||||
psu_r, psu_w = await asyncio.open_connection("127.0.0.1", 16201)
|
||||
psu_w.write(b"VOLT 5.0\n")
|
||||
await psu_w.drain()
|
||||
await asyncio.sleep(0.01) # Allow server to process
|
||||
psu_w.write(b"OUTP ON\n")
|
||||
await psu_w.drain()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user