CI: dry-run make targets + Python 3.12 tests; Makefile refactors#48
CI: dry-run make targets + Python 3.12 tests; Makefile refactors#48
Conversation
… build-docker, push-docker, deploy-image Prevents subshell splitting that caused: /bin/sh: Syntax error: end of file unexpected (expecting "fi").
…\n\nSimplifies multi-line recipes and prevents subshell splitting issues in if/else blocks.
…d, push, deploy\n\n- build-docker: select target image via Make conditional\n- push-docker: guard placeholder project via Make conditional branch\n- deploy-image: ditto, with clean branch for deploy commands\n\nThis removes reliance on shell multiline blocks and works with .ONESHELL.
…s\n\n- setup-gcp-infra: placeholder guard via Make conditional\n- upload-resources, download-resources: same pattern\n\nEnsures recipes are robust with .ONESHELL and free of brittle line continuations.
…s Makefile syntax regressions without executing builds or deployments.
…n- CI tests use setup-python with python-version-file\n- Dockerfile uses ARG PYTHON_VERSION and defaults to 3.12\n- Makefile passes PYTHON_VERSION as build-arg (reads .python-version)\n\nKeeps DevContainer, CI, and Docker aligned on 3.12.
|
Claude finished @xCatG's task —— View job PR Review: CI dry-run + Python 3.12 + Makefile refactorsTodo List:
SummaryThis is a solid PR that significantly improves the build system robustness and CI coverage. The changes address real issues with shell handling in Make and add valuable automation. Detailed Review✅ Strengths
|
…g\n\nUse actions/setup-python with a computed PY_VER (default 3.12) to avoid failures when .python-version is not tracked.
|
Claude finished @xCatG's task —— View job PR Review: CI dry-run + Python 3.12 + Makefile refactorsTodo List:
SummaryThis PR delivers excellent improvements to the build system robustness and CI infrastructure. The Makefile refactoring addresses critical shell handling issues, and the new CI workflows provide valuable safety nets. However, there are a few blocking issues that must be addressed before merging. Detailed Analysis✅ Major Strengths1. Makefile Shell Handling (Critical Fix)
2. CI Coverage & Testing
3. Docker Parameterization
🚨 Critical Issues (Must Fix Before Merge)1. Missing .python-version File# Line 31 in Makefile
PYTHON_VERSION ?= $(shell cat .python-version 2>/dev/null || echo 3.12)
2. GitHub Actions Cache Key Issue# Lines 32-36 in python-tests.yml
key: ${{ runner.os }}-pip-${{ hashFiles('src/python/requirements-all.txt', 'src/python/requirements.txt', 'src/python/requirements-test.txt', 'src/python/requirements-dev.txt') }}
|
…filters\n\n- Avoid duplicate runs on PR branches\n- Cancel superseded runs on same PR/ref\n- Limit runs to relevant file changes
|
Claude finished @xCatG's task —— View job PR Review: CI dry-run + Python 3.12 + Makefile refactorsTodo List:
SummaryThis PR delivers excellent improvements to the build system robustness and CI infrastructure. The Makefile refactoring addresses critical shell handling issues, and the new CI workflows provide valuable safety nets. However, there are blocking issues that must be addressed before merging. Detailed Analysis✅ Major Strengths1. Makefile Shell Handling (Critical Fix)
2. CI Coverage & Testing
3. Docker Parameterization
🚨 Critical Issues (Must Fix Before Merge)1. Missing .python-version File# Line 31 in Makefile
PYTHON_VERSION ?= $(shell cat .python-version 2>/dev/null || echo 3.12)
2. Cache Key Issue in python-tests.yml# Lines 49-50 in python-tests.yml
key: ${{ runner.os }}-pip-${{ hashFiles('src/python/requirements-all.txt', 'src/python/requirements.txt', 'src/python/requirements-test.txt', 'src/python/requirements-dev.txt') }}
|
…tags\n\n- Split workflows to avoid duplication and clarify intent\n- Preserve Python 3.12 version resolution with fallback
|
Claude finished @xCatG's task —— View job PR Review: CI dry-run + Python 3.12 + Makefile refactorsTodo List:
SummaryThis PR delivers excellent improvements to the build system robustness and CI infrastructure. The Makefile refactoring addresses critical shell handling issues, and the new CI workflows provide valuable safety nets. However, there are blocking issues that must be addressed before merging. Detailed Analysis✅ Major Strengths1. Makefile Shell Handling (Critical Fix)
2. CI Coverage & Testing
3. Docker Parameterization
🚨 Critical Issues (Must Fix Before Merge)1. Missing .python-version File# Line 31 in Makefile
PYTHON_VERSION ?= $(shell cat .python-version 2>/dev/null || echo 3.12)
2. Cache Key Issue in GitHub Actions# Lines 41, 43 in python-tests.yml and python-tests-full.yml
key: ${{ runner.os }}-pip-${{ hashFiles('src/python/requirements-all.txt', 'src/python/requirements.txt', 'src/python/requirements-test.txt', 'src/python/requirements-dev.txt') }}
|
…to truly centralize Python version (3.12)\n- Tighten pip cache key with requirements*.txt glob\n- Add job timeouts\n- Simplify dry-run workflow by removing setup-python step (faster)
|
Claude finished @xCatG's task —— View job PR Review: CI dry-run + Python 3.12 + Makefile refactorsTodo List:
SummaryThis is an excellent PR that significantly improves the build system robustness and CI infrastructure. The changes address critical shell handling issues in the Makefile and provide valuable automation safety nets. The Python version centralization and CI workflows are well-designed. 🎯 Major Strengths1. Makefile Shell Handling (Critical Fix) ✅
2. CI Coverage & Testing Infrastructure ✅
3. Python Version Centralization ✅
🔧 Code Quality AnalysisSecurity Review 🔐
Performance Analysis 📊
Best Practices Compliance 📋
📝 Detailed Technical ReviewGitHub Actions Workflows
|
|
review from @copilot Here's a seasoned DevOps engineer's perspective on the setup changes in this PR: 1. CI Workflows:
2. Makefile Refactors:
3. Other Improvements:
Summary
If I were reviewing this PR:
If you want a detailed code-level breakdown or have specific concerns about any part, let me know! |
This PR:
Please review and merge if green.