diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 416398b..55eb4c8 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -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 diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py index 505edfb..6ed74dc 100644 --- a/tests/integration/conftest.py +++ b/tests/integration/conftest.py @@ -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: diff --git a/tests/integration/test_tcp_server.py b/tests/integration/test_tcp_server.py index b23a30f..a2824f9 100644 --- a/tests/integration/test_tcp_server.py +++ b/tests/integration/test_tcp_server.py @@ -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()