File: releasing.md

package info (click to toggle)
getmac 0.9.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 976 kB
  • sloc: python: 2,133; sh: 84; makefile: 23
file content (42 lines) | stat: -rw-r--r-- 1,379 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

## Requirements
**NOTE**: Linux is required to build the `.deb` package.

```bash
python -m pip install -U pip
pip install -U setuptools twine wheel
pip install -U stdeb
```

## Cutting a release
1. Increment version number in `getmac/getmac.py`
2. Update CHANGELOG header from UNRELEASED to the version and add the date
3. Run static analysis checks (`tox -e check`)
4. Run the test suite on the main supported platforms (`tox`)
    a) Windows
    b) Ubuntu
    c) CentOS
    d) OSX
5. Ensure a pip install from source works on the main platforms:
```bash
pip install https://github.com/ghostofgoes/getmac/archive/main.tar.gz
```
6. Clean the environment: `bash ./scripts/clean.sh`
7. Build the sdist and wheel (`.whl`)
```bash
python setup.py sdist bdist_wheel --universal
```
8. Upload the sdist and wheel (`.whl`)
```bash
twine upload dist/*
```
9. Build the Debian package
```bash
python setup.py --command-packages=stdeb.command bdist_deb
```
10. Create a tagged release on GitHub including:
    a) The relevant section of the CHANGELOG in the body
    b) The source and binary wheels
    c) The `.deb` package (which will be in `./deb_dist`)
11. Edit the package name in `setup.py` to `get-mac`, and re-run steps 7 and 8 (build and upload), since people apparently don't check their dependencies and ignore runtime warnings.
12. Announce the release in the normal places