Skip to content

Conversation

@sunitj
Copy link
Owner

@sunitj sunitj commented Aug 8, 2025

This commit adds a basic CI/CD pipeline using GitHub Actions. The workflow is defined in .github/workflows/ci.yml and it includes the following steps:

  • Triggers on push to main and pull requests to main.
  • Sets up a Python environment.
  • Installs Poetry and project dependencies.
  • Runs ruff to lint the code.
  • Runs a smoke test to ensure the Streamlit app can be started.

This commit adds a basic CI/CD pipeline using GitHub Actions.
The workflow is defined in `.github/workflows/ci.yml` and it includes the following steps:
- Triggers on push to `main` and pull requests to `main`.
- Sets up a Python environment.
- Installs Poetry and project dependencies.
- Runs `ruff` to lint the code.
- Runs a smoke test to ensure the Streamlit app can be started.
This commit updates the CI workflow to use the latest versions of the following GitHub Actions:
- `actions/checkout` from v3 to v4
- `actions/setup-python` from v2 to v5
- `actions/cache` from v2 to v4

This resolves the issue with the deprecated `actions/cache@v2`.
@sunitj sunitj requested a review from Copilot August 8, 2025 01:38
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds a basic CI/CD pipeline using GitHub Actions to automate code quality checks and testing. The workflow ensures code quality through linting and verifies the Streamlit application can start successfully.

  • Adds GitHub Actions workflow for continuous integration
  • Implements code linting with ruff
  • Includes smoke testing for Streamlit app startup

This commit incorporates feedback from the code review:
- The smoke test now uses `timeout` for a more reliable execution.
- The `--server.headless true` flag is added to the streamlit command for CI environments.
- The `snok/install-poetry` action is pinned to a specific version (`v1.3.4`) for better reproducibility.
The `timeout` command exits with code 124 when the process is terminated. This was causing the smoke test step to fail.

This commit updates the smoke test command to treat exit code 124 as a success, ensuring the CI pipeline doesn't fail when the timeout works as expected.
@sunitj sunitj merged commit c8c6271 into main Aug 8, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants