Skip to content

feat: pre-build Docker image and push to Docker Hub for faster setup#1

Merged
Baker-Tanaka merged 2 commits into
mainfrom
copilot/enhance-template-usability
Mar 31, 2026
Merged

feat: pre-build Docker image and push to Docker Hub for faster setup#1
Baker-Tanaka merged 2 commits into
mainfrom
copilot/enhance-template-usability

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 31, 2026

Eliminates local Docker builds by publishing a pre-built dev image to Docker Hub. Users pull bakerlinklab/bakerlink-env:latest instead of building from the Dockerfile on every docker compose up.

CI/CD

  • Add .github/workflows/docker-publish.yml — builds and pushes on Dockerfile changes to main, plus workflow_dispatch for manual runs
  • Requires DOCKERHUB_USERNAME and DOCKERHUB_TOKEN repository secrets (already configured)
  • Uses GHA cache for layer caching

Docker

  • Add llvm-tools and cargo-binutils to Dockerfile for binary inspection (cargo objdump, cargo size)
  • Switch compose.yaml from local build: to pre-built image: bakerlinklab/bakerlink-env:latest

Toolchain & Build

  • Add rust-toolchain.toml pinning Rust 1.86.0, target thumbv6m-none-eabi, and required components
  • Add rust-analyzer.check.allTargets: false to VS Code settings (suppresses false errors on no_std targets)

Testing

  • Add defmt-test dev-dependency and example on-device test scaffold in tests/example_test.rs

Template

  • Exclude .github/ from cargo-generate substitution so workflow files aren't mangled by placeholder expansion

Note: After merging, trigger the workflow manually once from the Actions tab to publish the initial image.

Copilot AI and others added 2 commits March 31, 2026 13:10
- Fix rust-analyzer "can't find crate for test" by adding check.allTargets: false
- Add rust-toolchain.toml to pin toolchain version, target, and components
- Add cargo-binutils and llvm-tools to Dockerfile for binary inspection/disassembly
- Add defmt-test for on-target embedded testing with example test

Agent-Logs-Url: https://github.com/Baker-link-Lab/bakerlink_tutorial_template/sessions/f183cbad-512b-43ab-a93c-048310787e22

Co-authored-by: Baker-Tanaka <42606588+Baker-Tanaka@users.noreply.github.com>
- Add GitHub Actions workflow to build/push image on Dockerfile changes
- Update compose.yaml to pull pre-built bakerlinklab/bakerlink-env:latest
- Add .github/ to cargo-generate ignore list to protect ${{ }} syntax

Agent-Logs-Url: https://github.com/Baker-link-Lab/bakerlink_tutorial_template/sessions/a073b2f3-6935-476b-be2a-58f9cef53054

Co-authored-by: Baker-Tanaka <42606588+Baker-Tanaka@users.noreply.github.com>
@Baker-Tanaka Baker-Tanaka marked this pull request as ready for review March 31, 2026 14:51
@Baker-Tanaka Baker-Tanaka merged commit 82ed949 into main Mar 31, 2026
3 checks passed
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.

2 participants