xibosignage / xibo-linux

Xibo for Linux - Digital Signage Player
https://xibo.org.uk/xibo-for-linux
GNU Affero General Public License v3.0
76 stars 54 forks source link

VSCode build/debug using devcontainer #257

Closed davidkennedydev closed 2 years ago

davidkennedydev commented 2 years ago

Add support to debug the application using VSCode with the devcontainer feature. Fixes #252

https://user-images.githubusercontent.com/6628028/162645464-5eadcb2b-a53a-450e-805f-9589fba6f8f0.mp4

dasgarner commented 2 years ago

Thanks for this! I get:

image

dasgarner commented 2 years ago

That is not a small container :smile: to speed up development for people, we can push a pre-built version of that container to dockerhub.

Please can you put a workflow in the .github/workflows folder, with the name build-devcontainer.yaml:

name: Build devcontainer

on:
  workflow_dispatch:

jobs:
  build:
    name: Build
    runs-on: ubuntu-18.04
    steps:
      - name: Checkout
        uses: actions/checkout@v1
        with:
          fetch-depth: 1

      - name: Build devcontainer
        run: |
          docker login --username ${{ secrets.DOCKER_HUB_USERNAME }} --password ${{ secrets.DOCKER_HUB_TOKEN }}
          docker build . -t xibosignage/xibo-linux-vscode:latest
          docker push xibosignage/xibo-linux-vscode:latest

I've set up the tokens already, and pushed a seed container up to try out, you can see it here: https://hub.docker.com/r/xibosignage/xibo-linux-vscode

docker pull xibosignage/xibo-linux-vscode:latest

If we need to make changes to the Dockerfile we can commit them and rebuild the container using workflow dispatch