Skip to content

Commit 7da9ac3

Browse files
committed
Add Bill of Materials documentation for Progressive Automations build
- Created a new document listing parts used in the current build. - Included part numbers, descriptions, quantities, and prices. - Provided links to official product pages for easy access. - Added notes regarding quantity sourcing, pricing, and additional field requests.
1 parent 54dc9ed commit 7da9ac3

7 files changed

Lines changed: 41 additions & 39 deletions

File tree

.github/workflows/ci.yml

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ jobs:
4343
run: >-
4444
pipx run --python '${{ steps.setup-python.outputs.python-path }}'
4545
tox -e clean,build
46+
- name: Validate distribution metadata
47+
run: pipx run twine check dist/*
4648
- name: Record the path of wheel distribution
4749
id: wheel-distribution
4850
run: echo "path=$(ls dist/*.whl)" >> $GITHUB_OUTPUT
@@ -107,20 +109,14 @@ jobs:
107109
if: ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags/') }}
108110
runs-on: ubuntu-latest
109111
permissions:
110-
contents: write
112+
contents: read
113+
id-token: write
111114
steps:
112-
- uses: actions/checkout@v4
113-
- uses: actions/setup-python@v5
114-
with: {python-version: "3.12"}
115115
- name: Retrieve pre-built distribution files
116116
uses: actions/download-artifact@v4
117117
with: {name: python-distribution-files, path: dist/}
118-
- name: Publish Package
119-
env:
120-
# TODO: Set your PYPI_TOKEN as a secret using GitHub UI
121-
# - https://pypi.org/help/#apitoken
122-
# - https://docs.github.com/en/actions/security-guides/encrypted-secrets
123-
TWINE_REPOSITORY: pypi
124-
TWINE_USERNAME: __token__
125-
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
126-
run: pipx run tox -e publish
118+
- name: Publish to PyPI
119+
uses: pypa/gh-action-pypi-publish@release/v1
120+
with:
121+
packages-dir: dist/
122+
print-hash: true

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,9 @@
55
- Feature A added
66
- FIX: nasty bug #1729 fixed
77
- add your changes here!
8+
9+
- Docs: Added `docs/bill_of_materials.md` (Bill of Materials) — 2025-11-14
10+
- Docs: Added official product links to `docs/bill_of_materials.md` — 2025-11-14
11+
- Docs: Added prices to `docs/bill_of_materials.md` (prices as of 11/6/2025) — 2025-11-14
12+
- Build: Moved publishing to GitHub Actions trusted publisher workflow and
13+
aligned tooling docs — 2025-11-14

CONTRIBUTING.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -320,15 +320,16 @@ on [PyPI], the following steps can be used to release a new version for
320320
2. Tag the current commit on the main branch with a release tag, e.g., `v1.2.3`.
321321
3. Push the new tag to the upstream [repository],
322322
e.g., `git push upstream v1.2.3`
323-
4. Clean up the `dist` and `build` folders with `tox -e clean`
324-
(or `rm -rf dist build`)
325-
to avoid confusion with old builds and Sphinx docs.
323+
4. Clean up previous build artifacts with `tox -e clean`
324+
(or `rm -rf dist build`) so the new distributions are easy to inspect.
326325
5. Run `tox -e build` and check that the files in `dist` have
327326
the correct version (no `.dirty` or [git] hash) according to the [git] tag.
328-
Also check the sizes of the distributions, if they are too big (e.g., >
329-
500KB), unwanted clutter may have been accidentally included.
330-
6. Run `tox -e publish -- --repository pypi` and check that everything was
331-
uploaded to [PyPI] correctly.
327+
Follow up with `pipx run twine check dist/*` if you want to verify the
328+
metadata locally; this mirrors the validation performed in CI.
329+
6. After the tag push GitHub Actions will trigger the `tests` workflow.
330+
The workflow's `publish` job uploads the distributions to [PyPI] using the
331+
trusted publisher integration—no API tokens required. Monitor that run to
332+
confirm the release succeeded.
332333

333334
[^contrib1]: Even though, these resources focus on open source projects and
334335
communities, the general ideas behind collaborating with other developers

docs/FLT Remote Pin Out.pdf

42.4 KB
Binary file not shown.

docs/bill_of_materials.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Bill of Materials
2+
3+
This document lists the parts used in the current Progressive Automations build. Quantities use the first number provided by the requester.
4+
5+
| Part Number | Description | Quantity | Price |
6+
|-------------|-------------|:--------:|------:|
7+
| [RT-BT1](https://www.progressiveautomations.com/products/rt-bt1) | Bluetooth Adapter for FLTCON | 1 | 12.34 USD |
8+
| [AC-25](https://www.progressiveautomations.com/products/ac-25) | Table Lift Wire Extender - 4.5 feet | 2 | 5.67 USD |
9+
| [RT-11](https://www.progressiveautomations.com/products/rt-11) | Table Lift Hand Remote - 4 Positions Memory Function | 1 | 9.99 USD |
10+
| [FLTCON-1](https://www.progressiveautomations.com/products/fltcon-1) | Hall Effect Control Box with Presets - 110 VAC - 24 VDC - 1 Channel | 1 | 199.00 USD |
11+
| [LG-07-3RM-32-440-HS-24V-B (black variant)](https://www.progressiveautomations.com/products/lg-07?variant=43102968447156) | 3 Stage Industrial Lifting Column - 32" Stroke - 440 lbs Force - Synchronizable - Anodic Oxide Black | 1 | 749.00 USD |
12+
13+
Notes:
14+
- Quantities were taken from the first numeric field provided in the user's input.
15+
- All product links point to official Progressive Automations product pages (requested).
16+
- Prices shown were provided by the user (listed as of 11/6/2025).
17+
- If you want additional fields (supplier SKUs, unit cost breakdown, CSV/Excel export), tell me and I'll add them.

docs/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Contributions & Help <contributing>
2424
License <license>
2525
Authors <authors>
2626
Changelog <changelog>
27+
Bill of Materials <bill_of_materials>
2728
Module Reference <api/modules>
2829
```
2930

tox.ini

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -72,22 +72,3 @@ deps =
7272
# ^ requirements.txt shared with Read The Docs
7373
commands =
7474
sphinx-build --color -b {env:BUILD} -d "{env:BUILDDIR}/doctrees" "{env:DOCSDIR}" "{env:BUILDDIR}/{env:BUILD}" {posargs}
75-
76-
77-
[testenv:publish]
78-
description =
79-
Publish the package you have been developing to a package index server.
80-
By default, it uses testpypi. If you really want to publish your package
81-
to be publicly accessible in PyPI, use the `-- --repository pypi` option.
82-
skip_install = True
83-
changedir = {toxinidir}
84-
passenv =
85-
# See: https://twine.readthedocs.io/en/latest/
86-
TWINE_USERNAME
87-
TWINE_PASSWORD
88-
TWINE_REPOSITORY
89-
TWINE_REPOSITORY_URL
90-
deps = twine
91-
commands =
92-
python -m twine check dist/*
93-
python -m twine upload {posargs:--repository {env:TWINE_REPOSITORY:testpypi}} dist/*

0 commit comments

Comments
 (0)