Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,8 @@ max_line_length = 88
[*.svg]
max_line_length = 120

[*.kicad_mod]
indent_style = tab

[Makefile]
indent_style = tab
41 changes: 41 additions & 0 deletions .github/workflows/build-pcb.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: build-pcb

on: [pull_request, push]

jobs:
build-pcb:
runs-on: ubuntu-20.04

steps:
- name: Checkout
uses: actions/checkout@v4
with:
lfs: true

- name: Checkout LFS objects
run: git lfs checkout

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 -
poetry --version

- name: Install dependencies
run: poetry install --no-interaction

- name: Build PCBs
uses: sethfischer/atopile-action@main
with:
path: src/osr_elec/

- name: Upload PCB artifacts
uses: actions/upload-artifact@v4
with:
name: pcb-build
path: src/osr_elec/build/
if-no-files-found: error
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
.mypy_cache
.pytest_cache
.venv
.vscode/
/_build
/dist
/docs/_build
Expand Down
5 changes: 4 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
sethfischer/rover
=================

|build-status| |lint-status| |test-status| |docs-status| |linkcheck-status|
|build-status| |lint-status| |test-status| |docs-status| |linkcheck-status| |build-pcb-status|


Quarter-scale Mars rover based on the NASA Mars 2020 Mission Perseverance Rover.
Expand Down Expand Up @@ -47,3 +47,6 @@ License
.. |linkcheck-status| image:: https://github.com/sethfischer/rover/actions/workflows/linkcheck.yml/badge.svg
:target: https://github.com/sethfischer/rover/actions/workflows/linkcheck.yml
:alt: Link Check Status
.. |build-pcb-status| image:: https://github.com/sethfischer/rover/actions/workflows/build-pcb.yml/badge.svg
:target: https://github.com/sethfischer/rover/actions/workflows/build-pcb.yml
:alt: PCB build status
9 changes: 8 additions & 1 deletion docs/build-release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ Prerequisites
* `Python`_ >=3.11, and python-venv.
* `Poetry`_ for Python dependency management.
* `Mayo 3D CAD viewer and converter`_ for exporting PNG images.
* `KiCad EDA`_ v8 (a dependency of `atopile`_) for building PCB manufacturing files.
- ``KICAD8_3D_MODEL_DIR`` should point to version 8.0.3 of `KiCad Packages3D`_.
- ``KICAD8_FOOTPRINT_DIR`` should point to version 8.0.3 of `KiCad Footprints`_.
* Optional:
- `ImageMagick`_ for manipulating images.
- `exiftool`_ for manipulating EXIF headers.
Expand All @@ -54,7 +57,7 @@ Install prerequisites

sudo apt-get install git python3.11 python3.11-venv imagemagick optipng exiftool

Poetry, Mayo, and git-lfs should be installed according to their respective documentation,
Poetry, Mayo, git-lfs, and KiCad should be installed according to their respective documentation,
and be available in your path.


Expand Down Expand Up @@ -114,6 +117,10 @@ Run linters and tests:
.. _`Git`: https://git-scm.com/
.. _`Poetry`: https://python-poetry.org/
.. _`Mayo 3D CAD viewer and converter`: https://github.com/fougue/mayo
.. _`KiCad EDA`: https://www.kicad.org/
.. _`atopile`: https://atopile.io/
.. _`KiCad Packages3D`: https://gitlab.com/kicad/libraries/kicad-packages3D
.. _`KiCad Footprints`: https://gitlab.com/kicad/libraries/kicad-footprints
.. _`ImageMagick`: https://imagemagick.org/
.. _`exiftool`: https://exiftool.org/
.. _`git-lfs`: https://git-lfs.com/
Expand Down
Loading