Commit Graph

156 Commits

Author SHA1 Message Date
akhilles 235a0a5dba Add metadata() support to interfaces
Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-27 08:01:10 -07:00
akhilles a68e284fc7 Add metadata(), record ser/de support
Also added push_metadata(), get_metadata(), list_metadata().

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-27 01:09:31 -07:00
Akhil Velagapudi 9188658f7d Fix cargo-dist release flow (#122)
I removed this in https://github.com/diodeinc/pcb/pull/99, but turns out
it's actually needed. So, add it back. But change the path so it doesn't
show up as a workflow.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
v0.2.0-prerelease.6
2025-08-26 12:57:58 -07:00
Akhil Velagapudi 64725d3768 Release v0.2.0-prerelease.6 (#121) 2025-08-26 12:28:28 -07:00
Akhil Velagapudi de8c9a3d99 Fix layout sync when using Path() (#120)
Since Path() resolves to an absolute path, we shouldn't prefix it with
module path.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-26 12:04:37 -07:00
Akhil Velagapudi af92d81ee2 Fix fetching a commit from a non-default branch (#119)
* Fix fetching a commit from a non-default branch

Previously, we would do a shallow clone of the default branch and then
attempt to checkout the commit. This doesn't work if the commit is not
on the default branch.

Also, allow specifying short hash (len 7).

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Remove left over dbg

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-26 10:00:27 -07:00
Yishen Chen b4aa47b114 Add pcb sim to setup spice simulation from schematics (#56) 2025-08-26 12:06:04 -04:00
Akhil Velagapudi 27e91cf0a3 Add Path() with allow_not_exist support (#118)
* Combine LoadSpec::Path and LoadSpec::Workspace

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add allow_not_exist flag

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add Path() with allow_not_exist support

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Allow vendoring of directories

Use shared vendoring code in pcb vendor/release.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add pcb release test

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-26 08:42:00 -07:00
Akhil Velagapudi 9ae327b645 Add pcb tag (#117)
* Add `pcb tag`

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add `--force` flag to `pcb tag`

Also, remove the version ordering validation.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-25 22:45:58 -07:00
Akhil Velagapudi b204972029 Drop tracked_local_files, and track local files in path_to_spec (#116)
* Don't cache effective workspace root

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Drop tracked_local_files, and track local files in path_to_spec

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Remove workspace_root_cache

This was a premature optimization. Unclear whether it actually helps,
but has potential to introduce bugs.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-25 17:57:09 -07:00
Akhil Velagapudi ae7766a8a6 Add warnings for unstable refs in load(), Module() (#105)
* Refactor diagnostics for warnings support

- Add render trait
- Render warnings after errors
- Reuse build code across build, layout

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Delete bundle

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Fix clippy lints

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add git ref metadata

3 stages to fetch_remote:
- Ensure remote is in cache
- Add appropriate symlinks
- Classify + store ref metadata

Some code cleanup:
- Factored out some git clone dupe code
- Centralized git operations in git.rs

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Warn on unstable refs

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add "-Dwarnings" flag to error on warnings

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Warn on unstable refs in Module()

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add snapshot tests for warnings

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Fix span detection for chained Module()

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add ResolveContext, dedup resolve code

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Use spec history for better alias warnings

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add pcb.toml spans

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add type-erased error storage to Diagnostic

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Fix bug with load() span detection

The previous logic would just attempt to match by path, but if there are
multiple load() statements in a single file with the same path, then
find_load_span_for_path with always return the first.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Added diagnostics passes

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add LSP-specific pass to filter out some warnings

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Fix rebase conflicts

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Fix unstable ref detection logic

If we clone by tag and the tag exists in the git repo, it's a stable
ref. Same with commit.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-25 15:45:51 -07:00
Akhil Velagapudi 3b2f8f1a08 Copy all tracked files to release src (#115)
* Build after release in snapshot tests

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Copy all tracked files to release src/

Remove the filtering that I added, it's not needed. This can be further
simplified in the future by merging tracked_local_files into
path_to_spec.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Do offline build of staged sources

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Do --offline builds in release + build tests

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Error on local deps outside workspace when vendoring

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Track local pcb.toml files

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-25 10:39:10 -07:00
Akhil Velagapudi dcdec1262c Make pcb release and pcb bom -f json consistent (#114)
Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-24 18:12:36 -07:00
Lenny Khazan 0ef3b5d91d Fix docs (#113)
* 1/n: debug docs

* add image

* boop

* beep

* blorp

* blam

* test
2025-08-24 15:41:21 -04:00
Abhinav Reddy 0f3aa77cb3 [DOCS] Fix Docs for Real this Time (#112)
* Add example documentation

* Fix path

* Add tips and notes

* Split tip and note

* Update example.mdx

* Allow layout

* Update example.mdx

* Delete docs/images/Zener_ACRCM.png

* Upload fixed Zener ACRCM and pin hint gif

* Add gif explaining pin hints

* Fix grammar

* Reorder pages

* Update naming

* Use mintlify callouts

* Fix type (CRC -> LRC)

* Reorganize docs into sections

* Make documentation Davide compliant

* Fix broken links

* Add header at the top

* Update docs.json format

* Revert docs.json update

* Change image links
2025-08-24 13:12:02 -04:00
Abhinav Reddy 74e55fce65 [DOCS] Fix Broken Links (#111)
* Add example documentation

* Fix path

* Add tips and notes

* Split tip and note

* Update example.mdx

* Allow layout

* Update example.mdx

* Delete docs/images/Zener_ACRCM.png

* Upload fixed Zener ACRCM and pin hint gif

* Add gif explaining pin hints

* Fix grammar

* Reorder pages

* Update naming

* Use mintlify callouts

* Fix type (CRC -> LRC)

* Reorganize docs into sections

* Make documentation Davide compliant

* Fix broken links
2025-08-24 12:09:50 -04:00
Abhinav Reddy 3515276773 [DOCS] Add Documentation of an Example (#106)
* Add example documentation

* Fix path

* Add tips and notes

* Split tip and note

* Update example.mdx

* Allow layout

* Update example.mdx

* Delete docs/images/Zener_ACRCM.png

* Upload fixed Zener ACRCM and pin hint gif

* Add gif explaining pin hints

* Fix grammar

* Reorder pages

* Update naming

* Use mintlify callouts

* Fix type (CRC -> LRC)

* Reorganize docs into sections

* Make documentation Davide compliant
2025-08-24 11:30:53 -04:00
Davide Asnaghi 8e6a63deb4 [FEATURE] sync zones and graphics (#79)
* sync zones and text

* add initial test for zone sync

* add zones to groups

* simpler zone test

* fix zone sync

* fix net determinism

* add more interesting test

* hack: amend tests with (0,0) positioning for now

* wip: fix nets for zones

* hack: keep old tests to make sure we don't mess up

* add zone sync

* fix sync graphics

* add complex test

* deterministic snapshot

* fix snapshots with no files

* add graphics test

* add timout

* bump timout

* reduce complexity

* move methods to virtual item

* add graphics groups

* use Duplicate

* add hatching to complex test
2025-08-24 01:29:00 -04:00
Lenny Khazan 222f784fc2 Add flag for supporting vendor in wasm (#109) 2025-08-23 21:25:30 -04:00
Akhil Velagapudi 96582b2714 Standardize pcb info paths (#108)
`pcb info` would mix and match absolute vs relative paths for workspace
root and board .zen paths. Enforce consistent behavior:
- Workspace root: always show full canonical path
- Board paths: always relative to workspace root

Also, removed the removed redundant directory field.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-23 15:53:37 -07:00
Akhil Velagapudi b76e7eb53d [DIO-347] Fix workspace-relative loads in local paths (#107)
* Add regression test for "//" dep in local path

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Resolve "effective_workspace_root" (with cache)

Which is different from overall "workspace_root".

Do this once at the top instead of at multiple downstream sites.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-23 13:25:09 -07:00
Akhil Velagapudi 2a57b047d1 Add PCB_NAME variable substitution (#104)
Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-22 10:52:49 -07:00
Akhil Velagapudi f3ee7fb3a9 Serialize bom as list (#103)
Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-22 10:45:21 -07:00
Akhil Velagapudi 9549fca231 [DIO-334] Switch to <board_name>/<version> tags (#102)
* Switch to `<board_name>/<version>` tags

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Fix bug where .source.zip wasn't used for source-only releases

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Make tag -> board matching case-insensitive

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Sanitize cli version

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add git helpers to sandbox

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-22 09:31:14 -07:00
Akhil Velagapudi 0da1d57a35 [DIO-333] Add --source-only releases, schema_version (#101)
* Add --source-only flag to `pcb release`

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add schema version to metadata.json

This'll help with migrations. Rename existing "version" field to
"git_version" to disambiguate.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add pcb release snapshot tests

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Sanitize git hashes

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Sanitize arch, platform, user

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Use flat schema version

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-22 07:50:46 -07:00
Akhil Velagapudi 4c4213aa48 Export pre-aggregated, unmatched bom w/ path as key (#100)
* Export pre-aggregated BOM w/ path as key

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add pcb bom snapshot tests

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Update existing snapshot

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Rename bom/unmatched.json to bom/design_bom.json

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-21 18:48:37 -07:00
Akhil Velagapudi 44c73baf2d [DIO-319] Add board config to pcb.toml, pcb info (#92)
* Add board config to pcb.toml, pcb info

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Choose first board (when sorted) as fallback default

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add secondary heuristics pass to detect boards without pcb.toml

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Update snapshots

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Don't allow malformed pcb.toml

Empty pcb.toml is fine.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Don't copy .pcb/cache into test fixture

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Replace test-workspace with snapshot tests of pcb info

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-21 15:20:16 -07:00
Akhil Velagapudi deec05e184 Remove invalid workflow file (#99)
It's causing a bunch of noise in Actions.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-21 14:53:48 -07:00
Akhil Velagapudi eedba95d7d Use smart rust cache (#98)
* Use smart rust cache

Out cache sizes are blowing up:

Cache Size: ~8914 MB (9346691088 B)
"C:\Program Files\Git\usr\bin\tar.exe" -xf C:/a/_temp/277318a1-9141-472d-bf1b-4d0461835b0b/cache.tzst -P -C C:/a/pcb/pcb --force-local --use-compress-program "zstd -d"
Cache restored successfully
Cache restored from key: Windows-cargo-02b001115c33129b2426bd7db7faa11329497685bfa1d1e328c20e41bc781dca

Which is slowing down builds. Just fetching cargo cache took 6 mins.

Swatinem/rust-cache has much better default behavior:
- Cleans dependencies no longer used
- Cleans incremental build artifacts
- Cleans anything older than 1 week

It also only caches dependencies (and their built artifacts). Caching
workspace crates is not that useful.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Reuse build pcb for stdlib testing

Also use actions/checkout for faster cloning.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-21 14:37:50 -07:00
Akhil Velagapudi 9a1930c2c5 pcb cli-level testing (#96)
* Add sandbox

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add dir snapshotting

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add branch support, snapshot_dir

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add snapshot testing of stdout/stderr

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Only use local files for workspace root detection

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add bom, release tests

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add pcb vendor snapshot test

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Sanitize linux tmp dir paths

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Ignore some tests on Windows

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Reuse dep fetching code from pcb-zen

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Fix download race condition

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Bump lock file

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Specify default branch

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Suppress 3d export logs to stdout

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-21 13:52:38 -07:00
Lenny Khazan 9d75b20b24 bump version (#97) v0.2.0-prerelease.5 2025-08-21 15:30:27 -04:00
Akhil Velagapudi 477d0f0e79 Vendor pcb.toml files (#93)
* Mark vendor/ dir as alias root

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Don't consider pcb.toml files irrelevant

Use more LoadSpec helpers.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Track pcb.toml files in path_to_spec

This is enough for `pcb vendor` to pick up these files and copy them to
the vendor/ dir.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Use FileProvider::exists

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-21 15:29:34 -04:00
Lenny Khazan f46a1918db Use vendor/ folder in release (#95)
* Use vendor/ folder in release

* only for release
2025-08-21 15:29:24 -04:00
Akhil Velagapudi ea36c60894 Include drill map pdf in gerbers.zip (#94)
Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-20 20:47:16 -07:00
Akhil Velagapudi 1ee83c6e7e Initial implementation of interface subclasses + auto-promotion (#89)
* Add serialize(), deserialize() builtins for debugging

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add field(), __post_init__ to interface()

Also, add better print() behavior.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add interface/net promotion

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Remove Cargo.toml patch

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Fix example

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Fix test workspace

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add interface arg type checking

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Update spec.mdx

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Allow `using(Net)`

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-20 09:27:39 -07:00
Akhil Velagapudi f54aa468cc Add hierarchical package alias resolution (#91)
Deeper directories taking priority.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-20 08:50:47 -07:00
Akhil Velagapudi 1df8194abf Switch to larger github runners (#90)
* Switch to larger github runners

The "xlarge" in "macos-15-xlarge" doesn't actually mean extra large. The
"x" indicates arm64 as opposed to Intel.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Remove dep on deprecated actions-rs/toolchain@v1

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-19 18:50:50 -07:00
Akhil Velagapudi 392c9b9395 Better CAD exports (#88)
* Use copied layout files as source for cad export

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Include pads, silkscreen, soldermask in CAD

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Patch text vars in .kicad_pro file

This is used for CAD export for some reason over the .kicad_pcb file.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-19 16:35:12 -07:00
Akhil Velagapudi 8996bef578 Use "odb.zip" for the ODB++ archive (#87)
Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-19 15:32:33 -07:00
Akhil Velagapudi 55dc9a736e Add ODB++ release artifact (#86)
Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-19 15:28:11 -07:00
Lenny Khazan d554a4f281 Bump to 0.2.0-prerelease.4 and add --version (#85) v0.2.0-prerelease.4 2025-08-19 16:55:59 -04:00
Lenny Khazan 2bd2a2afb2 Add JSON output mode to pcb release (#84) 2025-08-19 16:53:23 -04:00
Lenny Khazan d8afaba34b Remove LSP autoimport logic (#83) 2025-08-18 23:07:43 -04:00
Lenny Khazan f9a6743428 0.2.0-prerelease.3 (#82)
* bump version

* Bump version: 0.2.0-prerelease.3
2025-08-18 18:32:06 -04:00
Akhil Velagapudi 47190c5821 [DIO-309] Add component_type tag for well-known components (#81)
* Make zen_file path relative to release archive

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Add component_type tag for well-known components

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-18 14:54:40 -07:00
Akhil Velagapudi b9d101e129 Fix package resolution in pcb vendor/release (#80)
* Add [packages] to vendor/release test case

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Fix package resolution in pcb vendor/release

The TrackingLoadResolver middleware couldn't properly resolve packages.
To fix, eliminate the middleware entirely and enhance CoreLoadResolver
to handle all the necessary tracking. This is likely to reduce future
bugs as well.

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

* Use public kicad package

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>

---------

Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-18 14:32:31 -07:00
Davide Asnaghi 63e02ca70c [FMT] ignore dotfiles (#78)
* ignore hidden files by default

* formatting
2025-08-16 16:16:58 -04:00
Akhil Velagapudi 2059bccbca Substitute PCB_VERSION, PCB_GIT_HASH in release layout files (#77)
Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-15 16:30:23 -07:00
Akhil Velagapudi 23442e6577 Only detect workspace root if pcb.toml has [workspace] (#75)
Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-15 15:28:37 -07:00
Akhil Velagapudi 52ae02637b Add more release artifacts (#74)
Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
2025-08-15 13:09:52 -07:00