Skip to content

Commit

Permalink
amaranth-soc needs to be a direct/production dep. Fix oversight and t…
Browse files Browse the repository at this point in the history
…est only installing prod deps.
  • Loading branch information
cr1901 committed Nov 19, 2024
1 parent 0690b48 commit 271c812
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 1 deletion.
19 changes: 19 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,25 @@ name: CI
# gzip -c cover.vcd | base64 | base64 -d | gunzip > cover-out.vcd

jobs:
ci-prod:
name: Production CI Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- uses: pdm-project/setup-pdm@v4
with:
python-version: 3.11
cache: true
- name: Install PDM production dependencies
run: pdm install --prod
- name: Test Generate Verilog
run: pdm gen -o sentinel.v
- name: Test Import
run: pdm run python -c 'from sentinel.top import Top'

ci-basic:
name: Basic CI Check
strategy:
Expand Down
24 changes: 24 additions & 0 deletions doc/usage/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,25 @@ pdm add sentinel@git+https://github.com/cr1901/sentinel@next

to bring in the development branch.

```{warning}
When advantageous, the `next` branch tracks upstream git packages without
pinning to a branch or commit (that's what `pdm.lock` is for). These include:
* [`amaranth`]
* [`amaranth-boards`]
* [`amaranth-soc`]
* [`amaranth-stdio`]
Additionally, some Amaranth packages/dependencies are still in flux and are not
don't have a stable release to track on PyPI. Until they do, the `main` branch
may _also_ depend on git dependencies without pinning.
However, if installing/using either branch breaks due to immediate dependencies
changing, I will make a release on `main`, and commit on `next` to correct the
breakage (and possibly add more tests to CI). See [here](https://iscinumpy.dev/post/bound-version-constraints/#tldr)
for rationale.
```

## Development Environment

Sentinel's source code is _also_ managed by PDM. To get started, check out a
Expand Down Expand Up @@ -113,3 +132,8 @@ directions [here](https://rustup.rs/) and then run
Rust [can coexist](https://rust-lang.github.io/rustup/concepts/toolchains.html).

Next, head over to the {ref}`overview` page for how to hack on Sentinel :).

[`amaranth`]: https://github.com/amaranth-lang/amaranth
[`amaranth-boards`]: https://github.com/amaranth-lang/amaranth-boards
[`amaranth-soc`]: https://github.com/amaranth-lang/amaranth-soc
[`amaranth-stdio`]: https://github.com/amaranth-lang/amaranth-stdio
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ authors = [
dependencies = [
"m5meta>=1.0.4",
"m5pre>=1.0.3",
"amaranth>=0.5.0",
"amaranth>=0.5.3",
]
requires-python = ">=3.11"
readme = "README.md"
Expand Down

0 comments on commit 271c812

Please sign in to comment.