Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the build verb build for only one target #31

Merged
merged 5 commits into from
Jul 2, 2024

Conversation

apljungquist
Copy link
Contributor

I rarely find myself wanting to build for targets other than the device that I am currently testing with, and having to wait twice as long as necessary is annoying.

I expect that CI workflows will still want to build for multiple targets, but that it should be a relatively small effort to call make twice since the developer only has to write that code once.

A side effect of this change is that CI now only builds apps other than hello_world for one target. This could easily be fixed by adding a couple of lines in CI.yml but I think this is probably desirable since I expect the compilation success to be highly correlated.

I rarely find myself wanting to build for targets other than the device
that I am currently testing with, and having to wait twice as long as
necessary is annoying.

I expect that CI workflows will still want to build for multiple
targets, but that it should be a relatively small effort to call make
twice since the developer only has to write that code once.

A side effect of this change is that CI now only builds apps other than
`hello_world` for one target. This could easily be fixed by adding a
couple of lines in `CI.yml` but I think this is probably desirable
since I expect the compilation success to be highly correlated.
@apljungquist apljungquist requested a review from a team as a code owner June 25, 2024 12:41
I considered keeping the old behavior but with a new target named `all`
because I received the feedback that it was surprising that:
- the `all` target does not exist.
- the `all` target is not the default.

I'm choosing to not do that for now because what "all" means in the
context of this project is a little bit unclear. Questions include:
- should it build for all architectures
- should it build the docs, which also is an artifact that the project
  provides.
…t_at_a_time

* upstream/main:
  chore(deps): bump ghcr.io/devcontainers/features/common-utils (#38)
  chore(deps): bump log from 0.4.21 to 0.4.22 in the default group (#37)
  Add dev container (#36)
  Add link to acap-rs-app-template in `README.md` (#34)
  Document `python3-venv` dependency (#35)
  fix: Repair `Makefile` (#32)
@apljungquist apljungquist merged commit 077296e into main Jul 2, 2024
2 checks passed
@apljungquist apljungquist deleted the build_for_one_target_at_a_time branch July 2, 2024 18:15
apljungquist added a commit that referenced this pull request Jul 3, 2024
…more_specific

* upstream/main:
  Adopt dev container as primary environment (#39)
  Make the `build` verb build for only one target (#31)
  chore(deps): bump ghcr.io/devcontainers/features/common-utils (#38)
  chore(deps): bump log from 0.4.21 to 0.4.22 in the default group (#37)
  Add dev container (#36)
  Add link to acap-rs-app-template in `README.md` (#34)
  Document `python3-venv` dependency (#35)
  fix: Repair `Makefile` (#32)
  fix(embedded_web_page): Put web page in `html/` (#30)
  Organize dependencies consistently (#29)
  chore(deps): bump glib-sys from 0.19.5 to 0.19.8 in the default group (#28)
  chore: Explain more make targets (#27)
apljungquist added a commit that referenced this pull request Jul 3, 2024
* upstream/main:
  Rename environment variables controlling the Makefile (#26)
  Adopt dev container as primary environment (#39)
  Make the `build` verb build for only one target (#31)
  chore(deps): bump ghcr.io/devcontainers/features/common-utils (#38)
  chore(deps): bump log from 0.4.21 to 0.4.22 in the default group (#37)
  Add dev container (#36)
  Add link to acap-rs-app-template in `README.md` (#34)
  Document `python3-venv` dependency (#35)
  fix: Repair `Makefile` (#32)
  fix(embedded_web_page): Put web page in `html/` (#30)
  Organize dependencies consistently (#29)
  chore(deps): bump glib-sys from 0.19.5 to 0.19.8 in the default group (#28)
  chore: Explain more make targets (#27)
  Add embedded web page example (#14)
apljungquist added a commit that referenced this pull request Jul 5, 2024
…_wrapper_and_exampl

* upstream/main:
  Rename environment variables controlling the Makefile (#26)
  Adopt dev container as primary environment (#39)
  Make the `build` verb build for only one target (#31)
  chore(deps): bump ghcr.io/devcontainers/features/common-utils (#38)
  chore(deps): bump log from 0.4.21 to 0.4.22 in the default group (#37)
  Add dev container (#36)
  Add link to acap-rs-app-template in `README.md` (#34)
  Document `python3-venv` dependency (#35)
  fix: Repair `Makefile` (#32)
  fix(embedded_web_page): Put web page in `html/` (#30)
  Organize dependencies consistently (#29)
  chore(deps): bump glib-sys from 0.19.5 to 0.19.8 in the default group (#28)
  chore: Explain more make targets (#27)
  Add embedded web page example (#14)
  chore: Group and sort imports (#23)
  Demonstrate containerized builds (#17)
  Factor out `app_logging` modules to lib crate (#24)
apljungquist added a commit that referenced this pull request Jul 19, 2024
* upstream/main:
  Generate app `LICENSE` files (#44)
  Add acap-ssh-utils bin and lib crate (#19)
  Add cargo-acap-build tool (#25)
  Remove partially containerized workflow (#42)
  Improve acap-logging docs (#41)
  chore: Prepare logging library crate for publishing (#40)
  feat: Add metadata broker wrapper and example (#22)
  Rename environment variables controlling the Makefile (#26)
  Adopt dev container as primary environment (#39)
  Make the `build` verb build for only one target (#31)
  chore(deps): bump ghcr.io/devcontainers/features/common-utils (#38)
  chore(deps): bump log from 0.4.21 to 0.4.22 in the default group (#37)
  Add dev container (#36)
  Add link to acap-rs-app-template in `README.md` (#34)
  Document `python3-venv` dependency (#35)
  fix: Repair `Makefile` (#32)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant