diff --git a/.github/workflows/pybombs-dev.yml b/.github/workflows/pybombs-dev.yml new file mode 100644 index 0000000..339a437 --- /dev/null +++ b/.github/workflows/pybombs-dev.yml @@ -0,0 +1,42 @@ +name: PyBOMBS Dev Image - Manual Docker Hub Push +on: + workflow_dispatch: + inputs: + ubuntu_version: + description: 'Ubuntu Version' + required: true + default: 'jammy' + gr_version: + description: 'GR Version' + required: true + default: gnuradio310 + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + env: + IMG: ${{ secrets.DOCKERHUB_USERNAME }}/pybombs-dev + TAG: ${{ github.event.inputs.gr_version }}-ubuntu-${{ github.event.inputs.ubuntu_version }} + with: + file: docker/pybombs-dev.dockerfile + push: true + platforms: linux/amd64 + build-args: | + dist=ubuntu:${{ github.event.inputs.ubuntu_version }} + gr_version=${{ github.event.inputs.gr_version }} + tags: ${{ env.IMG }}:${{ env.TAG }} + cache-from: type=registry,ref=${{ env.IMG }}:${{ env.TAG }} + cache-to: type=inline \ No newline at end of file diff --git a/README.md b/README.md index e551416..1cddf37 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ This repository contains a range of GNU Radio-related Docker images. - [OOT Development Inside Container](#oot-development-inside-container) - [Github Workflows](#github-workflows) - [VSCode Devcontainer](#vscode-devcontainer) + - [PyBOMBS Development](#pybombs-development) ## CI Builders @@ -175,3 +176,6 @@ OSX } ``` +## PyBOMBS Development + +The `pybombs-dev` image allows for testing PyBOMBS installation on CI. See, for example, its usage on the [gr-etcetera](https://github.com/gnuradio/gr-etcetera) project. \ No newline at end of file diff --git a/docker/pybombs-dev.dockerfile b/docker/pybombs-dev.dockerfile new file mode 100644 index 0000000..725b6e6 --- /dev/null +++ b/docker/pybombs-dev.dockerfile @@ -0,0 +1,8 @@ +ARG dist=ubuntu:jammy +FROM $dist +ARG gr_version=gnuradio310 +RUN apt update && apt install -y python3-pip +RUN pip3 install pybombs +RUN pybombs auto-config +RUN pybombs recipes add-defaults +RUN DEBIAN_FRONTEND="noninteractive" pybombs --quiet --yes prefix init ~/prefix-3.10 -R $gr_version