diff --git a/.github/workflows/docker_hub_ki6_full.yml b/.github/workflows/docker_hub_ki5.yml similarity index 88% rename from .github/workflows/docker_hub_ki6_full.yml rename to .github/workflows/docker_hub_ki5.yml index 5c0efa6..075a064 100644 --- a/.github/workflows/docker_hub_ki6_full.yml +++ b/.github/workflows/docker_hub_ki5.yml @@ -1,11 +1,11 @@ -name: KiBot (KiCad 6 Full) Docker image +name: KiBot (KiCad 5) Docker image on: push: tags: - - ki6f_* + - ki5_* repository_dispatch: - types: [build_k6f] + types: [build_k5] jobs: push_to_registry: @@ -34,5 +34,5 @@ jobs: - name: Build and push Docker image run: | - cd ki6_full + cd ki5 ./build.sh diff --git a/.github/workflows/docker_hub.yml b/.github/workflows/docker_hub_ki5_pre.yml similarity index 51% rename from .github/workflows/docker_hub.yml rename to .github/workflows/docker_hub_ki5_pre.yml index 3d858ab..03dcde0 100644 --- a/.github/workflows/docker_hub.yml +++ b/.github/workflows/docker_hub_ki5_pre.yml @@ -1,15 +1,15 @@ -name: Docker Hub upload (normal) +name: KiBot (KiCad 5 deps) Docker image on: push: tags: - - b* + - ki5p_* repository_dispatch: - types: [build_k5] + types: [build_k5p] jobs: push_to_registry: - name: Push Docker image to Docker Hub and GitHub Packages + name: Push Docker image to Docker Hub runs-on: ubuntu-latest permissions: packages: write @@ -32,25 +32,11 @@ jobs: 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 - ghcr.io/${{ github.repository }} - ghcr.io/inti-cmnb/kicad5_auto - tags: | - type=raw,latest - - - name: Build and push Docker images - uses: docker/build-push-action@v3 - with: - # context: tools/dev_image - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - - name: Trigger KiCad-Auto-Test image build + - name: Build and push Docker image 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_k5"}' + cd ki5_pre + ./build.sh + + - name: Trigger KiCad-Auto 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/dispatches --data '{"event_type": "build_k5"}' diff --git a/.github/workflows/docker_hub_ki6_pre.yml b/.github/workflows/docker_hub_ki6_pre.yml new file mode 100644 index 0000000..18dfd29 --- /dev/null +++ b/.github/workflows/docker_hub_ki6_pre.yml @@ -0,0 +1,42 @@ +name: KiBot (KiCad 6 deps) Docker image + +on: + push: + tags: + - ki6p_* + repository_dispatch: + types: [build_k6p] + +jobs: + push_to_registry: + name: Push Docker image to Docker Hub + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + + 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 ki6_pre + ./build.sh + + - name: Trigger KiCad-Auto 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/dispatches --data '{"event_type": "build_k6"}' diff --git a/.github/workflows/docker_hub_ki7.yml b/.github/workflows/docker_hub_ki7.yml new file mode 100644 index 0000000..eee9615 --- /dev/null +++ b/.github/workflows/docker_hub_ki7.yml @@ -0,0 +1,38 @@ +name: KiBot (KiCad 7) Docker image + +on: + push: + tags: + - ki7_* + repository_dispatch: + types: [build_k7] + +jobs: + push_to_registry: + name: Push Docker image to Docker Hub + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + + 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 ki7 + ./build.sh diff --git a/.github/workflows/docker_hub_ki7_pre.yml b/.github/workflows/docker_hub_ki7_pre.yml new file mode 100644 index 0000000..a3167ae --- /dev/null +++ b/.github/workflows/docker_hub_ki7_pre.yml @@ -0,0 +1,42 @@ +name: KiBot (KiCad 7 deps) Docker image + +on: + push: + tags: + - ki7p_* + repository_dispatch: + types: [build_k7p] + +jobs: + push_to_registry: + name: Push Docker image to Docker Hub + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + + 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 ki7_pre + ./build.sh + + - name: Trigger KiCad-Auto 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/dispatches --data '{"event_type": "build_k7"}' diff --git a/build.sh b/build.sh deleted file mode 100755 index b8c42fa..0000000 --- a/build.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -docker build -f Dockerfile -t setsoft/kicad_auto:latest . diff --git a/do_tag.py b/do_tag.py deleted file mode 100755 index 498484c..0000000 --- a/do_tag.py +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/python3 -import os -import re -import stat -import subprocess - -CUR_VERSION = '1.6.0' -CUR_K5 = '5.1.9' -CUR_K6 = '6.0.10' -CUR_DEB = '11.6' -ITERA = '1' - -TAGS = {'latest': CUR_DEB+'-'+CUR_K5, 'ki6': 'ki'+CUR_K6+'_Debian'} -NEW_TAGS = {'latest': '-'+ITERA+'_k'+CUR_K5+'_d'+CUR_DEB, 'ki6': '-'+ITERA+'_k'+CUR_K6+'_d'+CUR_DEB} -NEW_DEB1 = {'latest': CUR_K5, 'ki6': CUR_K6} -NEW_DEB2 = {'latest': CUR_K5+'_d'+CUR_DEB, 'ki6': CUR_K6+'_d'+CUR_DEB} -IMAGES = ['kicad_debian', 'kicad_auto', 'kicad_auto_test'] -NEW_NAMES = {'kicad_auto:latest': 'kicad5_auto', - 'kicad_auto:ki6': 'kicad6_auto', - 'kicad_auto_test:latest': 'kicad5_auto_full', - 'kicad_auto_test:ki6': 'kicad6_auto_full'} -NEW_NAMES_D = {'kicad_debian:latest': 'kicad5_debian', - 'kicad_debian:ki6': 'kicad6_debian'} -OWNER = 'setsoft' -OWNER2 = 'ghcr.io/inti-cmnb' -DEBUG = False - - -def do_tag(name, hash, current): - cmd = ['docker', 'tag', hash, name] - print('{} -> {}'.format(current, cmd)) - if not DEBUG: - subprocess.run(cmd, check=True) - - -res = subprocess.run(['docker', 'images'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, check=True) -reg = re.compile(r'^(\S+)\s+(\S+)\s+([0-9a-z]+)\s+') - -if 1: - for ln in res.stdout.decode().split('\n'): - r = reg.search(ln) - if r is None: - continue - r = r.groups() - tag = r[1] - if tag not in TAGS: - continue - r1 = r[0].split('/') - if len(r1) != 2 or r1[0] != OWNER: - continue - img = r1[1] - if img not in IMAGES: - continue - hash = r[2] - current = r[0]+':'+tag - do_tag('{}/{}:{}'.format(OWNER, img, TAGS[tag]), hash, current) - do_tag('{}/{}:{}'.format(OWNER2, img, TAGS[tag]), hash, current) - do_tag('{}/{}:{}'.format(OWNER2, img, tag), hash, current) - old_lu = img+':'+tag - try: - new_img = NEW_NAMES[old_lu] - do_tag('{}/{}:{}'.format(OWNER2, new_img, 'latest'), hash, current) - do_tag('{}/{}:{}'.format(OWNER2, new_img, CUR_VERSION), hash, current) - do_tag('{}/{}:{}'.format(OWNER2, new_img, CUR_VERSION+NEW_TAGS[tag]), hash, current) - except KeyError: - pass - try: - new_img = NEW_NAMES_D[old_lu] - do_tag('{}/{}:{}'.format(OWNER2, new_img, 'latest'), hash, current) - do_tag('{}/{}:{}'.format(OWNER2, new_img, NEW_DEB1[tag]), hash, current) - do_tag('{}/{}:{}'.format(OWNER2, new_img, NEW_DEB2[tag]), hash, current) - except KeyError: - pass - - -with open('push.sh', 'wt') as f: - f.write('#!/bin/sh\n') - for o in [OWNER, OWNER2]: - for i in IMAGES: - for t in TAGS.values(): - f.write('docker push {}/{}:{}\n'.format(o, i, t)) - if o == OWNER2: - for i in IMAGES: - f.write('docker push {}/{}:latest\n'.format(o, i)) - f.write('docker push {}/{}:ki6\n'.format(o, i)) - if i == 'kicad_debian': - for t in TAGS.keys(): - new_name = NEW_NAMES_D[i+':'+t] - f.write('docker push {}/{}:latest\n'.format(o, new_name)) - f.write('docker push {}/{}:{}\n'.format(o, new_name, NEW_DEB1[t])) - f.write('docker push {}/{}:{}\n'.format(o, new_name, NEW_DEB2[t])) - else: - for t in TAGS.keys(): - new_name = NEW_NAMES[i+':'+t] - f.write('docker push {}/{}:latest\n'.format(o, new_name)) - f.write('docker push {}/{}:{}\n'.format(o, new_name, CUR_VERSION)) - f.write('docker push {}/{}:{}\n'.format(o, new_name, CUR_VERSION+NEW_TAGS[t])) -os.chmod('push.sh', stat.S_IRWXU) diff --git a/ki5/Dockerfile b/ki5/Dockerfile new file mode 100644 index 0000000..d2a65a0 --- /dev/null +++ b/ki5/Dockerfile @@ -0,0 +1,19 @@ +FROM ghcr.io/inti-cmnb/kicad5_auto:latest_deps +MAINTAINER Salvador E. Tropea +LABEL Description="KiCad 5 w/KiBot and other automation scripts" +LABEL org.opencontainers.image.description "KiCad 5 w/KiBot and other automation scripts" + +# Install all the tools, dependencies are already installed +RUN apt-get update && \ + dl_deb.py INTI-CMNB/KiBoM && \ + dl_deb.py INTI-CMNB/kicad-git-filters && \ + dl_deb.py set-soft/kicost-digikey-api-v3 && \ + dl_deb.py hildogjr/KiCost && \ + dl_deb.py INTI-CMNB/InteractiveHtmlBom && \ + dl_deb.py INTI-CMNB/KiAuto && \ + dl_deb.py INTI-CMNB/kidiff && \ + dl_deb.py INTI-CMNB/KiBot && \ + apt -y install --no-install-recommends ./*.deb && \ + apt-get -y autoremove && \ + rm /*.deb && \ + rm -rf /var/lib/apt/lists/* /var/cache/debconf/templates.dat-old /var/lib/dpkg/status-old diff --git a/ki5/build.sh b/ki5/build.sh new file mode 100755 index 0000000..e1a3a3a --- /dev/null +++ b/ki5/build.sh @@ -0,0 +1,16 @@ +#!/bin/sh +docker build -f Dockerfile -t ghcr.io/inti-cmnb/kicad5_auto:latest . +IT=2 +TG1=`docker run --rm ghcr.io/inti-cmnb/kicad5_auto:latest kibot --version | sed 's/.* \([0-9]\+\.[0-9]\+\.[0-9]\+\) .*/\1/' | tr -d '\n'` +TG2=k`docker run --rm ghcr.io/inti-cmnb/kicad5_auto:latest kicad_version.py` +TG3=d`docker run --rm ghcr.io/inti-cmnb/kicad5_auto:latest cat /etc/debian_version | tr -d '\n'` +docker tag ghcr.io/inti-cmnb/kicad5_auto:latest ghcr.io/inti-cmnb/kicad5_auto:${TG1}-${IT}_${TG2}_${TG3} +docker tag ghcr.io/inti-cmnb/kicad5_auto:latest ghcr.io/inti-cmnb/kicad5_auto:${TG1} +docker tag ghcr.io/inti-cmnb/kicad5_auto:latest ghcr.io/inti-cmnb/kicad_auto:latest +docker tag ghcr.io/inti-cmnb/kicad5_auto:latest setsoft/kicad_auto:latest +docker push ghcr.io/inti-cmnb/kicad5_auto:${TG1}-${IT}_${TG2}_${TG3} +docker push ghcr.io/inti-cmnb/kicad5_auto:${TG1} +docker push ghcr.io/inti-cmnb/kicad5_auto:latest +docker push ghcr.io/inti-cmnb/kicad_auto:latest +docker push setsoft/kicad_auto:latest + diff --git a/ki5/run_shell.sh b/ki5/run_shell.sh new file mode 100755 index 0000000..6ee3d56 --- /dev/null +++ b/ki5/run_shell.sh @@ -0,0 +1,2 @@ +#!/bin/sh +docker run --rm -it ghcr.io/inti-cmnb/kicad5_auto:latest /bin/bash diff --git a/run_shell_same_user.sh b/ki5/run_shell_same_user.sh similarity index 89% rename from run_shell_same_user.sh rename to ki5/run_shell_same_user.sh index a201b1e..b66a9b3 100755 --- a/run_shell_same_user.sh +++ b/ki5/run_shell_same_user.sh @@ -10,4 +10,4 @@ docker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY \ --volume="/etc/passwd:/etc/passwd:ro" \ --volume="/etc/shadow:/etc/shadow:ro" \ --volume="/home/$USER:/home/$USER:rw" \ - setsoft/kicad_auto:latest /bin/bash + ghcr.io/inti-cmnb/kicad5_auto:latest /bin/bash diff --git a/ki5_pre/Dockerfile b/ki5_pre/Dockerfile new file mode 100644 index 0000000..b61f1e4 --- /dev/null +++ b/ki5_pre/Dockerfile @@ -0,0 +1,15 @@ +FROM ghcr.io/inti-cmnb/kicad5_debian:latest +MAINTAINER Salvador E. Tropea +LABEL Description="Layer used for new dependencies" +LABEL org.opencontainers.image.description "Layer used for new dependencies" + +RUN apt-get update && \ + echo "Use wget to download some stuff" && \ + apt -y install --no-install-recommends wget && \ + echo "XLSX Writer 3 fixes some important limitations in URLs (used by KiBoM, KiCost, KiBot, etc.)" && \ + wget http://http.us.debian.org/debian/pool/main/x/xlsxwriter/python3-xlsxwriter_3.0.2-2_all.deb && \ + apt -y install --no-install-recommends ./*.deb && \ + apt-get -y remove wget && \ + apt-get -y autoremove && \ + rm /*.deb && \ + rm -rf /var/lib/apt/lists/* /var/cache/debconf/templates.dat-old /var/lib/dpkg/status-old diff --git a/ki5_pre/build.sh b/ki5_pre/build.sh new file mode 100755 index 0000000..cdf9ce8 --- /dev/null +++ b/ki5_pre/build.sh @@ -0,0 +1,8 @@ +#!/bin/sh +docker build -f Dockerfile -t ghcr.io/inti-cmnb/kicad5_auto:latest_deps . +TG1=`docker run --rm ghcr.io/inti-cmnb/kicad5_auto:latest_deps kicad_version.py` +TG2=d`docker run --rm ghcr.io/inti-cmnb/kicad5_auto:latest_deps cat /etc/debian_version | tr -d '\n'` +docker tag ghcr.io/inti-cmnb/kicad5_auto:latest_deps ghcr.io/inti-cmnb/kicad5_auto:${TG1}_${TG2}_deps +docker push ghcr.io/inti-cmnb/kicad5_auto:${TG1}_${TG2}_deps +docker push ghcr.io/inti-cmnb/kicad5_auto:latest_deps + diff --git a/ki5_pre/run_shell.sh b/ki5_pre/run_shell.sh new file mode 100755 index 0000000..dc1bc90 --- /dev/null +++ b/ki5_pre/run_shell.sh @@ -0,0 +1,2 @@ +#!/bin/sh +docker run --rm -it ghcr.io/inti-cmnb/kicad5_auto:latest_deps /bin/bash diff --git a/run_shell_same_user_dev.sh b/ki5_pre/run_shell_same_user.sh similarity index 88% rename from run_shell_same_user_dev.sh rename to ki5_pre/run_shell_same_user.sh index abc741c..7bb1d14 100755 --- a/run_shell_same_user_dev.sh +++ b/ki5_pre/run_shell_same_user.sh @@ -10,4 +10,4 @@ docker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY \ --volume="/etc/passwd:/etc/passwd:ro" \ --volume="/etc/shadow:/etc/shadow:ro" \ --volume="/home/$USER:/home/$USER:rw" \ - setsoft/kicad_auto:dev /bin/bash + ghcr.io/inti-cmnb/kicad5_auto:latest_deps /bin/bash diff --git a/ki6/build.sh b/ki6/build.sh index 9348d3d..e99a1f8 100755 --- a/ki6/build.sh +++ b/ki6/build.sh @@ -8,9 +8,9 @@ docker tag ghcr.io/inti-cmnb/kicad6_auto:latest ghcr.io/inti-cmnb/kicad6_auto:${ docker tag ghcr.io/inti-cmnb/kicad6_auto:latest ghcr.io/inti-cmnb/kicad6_auto:${TG1} docker tag ghcr.io/inti-cmnb/kicad6_auto:latest ghcr.io/inti-cmnb/kicad_auto:ki6 docker tag ghcr.io/inti-cmnb/kicad6_auto:latest setsoft/kicad_auto:ki6 -#docker push ghcr.io/inti-cmnb/kicad6_auto:${TG1}-${IT}_${TG2}_${TG3} -#docker push ghcr.io/inti-cmnb/kicad6_auto:${TG1} -#docker push ghcr.io/inti-cmnb/kicad6_auto:latest -#docker push ghcr.io/inti-cmnb/kicad_auto_test:ki6 -#docker push setsoft/kicad_auto_test:ki6 +docker push ghcr.io/inti-cmnb/kicad6_auto:${TG1}-${IT}_${TG2}_${TG3} +docker push ghcr.io/inti-cmnb/kicad6_auto:${TG1} +docker push ghcr.io/inti-cmnb/kicad6_auto:latest +docker push ghcr.io/inti-cmnb/kicad_auto:ki6 +docker push setsoft/kicad_auto:ki6 diff --git a/ki7/Dockerfile b/ki7/Dockerfile new file mode 100644 index 0000000..f809bf6 --- /dev/null +++ b/ki7/Dockerfile @@ -0,0 +1,21 @@ +FROM ghcr.io/inti-cmnb/kicad7_auto:latest_deps +MAINTAINER Salvador E. Tropea +LABEL Description="KiCad 7 w/KiBot and other automation scripts" +LABEL org.opencontainers.image.description "KiCad 7 w/KiBot and other automation scripts" + +# Install all the tools, dependencies are already installed +RUN apt-get update && \ + dl_deb.py INTI-CMNB/KiBoM && \ + dl_deb.py INTI-CMNB/kicad-git-filters && \ + dl_deb.py set-soft/kicost-digikey-api-v3 && \ + dl_deb.py hildogjr/KiCost && \ + dl_deb.py INTI-CMNB/InteractiveHtmlBom && \ + dl_deb.py set-soft/pcbnewTransition && \ + dl_deb.py INTI-CMNB/KiKit --skip kikit-doc && \ + dl_deb.py INTI-CMNB/KiAuto && \ + dl_deb.py INTI-CMNB/kidiff && \ + dl_deb.py INTI-CMNB/KiBot && \ + apt -y install --no-install-recommends ./*.deb && \ + apt-get -y autoremove && \ + rm /*.deb && \ + rm -rf /var/lib/apt/lists/* /var/cache/debconf/templates.dat-old /var/lib/dpkg/status-old diff --git a/ki7/build.sh b/ki7/build.sh new file mode 100755 index 0000000..2bb8e9a --- /dev/null +++ b/ki7/build.sh @@ -0,0 +1,16 @@ +#!/bin/sh +docker build -f Dockerfile -t ghcr.io/inti-cmnb/kicad7_auto:latest . +IT=2 +TG1=`docker run --rm ghcr.io/inti-cmnb/kicad7_auto:latest kibot --version | sed 's/.* \([0-9]\+\.[0-9]\+\.[0-9]\+\) .*/\1/' | tr -d '\n'` +TG2=k`docker run --rm ghcr.io/inti-cmnb/kicad7_auto:latest kicad_version.py` +TG3=d`docker run --rm ghcr.io/inti-cmnb/kicad7_auto:latest cat /etc/debian_version | tr -d '\n'` +docker tag ghcr.io/inti-cmnb/kicad7_auto:latest ghcr.io/inti-cmnb/kicad7_auto:${TG1}-${IT}_${TG2}_${TG3} +docker tag ghcr.io/inti-cmnb/kicad7_auto:latest ghcr.io/inti-cmnb/kicad7_auto:${TG1} +docker tag ghcr.io/inti-cmnb/kicad7_auto:latest ghcr.io/inti-cmnb/kicad_auto:ki7 +docker tag ghcr.io/inti-cmnb/kicad7_auto:latest setsoft/kicad_auto:ki7 +docker push ghcr.io/inti-cmnb/kicad7_auto:${TG1}-${IT}_${TG2}_${TG3} +docker push ghcr.io/inti-cmnb/kicad7_auto:${TG1} +docker push ghcr.io/inti-cmnb/kicad7_auto:latest +docker push ghcr.io/inti-cmnb/kicad_auto:ki7 +docker push setsoft/kicad_auto:ki7 + diff --git a/ki7/run_shell.sh b/ki7/run_shell.sh new file mode 100755 index 0000000..6c7c827 --- /dev/null +++ b/ki7/run_shell.sh @@ -0,0 +1,2 @@ +#!/bin/sh +docker run --rm -it ghcr.io/inti-cmnb/kicad7_auto:latest /bin/bash diff --git a/run_shell_same_user_dev_k6.sh b/ki7/run_shell_same_user.sh similarity index 89% rename from run_shell_same_user_dev_k6.sh rename to ki7/run_shell_same_user.sh index a8cfcfb..9088bb0 100755 --- a/run_shell_same_user_dev_k6.sh +++ b/ki7/run_shell_same_user.sh @@ -10,4 +10,4 @@ docker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY \ --volume="/etc/passwd:/etc/passwd:ro" \ --volume="/etc/shadow:/etc/shadow:ro" \ --volume="/home/$USER:/home/$USER:rw" \ - ghcr.io/inti-cmnb/kicad6_auto:dev /bin/bash + ghcr.io/inti-cmnb/kicad7_auto:latest /bin/bash diff --git a/ki7_pre/Dockerfile b/ki7_pre/Dockerfile new file mode 100644 index 0000000..f356263 --- /dev/null +++ b/ki7_pre/Dockerfile @@ -0,0 +1,15 @@ +FROM ghcr.io/inti-cmnb/kicad7_debian:latest +MAINTAINER Salvador E. Tropea +LABEL Description="Layer used for new dependencies" +LABEL org.opencontainers.image.description "Layer used for new dependencies" + +RUN apt-get update && \ + echo "Use wget to download some stuff" && \ + apt -y install --no-install-recommends wget && \ + echo "XLSX Writer 3 fixes some important limitations in URLs (used by KiBoM, KiCost, KiBot, etc.)" && \ + wget http://http.us.debian.org/debian/pool/main/x/xlsxwriter/python3-xlsxwriter_3.0.2-2_all.deb && \ + apt -y install --no-install-recommends ./*.deb && \ + apt-get -y remove wget && \ + apt-get -y autoremove && \ + rm /*.deb && \ + rm -rf /var/lib/apt/lists/* /var/cache/debconf/templates.dat-old /var/lib/dpkg/status-old diff --git a/ki7_pre/build.sh b/ki7_pre/build.sh new file mode 100755 index 0000000..6ac6c4e --- /dev/null +++ b/ki7_pre/build.sh @@ -0,0 +1,8 @@ +#!/bin/sh +docker build -f Dockerfile -t ghcr.io/inti-cmnb/kicad7_auto:latest_deps . +TG1=`docker run --rm ghcr.io/inti-cmnb/kicad7_auto:latest_deps kicad_version.py` +TG2=d`docker run --rm ghcr.io/inti-cmnb/kicad7_auto:latest_deps cat /etc/debian_version | tr -d '\n'` +docker tag ghcr.io/inti-cmnb/kicad7_auto:latest_deps ghcr.io/inti-cmnb/kicad7_auto:${TG1}_${TG2}_deps +docker push ghcr.io/inti-cmnb/kicad7_auto:${TG1}_${TG2}_deps +docker push ghcr.io/inti-cmnb/kicad7_auto:latest_deps + diff --git a/ki7_pre/run_shell.sh b/ki7_pre/run_shell.sh new file mode 100755 index 0000000..ad21c25 --- /dev/null +++ b/ki7_pre/run_shell.sh @@ -0,0 +1,2 @@ +#!/bin/sh +docker run --rm -it ghcr.io/inti-cmnb/kicad7_auto:latest_deps /bin/bash diff --git a/run_kicad_same_user.sh b/ki7_pre/run_shell_same_user.sh similarity index 73% rename from run_kicad_same_user.sh rename to ki7_pre/run_shell_same_user.sh index 5d45d28..f66edd3 100755 --- a/run_kicad_same_user.sh +++ b/ki7_pre/run_shell_same_user.sh @@ -1,7 +1,7 @@ #!/bin/sh export USER_ID=$(id -u) export GROUP_ID=$(id -g) -docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY \ +docker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY \ --user $USER_ID:$GROUP_ID \ --env NO_AT_BRIDGE=1 \ --workdir="/home/$USER" \ @@ -10,4 +10,4 @@ docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY \ --volume="/etc/passwd:/etc/passwd:ro" \ --volume="/etc/shadow:/etc/shadow:ro" \ --volume="/home/$USER:/home/$USER:rw" \ - setsoft/kicad_auto:latest kicad + ghcr.io/inti-cmnb/kicad7_auto:latest_deps /bin/bash diff --git a/run.sh b/run.sh deleted file mode 100755 index 393588f..0000000 --- a/run.sh +++ /dev/null @@ -1,15 +0,0 @@ -export USER_ID=$(id -u) -export GROUP_ID=$(id -g) -WORKDIR=../hard -SUBDIR=Conjunto -docker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY \ - -v $(pwd)/$WORKDIR:/home/$USER/workdir \ - --user $USER_ID:$GROUP_ID \ - --env NO_AT_BRIDGE=1 \ - --workdir="/home/$USER" \ - --volume="/etc/group:/etc/group:ro" \ - --volume="/home/$USER/.config/kicad:/home/$USER/.config/kicad:rw" \ - --volume="/home/$USER/.cache/kicad:/home/$USER/.cache/kicad:rw" \ - --volume="/etc/passwd:/etc/passwd:ro" \ - --volume="/etc/shadow:/etc/shadow:ro" \ - setsoft/kicad_auto:latest /bin/bash -c "cd workdir/$SUBDIR; kiplot" diff --git a/run_shell.sh b/run_shell.sh deleted file mode 100755 index 1fe5ff1..0000000 --- a/run_shell.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -docker run --rm -it setsoft/kicad_auto:latest /bin/bash diff --git a/run_shell_dev_k6.sh b/run_shell_dev_k6.sh deleted file mode 100755 index 622d100..0000000 --- a/run_shell_dev_k6.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -docker run --rm -it setsoft/kicad_auto:dev_k6 /bin/bash