Add GitHub Actions CI pipeline for automated testing - #14
Conversation
Co-authored-by: rijesha <7819200+rijesha@users.noreply.github.com>
Co-authored-by: rijesha <7819200+rijesha@users.noreply.github.com>
Co-authored-by: rijesha <7819200+rijesha@users.noreply.github.com>
Co-authored-by: rijesha <7819200+rijesha@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
This PR adds GitHub Actions continuous integration to automatically run the test suite on every push and pull request to the main branch. The changes also document the CI setup in the README.
- Adds a GitHub Actions workflow that runs the complete test suite with Python 3.11 and Node.js 20
- Documents the CI pipeline, including what it does and how to access test results
- Configures artifact uploads for generated code and binary files with 5-day retention
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/workflows/test.yml |
New GitHub Actions workflow that installs dependencies and runs the full test suite |
README.md |
Adds "Continuous Integration" section documenting the CI pipeline and artifact retention |
| 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`) |
There was a problem hiding this comment.
The documentation states the CI runs python test_all.py, but according to the repository structure and coding guidelines, the correct command should be python3 test_all.py for consistency with other Python commands used throughout the project (e.g., line 20: PYTHONPATH=src python3 src/main.py).
| python -m pip install --upgrade pip | ||
| pip install proto-schema-parser structured-classes | ||
|
|
||
| - name: Install Node.js dependencies | ||
| run: npm ci | ||
|
|
||
| - name: Run test suite | ||
| run: python test_all.py |
There was a problem hiding this comment.
The workflow uses python instead of python3. While this may work on ubuntu-latest where python is aliased to Python 3, it's inconsistent with the repository's documented commands and could cause issues if the alias is not present. Should use python3 test_all.py or explicitly use python3 -m pattern for consistency.
| python -m pip install --upgrade pip | |
| pip install proto-schema-parser structured-classes | |
| - name: Install Node.js dependencies | |
| run: npm ci | |
| - name: Run test suite | |
| run: python test_all.py | |
| python3 -m pip install --upgrade pip | |
| pip3 install proto-schema-parser structured-classes | |
| - name: Install Node.js dependencies | |
| run: npm ci | |
| - name: Run test suite | |
| run: python3 test_all.py |
Adds automated test execution on commits and PRs to main branch.
Changes
CI Workflow (
.github/workflows/test.yml)mainand PRs targetingmainpython test_all.pycontents: read)Documentation (
README.md)Test Coverage
The pipeline validates:
Test results and artifacts are accessible via the Actions tab after each run.
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.