Migrate to SDLC standards (UV + sdlc@3 + codeartifact@3)#54
Closed
franciscofabian wants to merge 1 commit into
Closed
Migrate to SDLC standards (UV + sdlc@3 + codeartifact@3)#54franciscofabian wants to merge 1 commit into
franciscofabian wants to merge 1 commit into
Conversation
- Convert setup.py/setup.cfg + partial pyproject.toml to PEP 621 pyproject.toml - Pin parquery==2.0.6 (matched setup.py; pyproject had stale 2.0.2) - Drop pyarrow direct dep (pulled transitively via parquery) - Drop codacy-coverage from test deps - Add uv.lock with CodeArtifact private index - __version__ via importlib.metadata - CircleCI: sdlc@3 + codeartifact@3, run-tests-with-coverage with --ignore for test_move_parquet.py + test_simple_rpc.py, PARQUERYD_DATA_DIR=/tmp/parquet/ env setup, publish-rc on master/main, approval-gated create-release-branch, publish-release on release/*, opt-in publish-dev on feature branches - Pre-commit hooks (ADR-4): ruff, bandit, branch-name, uv-lock - ruff config moved from pyproject.toml to standalone ruff.toml - .github/workflows: validate-pr + pr-jira-footer - .coveragerc, Makefile (kebab-case, help target)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
setup.py/setup.cfg(and the partial pyproject.toml) to a full PEP 621pyproject.tomlparquery==2.0.6(setup.pyhad2.0.6, the partial pyproject had stale2.0.2)pyarrowdep (pulled transitively viaparquery)codacy-coveragefrom the test group (replaced bysdlc/run-tests-with-coverage)uv.lock(65 packages resolved against CodeArtifact private index)__version__now resolved viaimportlib.metadata(drops thePRE_RELEASE_VERSIONenv-var fallback)sdlc@3+codeartifact@3orbs; full SDLC flow:test→ approval →publish-dev(X.Y.Z.devN)test→publish-rc(X.Y.ZrcN) → approval →create-release-branchtest→publish-release(X.Y.TIMESTAMP) +create-git-releasesdlc/run-tests-with-coveragepreserves the existing test exclusions (test_move_parquet.py,test_simple_rpc.py) viaextra-pytest-args, setsPARQUERYD_DATA_DIR=/tmp/parquet/before runningruff,bandit, branch-name validator,uv-lockauto-updateruffconfig moved frompyproject.toml→ standaloneruff.toml(per ADR-4).github/workflows:validate.yml(PR validation) +pr-jira-footer.yml.coveragerc,Makefile(kebab-case targets + defaulthelptarget)Verification
uv lockresolves cleanly (65 packages)uv buildproduces wheel + sdistcircleci config validatepassesmake helpprints the target listNotes
py311-x86(with coverage) andpy311-arm64(smoke test) in parallel. The SDLCsdlc/pythonexecutor is amd64-only. If cross-arch validation is needed, we can add a sidecar job usingcimg/python:3.11onarm.medium.validate.ymlGitHub Action callsvisualfabriq/.github/.github/workflows/validate-pr.yml@main, which is a private reusable workflow — public repos can't currently consume it (same situation as parquery PR Py3.11 #45). Either deletevalidate.ymlor open up access on the.githubrepo. CircleCI'ssdlc/validate-commit-formatcovers commit-format validation regardless.PR_TITLE/PR_BODYfor the squash commit, branch protection onmaster) need to be set manually via Settings → General if not already done.2.0.2rc1(latest published is2.0.1, no timestamp). After the firstpublish-releaseon a release branch publishes a timestamp version, subsequent rc/dev versions will inherit the timestamp.Test plan
testjob runs and passes on this PR (the two known-flaky tests are still ignored)master:publish-rcpublishes2.0.2rc1to CodeArtifactcreate-release-branchpublish-releasepublishes the timestamped final + GH release with assetsjira: FOUN