File: RELEASE_CHECKLIST.md

package info (click to toggle)
incant 0.5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 30,640 kB
  • sloc: python: 1,730; sh: 35; makefile: 10; ruby: 1
file content (78 lines) | stat: -rw-r--r-- 1,428 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Release Checklist

## 1. Pre-Release Checks

- [ ] **Update dependencies:**
  ```bash
  poetry update
  ```

- [ ] **Run Code Quality Checks:**
  Ensure all linting and tests pass.
  ```bash
  # Run all tests and linters
  poetry run pytest
  poetry run ruff check incant
  poetry run mypy .
  poetry run bandit -r incant/
  poetry run typos
  ```

## 2. Version Bump

- [ ] **Update `pyproject.toml`:**
  Update the `version` field in `pyproject.toml`.
  ```bash
  # Example for 0.5
  poetry version 0.5
  ```

- [ ] **Update `debian/changelog`:**
  Add a new entry for the release.
  ```bash
  # Use dch (devscripts)
  dch -v 0.5 -D unstable "New upstream release."
  ```
  *Note: Ensure the version matches `pyproject.toml`.*

## 3. Commit and Tag

- [ ] **Commit changes:**
  ```bash
  git add pyproject.toml debian/changelog poetry.lock
  git commit -m "Release 0.5"
  ```

- [ ] **Tag the release:**
  ```bash
  git tag -a v0.5 -m "Release 0.5"
  ```

## 4. Build and Verify

- [ ] **Build Python Package:**
  ```bash
  poetry build
  ```

- [ ] **Build Debian Package:**
  ```bash
  dpkg-buildpackage -us -uc
  ```
  *Verify the built packages in the parent directory.*

## 5. Publish

- [ ] **Push to Git:**
  ```bash
  git push origin master --tags
  ```

- [ ] **Publish to PyPI:**
  ```bash
  poetry publish
  ```

- [ ] **Publish to Debian:**
   * Push to Salsa: `git push salsa master --tags`
   * Upload package