repoworktree 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. repoworktree-0.1.0/.github/workflows/publish.yml +72 -0
  2. repoworktree-0.1.0/.gitignore +9 -0
  3. repoworktree-0.1.0/.specs/design.md +1007 -0
  4. repoworktree-0.1.0/.specs/requirements.md +128 -0
  5. repoworktree-0.1.0/.specs/tasks.md +73 -0
  6. repoworktree-0.1.0/CLAUDE.md +52 -0
  7. repoworktree-0.1.0/PKG-INFO +266 -0
  8. repoworktree-0.1.0/README.md +241 -0
  9. repoworktree-0.1.0/pyproject.toml +49 -0
  10. repoworktree-0.1.0/repoworktree/__init__.py +3 -0
  11. repoworktree-0.1.0/repoworktree/__main__.py +635 -0
  12. repoworktree-0.1.0/repoworktree/export.py +143 -0
  13. repoworktree-0.1.0/repoworktree/layout.py +341 -0
  14. repoworktree-0.1.0/repoworktree/metadata.py +180 -0
  15. repoworktree-0.1.0/repoworktree/promote.py +376 -0
  16. repoworktree-0.1.0/repoworktree/scanner.py +135 -0
  17. repoworktree-0.1.0/repoworktree/sync.py +152 -0
  18. repoworktree-0.1.0/repoworktree/worktree.py +174 -0
  19. repoworktree-0.1.0/repoworktree.egg-info/PKG-INFO +266 -0
  20. repoworktree-0.1.0/repoworktree.egg-info/SOURCES.txt +35 -0
  21. repoworktree-0.1.0/repoworktree.egg-info/dependency_links.txt +1 -0
  22. repoworktree-0.1.0/repoworktree.egg-info/entry_points.txt +2 -0
  23. repoworktree-0.1.0/repoworktree.egg-info/requires.txt +4 -0
  24. repoworktree-0.1.0/repoworktree.egg-info/top_level.txt +1 -0
  25. repoworktree-0.1.0/setup.cfg +4 -0
  26. repoworktree-0.1.0/tests/__init__.py +0 -0
  27. repoworktree-0.1.0/tests/conftest.py +226 -0
  28. repoworktree-0.1.0/tests/helpers.py +212 -0
  29. repoworktree-0.1.0/tests/test_export.py +126 -0
  30. repoworktree-0.1.0/tests/test_integration.py +408 -0
  31. repoworktree-0.1.0/tests/test_layout.py +215 -0
  32. repoworktree-0.1.0/tests/test_metadata.py +172 -0
  33. repoworktree-0.1.0/tests/test_promote.py +238 -0
  34. repoworktree-0.1.0/tests/test_scanner.py +105 -0
  35. repoworktree-0.1.0/tests/test_smoke.py +55 -0
  36. repoworktree-0.1.0/tests/test_sync.py +190 -0
  37. repoworktree-0.1.0/tests/test_worktree.py +184 -0
@@ -0,0 +1,72 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ permissions:
8
+ contents: read
9
+
10
+ jobs:
11
+ build:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ with:
16
+ fetch-depth: 0
17
+
18
+ - uses: actions/setup-python@v5
19
+ with:
20
+ python-version: "3.12"
21
+
22
+ - name: Install build tools
23
+ run: pip install build
24
+
25
+ - name: Build package
26
+ run: python -m build
27
+
28
+ - uses: actions/upload-artifact@v4
29
+ with:
30
+ name: dist
31
+ path: dist/
32
+
33
+ publish:
34
+ needs: build
35
+ runs-on: ubuntu-latest
36
+ environment: pypi
37
+ permissions:
38
+ id-token: write
39
+ steps:
40
+ - uses: actions/download-artifact@v4
41
+ with:
42
+ name: dist
43
+ path: dist/
44
+
45
+ - uses: pypa/gh-action-pypi-publish@release/v1
46
+
47
+ test:
48
+ runs-on: ubuntu-latest
49
+ strategy:
50
+ matrix:
51
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
52
+ steps:
53
+ - uses: actions/checkout@v4
54
+
55
+ - uses: actions/setup-python@v5
56
+ with:
57
+ python-version: ${{ matrix.python-version }}
58
+
59
+ - name: Install repo tool
60
+ run: |
61
+ mkdir -p ~/bin
62
+ curl -o ~/bin/repo https://storage.googleapis.com/git-repo-downloads/repo
63
+ chmod a+x ~/bin/repo
64
+ echo "$HOME/bin" >> $GITHUB_PATH
65
+ git config --global user.email "ci@test.com"
66
+ git config --global user.name "CI"
67
+
68
+ - name: Install package
69
+ run: pip install -e ".[test]"
70
+
71
+ - name: Run tests
72
+ run: pytest tests/ -v --timeout=600
@@ -0,0 +1,9 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *.egg-info/
4
+ dist/
5
+ build/
6
+ *.egg
7
+ .pytest_cache/
8
+ .tox/
9
+ .venv/