Skip to content

Feat: add get stock info list usecase #45

Feat: add get stock info list usecase

Feat: add get stock info list usecase #45

Workflow file for this run

name: CI Pipeline
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write # Required to post comments on PRs
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
install: true
- name: Install Docker Compose
run: |
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
- name: Start Docker Compose services
run: |
docker-compose up -d
env:
COMPOSE_DOCKER_CLI_BUILD: 1
DOCKER_BUILDKIT: 1
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Install dependencies
run: |
uv pip install --system -r pyproject.toml --group dev
uv pip install --system pytest-cov # Ensure pytest-cov is installed
- name: Generate protobuf files
run: make generate
- name: Run tests
env:
PYTHONPATH: ./src
run: make test
- name: Post Coverage Comment
if: github.event_name == 'pull_request' # Only run on PRs
uses: actions/github-script@v6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
});
const botComment = comments.find(comment => comment.user.type === 'Bot' && comment.body.includes('**Total Test Coverage:**'));
const totalCoverage = process.env.total_coverage;
const commentBody = `**Total Test Coverage:** ${totalCoverage}%`;
if (botComment) {
await github.rest.issues.deleteComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: botComment.id,
});
}
await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: commentBody,
});
- name: Cleanup
if: always()
run: |
docker-compose down -v
rm -rf __pycache__ tests/__pycache__ coverage.out .coverage