From 4e5982eb4ce88a42d7723cfecb07786639a344c0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:06:51 +0000 Subject: [PATCH 1/5] Initial plan From 381c1afbf049606785065fea9a02ce8c9372d96a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:10:22 +0000 Subject: [PATCH 2/5] Add GitHub Actions workflow for testing pipeline Co-authored-by: rijesha <7819200+rijesha@users.noreply.github.com> --- .github/workflows/test.yml | 54 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..a07d5f9f --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,54 @@ +name: Test Suite + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + test: + name: Run Test Suite + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Install system dependencies + run: | + sudo apt-get update + sudo apt-get install -y gcc g++ build-essential + + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install proto-schema-parser structured-classes + + - name: Install Node.js dependencies + run: npm install + + - name: Run test suite + run: python test_all.py + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v4 + with: + name: test-results + path: | + tests/generated/ + tests/c/*.bin + tests/cpp/*.bin + tests/py/*.bin + retention-days: 5 From 8f7edbd24e61196f9c04524deae5961dda310781 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:11:20 +0000 Subject: [PATCH 3/5] Add CI pipeline documentation to README Co-authored-by: rijesha <7819200+rijesha@users.noreply.github.com> --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index 9eafc832..322fe520 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,22 @@ python tests/run_tests.py --generate-only See `tests/README.md` for detailed test documentation. +### Continuous Integration + +The project uses GitHub Actions to automatically run the full test suite on: +- Every push to the `main` branch +- Every pull request targeting the `main` branch + +The CI pipeline: +1. Sets up Python 3.11 and Node.js 20 +2. Installs system dependencies (GCC, G++) +3. Installs Python dependencies (proto-schema-parser, structured-classes) +4. Installs Node.js dependencies +5. Runs the complete test suite (`python test_all.py`) +6. Uploads test artifacts for debugging + +You can view test results in the "Actions" tab of the GitHub repository. Test artifacts (generated code and binary files) are available for download for 5 days after each run. + ## Framing System Struct Frame provides a message framing system for reliable communication over serial links, network sockets, or any byte stream. Framing solves the fundamental problem of determining where messages begin and end in a continuous data stream. From ea9779e82fe53201404ffe2017f018f4492994c1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:12:41 +0000 Subject: [PATCH 4/5] Use npm ci for faster and more reliable CI builds Co-authored-by: rijesha <7819200+rijesha@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a07d5f9f..41e67dcb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -36,7 +36,7 @@ jobs: pip install proto-schema-parser structured-classes - name: Install Node.js dependencies - run: npm install + run: npm ci - name: Run test suite run: python test_all.py From f8ccc27e7c856726f60828c913a96560cc2b3c13 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:13:48 +0000 Subject: [PATCH 5/5] Add explicit permissions to GitHub Actions workflow for security Co-authored-by: rijesha <7819200+rijesha@users.noreply.github.com> --- .github/workflows/test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 41e67dcb..3a63760d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,6 +11,9 @@ jobs: name: Run Test Suite runs-on: ubuntu-latest + permissions: + contents: read + steps: - name: Checkout code uses: actions/checkout@v4