From 955bddc007282d9721220e1a379e6c780f664225 Mon Sep 17 00:00:00 2001 From: "Salvador E. Tropea" Date: Thu, 16 Mar 2023 10:50:15 -0300 Subject: [PATCH] [CI/CD] Separated the docker images creation - Now can be triggered separately - Full and non-full images created - More descriptive tags - KiCad 7 included --- .github/workflows/dev_images.yml | 44 ++++++ .github/workflows/pythonapp.yml | 154 ++----------------- tools/build_dev_image.sh | 2 - tools/build_dev_image_k6.sh | 2 - tools/{dev_image => dev_image_k5}/Dockerfile | 2 +- tools/dev_image_k5/build.sh | 13 ++ tools/dev_image_k5f/Dockerfile | 22 +++ tools/dev_image_k5f/build.sh | 13 ++ tools/dev_image_k6/Dockerfile | 2 +- tools/dev_image_k6/build.sh | 13 ++ tools/dev_image_k6f/Dockerfile | 22 +++ tools/dev_image_k6f/build.sh | 13 ++ tools/dev_image_k7/Dockerfile | 2 +- tools/dev_image_k7/build.sh | 13 ++ tools/dev_image_k7f/Dockerfile | 22 +++ tools/dev_image_k7f/build.sh | 13 ++ 16 files changed, 201 insertions(+), 151 deletions(-) create mode 100644 .github/workflows/dev_images.yml delete mode 100755 tools/build_dev_image.sh delete mode 100755 tools/build_dev_image_k6.sh rename tools/{dev_image => dev_image_k5}/Dockerfile (95%) create mode 100755 tools/dev_image_k5/build.sh create mode 100644 tools/dev_image_k5f/Dockerfile create mode 100755 tools/dev_image_k5f/build.sh create mode 100755 tools/dev_image_k6/build.sh create mode 100644 tools/dev_image_k6f/Dockerfile create mode 100755 tools/dev_image_k6f/build.sh create mode 100755 tools/dev_image_k7/build.sh create mode 100644 tools/dev_image_k7f/Dockerfile create mode 100755 tools/dev_image_k7f/build.sh diff --git a/.github/workflows/dev_images.yml b/.github/workflows/dev_images.yml new file mode 100644 index 00000000..7dc7505b --- /dev/null +++ b/.github/workflows/dev_images.yml @@ -0,0 +1,44 @@ +# This workflow will create the development docker images + +name: Create `dev` images + +on: + repository_dispatch: + types: [create_dev] + +jobs: + push_to_registry_ki5: + strategy: + matrix: + ki_release: [dev_image_k5, dev_image_k6, dev_image_k7, dev_image_k5f, dev_image_k6f, dev_image_k7f] + + name: Docker ${{ matrix.ki_release }} + runs-on: ubuntu-latest + needs: test + permissions: + packages: write + contents: read + # Don't create `dev` images using the `master` + if: github.ref == 'refs/heads/dev' + + steps: + - name: Check out the repo + uses: actions/checkout@v3 + + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + 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: Build and push Docker image + run: | + cd kibot/tools/${{ matrix.ki_release }} + ./build.sh diff --git a/.github/workflows/pythonapp.yml b/.github/workflows/pythonapp.yml index d3e6911f..58fa4bff 100644 --- a/.github/workflows/pythonapp.yml +++ b/.github/workflows/pythonapp.yml @@ -110,6 +110,16 @@ jobs: #echo Disabled by now coveralls + create_images: + name: Triggers the docker images creation + runs-on: ubuntu-latest + needs: test + if: github.ref == 'refs/heads/dev' + steps: + - name: Trigger `dev` images 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/KiBot/dispatches --data '{"event_type": "create_dev", "client_payload": {"key": "value"}, "ref": "dev"}' + consolidate_coverage: name: Consolidate coverage data runs-on: ubuntu-latest @@ -167,150 +177,6 @@ jobs: name: Test_Coverage_combined path: htmlcov - - push_to_registry: - name: Docker KiCad 5 full dev - runs-on: ubuntu-latest - needs: test - permissions: - packages: write - contents: read - # Don't create `dev` images using the `master` - if: github.ref == 'refs/heads/dev' - - steps: - - name: Check out the repo - uses: actions/checkout@v3 - - - name: Log in to Docker Hub - uses: docker/login-action@v2 - with: - 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_test - ghcr.io/inti-cmnb/kicad_auto_test - ghcr.io/inti-cmnb/kicad5_auto_full - tags: | - type=raw,dev - - - name: Build and push Docker image - uses: docker/build-push-action@v3 - with: - context: tools/dev_image - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - push_to_registry_k6: - name: Docker KiCad 6 full dev - runs-on: ubuntu-latest - needs: test - permissions: - packages: write - contents: read - # Don't create `dev` images using the `master` - if: github.ref == 'refs/heads/dev' - - steps: - - name: Check out the repo - uses: actions/checkout@v3 - - - name: Log in to Docker Hub - uses: docker/login-action@v2 - with: - 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_test - ghcr.io/inti-cmnb/kicad_auto_test - ghcr.io/inti-cmnb/kicad6_auto_full - tags: | - type=raw,dev_k6 - - - name: Build and push Docker image - uses: docker/build-push-action@v3 - with: - context: tools/dev_image_k6 - push: true - tags: | - setsoft/kicad_auto_test:dev_k6 - ghcr.io/inti-cmnb/kicad_auto_test:dev_k6 - ghcr.io/inti-cmnb/kicad6_auto_full:dev - labels: ${{ steps.meta.outputs.labels }} - - push_to_registry_ng: - name: Docker KiCad 7 full dev - runs-on: ubuntu-latest - needs: test - permissions: - packages: write - contents: read - # Don't create `dev` images using the `master` - if: github.ref == 'refs/heads/dev' - - steps: - - name: Check out the repo - uses: actions/checkout@v3 - - - name: Log in to Docker Hub - uses: docker/login-action@v2 - with: - 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_test - ghcr.io/inti-cmnb/kicad_auto_test - ghcr.io/inti-cmnb/kicad7_auto_full - tags: | - type=raw,dev_k7 - - - name: Build and push Docker image - uses: docker/build-push-action@v3 - with: - context: tools/dev_image_k7 - push: true - tags: | - setsoft/kicad_auto_test:dev_k7 - ghcr.io/inti-cmnb/kicad_auto_test:dev_k7 - labels: ${{ steps.meta.outputs.labels }} - coveralls: name: Finish Coveralls needs: test diff --git a/tools/build_dev_image.sh b/tools/build_dev_image.sh deleted file mode 100755 index 1cb9c538..00000000 --- a/tools/build_dev_image.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -docker build -f tools/dev_image/Dockerfile -t setsoft/kicad_auto:dev . diff --git a/tools/build_dev_image_k6.sh b/tools/build_dev_image_k6.sh deleted file mode 100755 index cbbb736f..00000000 --- a/tools/build_dev_image_k6.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -docker build -f tools/dev_image_k6/Dockerfile -t setsoft/kicad_auto:dev_k6 . diff --git a/tools/dev_image/Dockerfile b/tools/dev_image_k5/Dockerfile similarity index 95% rename from tools/dev_image/Dockerfile rename to tools/dev_image_k5/Dockerfile index 0d41c29f..e4991ba4 100644 --- a/tools/dev_image/Dockerfile +++ b/tools/dev_image_k5/Dockerfile @@ -1,4 +1,4 @@ -FROM setsoft/kicad_auto_test:latest +FROM ghcr.io/inti-cmnb/kicad_auto:ki5 MAINTAINER Salvador E. Tropea LABEL Description="KiCad 5 with KiBot and other automation scripts" diff --git a/tools/dev_image_k5/build.sh b/tools/dev_image_k5/build.sh new file mode 100755 index 00000000..c6d9555c --- /dev/null +++ b/tools/dev_image_k5/build.sh @@ -0,0 +1,13 @@ +#!/bin/sh +set -e +docker build -f Dockerfile -t ghcr.io/inti-cmnb/kicad5_auto:dev . +TG1=`docker run --rm ghcr.io/inti-cmnb/kicad5_auto:dev kibot --version | sed 's/.* \([0-9]\+\.[0-9]\+\.[0-9]\+\) .*/\1/' | tr -d '\n'` +HASH=`git log --pretty=format:%h -1 | tr -d '\n'` +TG2=k`docker run --rm ghcr.io/inti-cmnb/kicad5_auto:dev kicad_version.py` +TG3=d`docker run --rm ghcr.io/inti-cmnb/kicad5_auto:dev cat /etc/debian_version | tr -d '\n'` +TG4=b`docker run --rm ghcr.io/inti-cmnb/kicad6_auto:latest /bin/bash -c "ls -d /usr/bin/?.? | tr -d '\n' | tail -c 3"` +docker tag ghcr.io/inti-cmnb/kicad5_auto:dev ghcr.io/inti-cmnb/kicad5_auto:dev_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker tag ghcr.io/inti-cmnb/kicad5_auto:dev ghcr.io/inti-cmnb/kicad_auto:dev_k5_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad5_auto:dev_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad_auto:dev_k5_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad5_auto:dev diff --git a/tools/dev_image_k5f/Dockerfile b/tools/dev_image_k5f/Dockerfile new file mode 100644 index 00000000..e1780d5e --- /dev/null +++ b/tools/dev_image_k5f/Dockerfile @@ -0,0 +1,22 @@ +FROM ghcr.io/inti-cmnb/kicad_auto_test:ki5 +MAINTAINER Salvador E. Tropea +LABEL Description="KiCad 5 with KiBot and other automation scripts" + +RUN dpkg --remove kicost kibot && \ + apt-get update && \ + curl https://codeload.github.com/INTI-CMNB/KiBot/zip/refs/heads/dev --output pp.zip && \ + unzip pp.zip && \ + pip3 install --no-compile KiBot-dev/ && \ + rm -rf KiBot-dev pp.zip && \ + curl https://codeload.github.com/hildogjr/KiCost/zip/refs/heads/master --output pp.zip && \ + unzip pp.zip && \ + pip3 install KiCost-master/ && \ + rm -rf KiCost-master pp.zip && \ + rm -rf /var/lib/apt/lists/* + +# kidiff depends on KiAuto +# dpkg --remove kiauto && \ +# curl https://codeload.github.com/INTI-CMNB/KiAuto/zip/refs/heads/master --output pp.zip && \ +# unzip pp.zip && \ +# pip3 install KiAuto-master/ && \ +# rm -rf KiAuto-master/ pp.zip && \ diff --git a/tools/dev_image_k5f/build.sh b/tools/dev_image_k5f/build.sh new file mode 100755 index 00000000..acf22ea1 --- /dev/null +++ b/tools/dev_image_k5f/build.sh @@ -0,0 +1,13 @@ +#!/bin/sh +set -e +docker build -f Dockerfile -t ghcr.io/inti-cmnb/kicad5_auto_full:dev . +TG1=`docker run --rm ghcr.io/inti-cmnb/kicad5_auto_full:dev kibot --version | sed 's/.* \([0-9]\+\.[0-9]\+\.[0-9]\+\) .*/\1/' | tr -d '\n'` +HASH=`git log --pretty=format:%h -1 | tr -d '\n'` +TG2=k`docker run --rm ghcr.io/inti-cmnb/kicad5_auto_full:dev kicad_version.py` +TG3=d`docker run --rm ghcr.io/inti-cmnb/kicad5_auto_full:dev cat /etc/debian_version | tr -d '\n'` +TG4=b`docker run --rm ghcr.io/inti-cmnb/kicad6_auto_full:latest /bin/bash -c "ls -d /usr/bin/?.? | tr -d '\n' | tail -c 3"` +docker tag ghcr.io/inti-cmnb/kicad5_auto_full:dev ghcr.io/inti-cmnb/kicad5_auto_full:dev_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker tag ghcr.io/inti-cmnb/kicad5_auto_full:dev ghcr.io/inti-cmnb/kicad_auto_full:dev_k5_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad5_auto_full:dev_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad_auto_full:dev_k5_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad5_auto_full:dev diff --git a/tools/dev_image_k6/Dockerfile b/tools/dev_image_k6/Dockerfile index 902bac9c..fe37257a 100644 --- a/tools/dev_image_k6/Dockerfile +++ b/tools/dev_image_k6/Dockerfile @@ -1,4 +1,4 @@ -FROM setsoft/kicad_auto_test:ki6 +FROM ghcr.io/inti-cmnb/kicad_auto:ki6 MAINTAINER Salvador E. Tropea LABEL Description="KiCad 6 with KiBot and other automation scripts" diff --git a/tools/dev_image_k6/build.sh b/tools/dev_image_k6/build.sh new file mode 100755 index 00000000..3b8da725 --- /dev/null +++ b/tools/dev_image_k6/build.sh @@ -0,0 +1,13 @@ +#!/bin/sh +set -e +docker build -f Dockerfile -t ghcr.io/inti-cmnb/kicad6_auto:dev . +TG1=`docker run --rm ghcr.io/inti-cmnb/kicad6_auto:dev kibot --version | sed 's/.* \([0-9]\+\.[0-9]\+\.[0-9]\+\) .*/\1/' | tr -d '\n'` +HASH=`git log --pretty=format:%h -1 | tr -d '\n'` +TG2=k`docker run --rm ghcr.io/inti-cmnb/kicad6_auto:dev kicad_version.py` +TG3=d`docker run --rm ghcr.io/inti-cmnb/kicad6_auto:dev cat /etc/debian_version | tr -d '\n'` +TG4=b`docker run --rm ghcr.io/inti-cmnb/kicad6_auto:latest /bin/bash -c "ls -d /usr/bin/?.? | tr -d '\n' | tail -c 3"` +docker tag ghcr.io/inti-cmnb/kicad6_auto:dev ghcr.io/inti-cmnb/kicad6_auto:dev_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker tag ghcr.io/inti-cmnb/kicad6_auto:dev ghcr.io/inti-cmnb/kicad_auto:dev_k6_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad6_auto:dev_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad_auto:dev_k6_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad6_auto:dev diff --git a/tools/dev_image_k6f/Dockerfile b/tools/dev_image_k6f/Dockerfile new file mode 100644 index 00000000..c16e692b --- /dev/null +++ b/tools/dev_image_k6f/Dockerfile @@ -0,0 +1,22 @@ +FROM ghcr.io/inti-cmnb/kicad_auto_test:ki6 +MAINTAINER Salvador E. Tropea +LABEL Description="KiCad 6 with KiBot and other automation scripts" + +RUN dpkg --remove kicost kibot && \ + apt-get update && \ + curl https://codeload.github.com/INTI-CMNB/KiBot/zip/refs/heads/dev --output pp.zip && \ + unzip pp.zip && \ + pip3 install --no-compile KiBot-dev/ && \ + rm -rf KiBot-dev pp.zip && \ + curl https://codeload.github.com/hildogjr/KiCost/zip/refs/heads/master --output pp.zip && \ + unzip pp.zip && \ + pip3 install KiCost-master/ && \ + rm -rf KiCost-master pp.zip && \ + rm -rf /var/lib/apt/lists/* + +# kidiff depends on KiAuto +# dpkg --remove kiauto && \ +# curl https://codeload.github.com/INTI-CMNB/KiAuto/zip/refs/heads/master --output pp.zip && \ +# unzip pp.zip && \ +# pip3 install KiAuto-master/ && \ +# rm -rf KiAuto-master/ pp.zip && \ diff --git a/tools/dev_image_k6f/build.sh b/tools/dev_image_k6f/build.sh new file mode 100755 index 00000000..fe59097d --- /dev/null +++ b/tools/dev_image_k6f/build.sh @@ -0,0 +1,13 @@ +#!/bin/sh +set -e +docker build -f Dockerfile -t ghcr.io/inti-cmnb/kicad6_auto_full:dev . +TG1=`docker run --rm ghcr.io/inti-cmnb/kicad6_auto_full:dev kibot --version | sed 's/.* \([0-9]\+\.[0-9]\+\.[0-9]\+\) .*/\1/' | tr -d '\n'` +HASH=`git log --pretty=format:%h -1 | tr -d '\n'` +TG2=k`docker run --rm ghcr.io/inti-cmnb/kicad6_auto_full:dev kicad_version.py` +TG3=d`docker run --rm ghcr.io/inti-cmnb/kicad6_auto_full:dev cat /etc/debian_version | tr -d '\n'` +TG4=b`docker run --rm ghcr.io/inti-cmnb/kicad6_auto_full:latest /bin/bash -c "ls -d /usr/bin/?.? | tr -d '\n' | tail -c 3"` +docker tag ghcr.io/inti-cmnb/kicad6_auto_full:dev ghcr.io/inti-cmnb/kicad6_auto_full:dev_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker tag ghcr.io/inti-cmnb/kicad6_auto_full:dev ghcr.io/inti-cmnb/kicad_auto_full:dev_k6_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad6_auto_full:dev_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad_auto_full:dev_k6_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad6_auto_full:dev diff --git a/tools/dev_image_k7/Dockerfile b/tools/dev_image_k7/Dockerfile index 4fe91da3..26ac551e 100644 --- a/tools/dev_image_k7/Dockerfile +++ b/tools/dev_image_k7/Dockerfile @@ -1,4 +1,4 @@ -FROM setsoft/kicad_auto_test:nightly +FROM ghcr.io/inti-cmnb/kicad_auto:ki7 MAINTAINER Salvador E. Tropea LABEL Description="KiCad 6 with KiBot and other automation scripts" diff --git a/tools/dev_image_k7/build.sh b/tools/dev_image_k7/build.sh new file mode 100755 index 00000000..9548d054 --- /dev/null +++ b/tools/dev_image_k7/build.sh @@ -0,0 +1,13 @@ +#!/bin/sh +set -e +docker build -f Dockerfile -t ghcr.io/inti-cmnb/kicad7_auto:dev . +TG1=`docker run --rm ghcr.io/inti-cmnb/kicad7_auto:dev kibot --version | sed 's/.* \([0-9]\+\.[0-9]\+\.[0-9]\+\) .*/\1/' | tr -d '\n'` +HASH=`git log --pretty=format:%h -1 | tr -d '\n'` +TG2=k`docker run --rm ghcr.io/inti-cmnb/kicad7_auto:dev kicad_version.py` +TG3=d`docker run --rm ghcr.io/inti-cmnb/kicad7_auto:dev cat /etc/debian_version | tr -d '\n'` +TG4=b`docker run --rm ghcr.io/inti-cmnb/kicad7_auto:latest /bin/bash -c "ls -d /usr/bin/?.? | tr -d '\n' | tail -c 3"` +docker tag ghcr.io/inti-cmnb/kicad7_auto:dev ghcr.io/inti-cmnb/kicad7_auto:dev_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker tag ghcr.io/inti-cmnb/kicad7_auto:dev ghcr.io/inti-cmnb/kicad_auto:dev_k7_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad7_auto:dev_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad_auto:dev_k7_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad7_auto:dev diff --git a/tools/dev_image_k7f/Dockerfile b/tools/dev_image_k7f/Dockerfile new file mode 100644 index 00000000..cc1acc01 --- /dev/null +++ b/tools/dev_image_k7f/Dockerfile @@ -0,0 +1,22 @@ +FROM ghcr.io/inti-cmnb/kicad_auto_test:ki7 +MAINTAINER Salvador E. Tropea +LABEL Description="KiCad 6 with KiBot and other automation scripts" + +RUN dpkg --remove kicost kibot && \ + apt-get update && \ + curl https://codeload.github.com/INTI-CMNB/KiBot/zip/refs/heads/dev --output pp.zip && \ + unzip pp.zip && \ + pip3 install --no-compile KiBot-dev/ && \ + rm -rf KiBot-dev pp.zip && \ + curl https://codeload.github.com/hildogjr/KiCost/zip/refs/heads/master --output pp.zip && \ + unzip pp.zip && \ + pip3 install KiCost-master/ && \ + rm -rf KiCost-master pp.zip && \ + rm -rf /var/lib/apt/lists/* + +# kidiff depends on KiAuto +# dpkg --remove kiauto && \ +# curl https://codeload.github.com/INTI-CMNB/KiAuto/zip/refs/heads/master --output pp.zip && \ +# unzip pp.zip && \ +# pip3 install KiAuto-master/ && \ +# rm -rf KiAuto-master/ pp.zip && \ diff --git a/tools/dev_image_k7f/build.sh b/tools/dev_image_k7f/build.sh new file mode 100755 index 00000000..d1bedeac --- /dev/null +++ b/tools/dev_image_k7f/build.sh @@ -0,0 +1,13 @@ +#!/bin/sh +set -e +docker build -f Dockerfile -t ghcr.io/inti-cmnb/kicad7_auto_full:dev . +TG1=`docker run --rm ghcr.io/inti-cmnb/kicad7_auto_full:dev kibot --version | sed 's/.* \([0-9]\+\.[0-9]\+\.[0-9]\+\) .*/\1/' | tr -d '\n'` +HASH=`git log --pretty=format:%h -1 | tr -d '\n'` +TG2=k`docker run --rm ghcr.io/inti-cmnb/kicad7_auto_full:dev kicad_version.py` +TG3=d`docker run --rm ghcr.io/inti-cmnb/kicad7_auto_full:dev cat /etc/debian_version | tr -d '\n'` +TG4=b`docker run --rm ghcr.io/inti-cmnb/kicad7_auto_full:latest /bin/bash -c "ls -d /usr/bin/?.? | tr -d '\n' | tail -c 3"` +docker tag ghcr.io/inti-cmnb/kicad7_auto_full:dev ghcr.io/inti-cmnb/kicad7_auto_full:dev_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker tag ghcr.io/inti-cmnb/kicad7_auto_full:dev ghcr.io/inti-cmnb/kicad_auto_full:dev_k7_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad7_auto_full:dev_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad_auto_full:dev_k7_${TG1}-${HASH}_${TG2}_${TG3}_${TG4} +docker push ghcr.io/inti-cmnb/kicad7_auto_full:dev