diff --git a/.github/workflows/docker_hub_nightly.yml b/.github/workflows/docker_hub_nightly.yml index 06988be..68a753c 100644 --- a/.github/workflows/docker_hub_nightly.yml +++ b/.github/workflows/docker_hub_nightly.yml @@ -1,20 +1,23 @@ -name: Docker Hub upload (nightly) +name: Docker Hub upload (KiCad 7 nightly) on: push: tags: - n* repository_dispatch: - types: [build_nightly] + types: [build_ng] jobs: push_to_registry: - name: Push Docker image to Docker Hub + name: Push Docker image to Docker Hub and GitHub Packages runs-on: ubuntu-latest + permissions: + packages: write + contents: read steps: - name: Check out the repo - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Log in to Docker Hub uses: docker/login-action@v2 @@ -22,20 +25,33 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 with: - images: setsoft/kicad_auto + images: | + setsoft/kicad_auto + ghcr.io/${{ github.repository }} + tags: | + type=raw,nightly - - name: Build and push Docker image + - name: Build and push Docker images uses: docker/build-push-action@v3 with: context: nightly push: true - tags: setsoft/kicad_auto:nightly + tags: | + setsoft/kicad_auto:nightly + ghcr.io/inti-cmnb/kicad_auto:nightly labels: ${{ steps.meta.outputs.labels }} - name: Trigger KiCad-Auto-Test image build run: | - curl -X POST -u "${{secrets.PAT_USERNAME}}:${{secrets.PAT_TOKEN}}" -H "Accept: application/vnd.github.v3+json" -H "Content-Type: application/json" https://api.github.com/repos/INTI-CMNB/kicad_auto_test/dispatches --data '{"event_type": "build_nightly"}' + curl -X POST -u "${{secrets.PAT_USERNAME}}:${{secrets.PAT_TOKEN}}" -H "Accept: application/vnd.github.v3+json" -H "Content-Type: application/json" https://api.github.com/repos/INTI-CMNB/kicad_auto_test/dispatches --data '{"event_type": "build_ng"}' diff --git a/nightly/Dockerfile b/nightly/Dockerfile index d7f7622..7339899 100644 --- a/nightly/Dockerfile +++ b/nightly/Dockerfile @@ -4,8 +4,10 @@ LABEL Description="KiCad with KiBot and other automation scripts" RUN sed -i -e's/ main/ main contrib non-free/g' /etc/apt/sources.list && \ apt-get update && \ + apt-get -y install -t bullseye-backports curl && \ + apt-get -y install --no-install-recommends -t bullseye-backports git && \ apt-get -y install make wget curl rar bzip2 librsvg2-bin ghostscript && \ - apt-get -y install --no-install-recommends imagemagick python3-qrcodegen git poppler-utils && \ + apt-get -y install --no-install-recommends imagemagick python3-qrcodegen poppler-utils && \ curl -s https://api.github.com/repos/INTI-CMNB/KiAuto/releases/latest | grep "browser_download_url.*deb" | cut -d : -f 2,3 | tr -d \" | wget -i - && \ curl -s https://api.github.com/repos/INTI-CMNB/KiBoM/releases/latest | grep "browser_download_url.*deb" | cut -d : -f 2,3 | tr -d \" | wget -i - && \ curl -s https://api.github.com/repos/INTI-CMNB/InteractiveHtmlBom/releases/latest | grep "browser_download_url.*deb" | cut -d : -f 2,3 | tr -d \" | wget -i - && \ @@ -14,6 +16,8 @@ RUN sed -i -e's/ main/ main contrib non-free/g' /etc/apt/sources.list && \ curl -s https://api.github.com/repos/INTI-CMNB/KiBot/releases/latest | grep "browser_download_url.*deb" | cut -d : -f 2,3 | tr -d \" | wget -i - && \ curl -s https://api.github.com/repos/set-soft/kicost-digikey-api-v3/releases/latest | grep "browser_download_url.*deb" | cut -d : -f 2,3 | tr -d \" | wget -i - && \ curl -s https://api.github.com/repos/INTI-CMNB/kicad-git-filters/releases/latest | grep "browser_download_url.*deb" | cut -d : -f 2,3 | tr -d \" | wget -i - && \ + curl -s https://api.github.com/repos/INTI-CMNB/kidiff/releases/latest | grep "browser_download_url.*deb" | cut -d : -f 2,3 | tr -d \" | wget -i - && \ + curl -s https://api.github.com/repos/INTI-CMNB/KiKit/releases/latest | grep "browser_download_url.*deb" | cut -d : -f 2,3 | tr -d \" | wget -i - && \ apt -y install --no-install-recommends ./*.deb && \ sed -i 's///g' /etc/ImageMagick-6/policy.xml && \ sed -i 's///g' /etc/ImageMagick-6/policy.xml && \ @@ -21,3 +25,8 @@ RUN sed -i -e's/ main/ main contrib non-free/g' /etc/apt/sources.list && \ apt-get -y autoremove && \ rm /*.deb && \ rm -rf /var/lib/apt/lists/* +# Needed for GitHub seen on git 2.39.1 +RUN echo "[safe]" >> /etc/gitconfig && \ + echo " directory = *" >> /etc/gitconfig && \ + echo '[protocol "file"]' >> /etc/gitconfig && \ + echo ' allow = always' >> /etc/gitconfig diff --git a/nightly/build.sh b/nightly/build.sh new file mode 100755 index 0000000..1bee2a1 --- /dev/null +++ b/nightly/build.sh @@ -0,0 +1,2 @@ +#!/bin/sh +docker build -f Dockerfile -t setsoft/kicad_auto:nightly .