Skip to content

Update Docker workflows and submodule configurations#27

Open
xnetinho wants to merge 8 commits into
phasor-labs:mainfrom
xnetinho:fix-docker
Open

Update Docker workflows and submodule configurations#27
xnetinho wants to merge 8 commits into
phasor-labs:mainfrom
xnetinho:fix-docker

Conversation

@xnetinho
Copy link
Copy Markdown

This pull request introduces significant improvements to the Docker build and deployment workflow for the project. The changes include a new GitHub Actions workflow for automated Docker publishing, updates to the frontend submodule URL, and a comprehensive refactor of the Dockerfile to optimize build stages, increase resilience, and enhance compatibility.

CI/CD Improvements:

  • Added a new .github/workflows/docker-publish.yml workflow to automate building and publishing Docker images on pushes to main and tags, supporting multi-platform builds and caching for faster builds.

Submodule Management:

  • Updated the frontend submodule URL in .gitmodules to point to xnetinho/NovaSDR-frontend for improved source management and reliability.

Dockerfile Refactor and Build Optimization:

  • Refactored the Dockerfile with explicit multi-stage builds, including a frontend builder, Rust planner for dependency caching, backend builder, and final runtime image, improving build speed and reliability.
  • Enhanced resilience for frontend builds by conditionally running npm ci or npm install based on the presence of package-lock.json.
  • Unified and expanded build dependencies, added explicit driver builds for SoapySDR and RTL-SDR, and ensured runtime parity with additional libraries like libopus0.
  • Corrected paths for copying binaries and resources, and streamlined environment variable setup and runtime commands in the final image.

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