From 77700f361c8131b51231c4d875f6c0af8376f11f Mon Sep 17 00:00:00 2001 From: my-code-is-grey Date: Tue, 7 Jul 2026 01:30:58 -0400 Subject: [PATCH 1/4] 2798 --- .dockerignore | 56 ++++++++++++++++++++++++++++++ .github/workflows/docker-build.yml | 39 +++++++++++++++------ 2 files changed, 85 insertions(+), 10 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..a1985abc9 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,56 @@ +# Version control +.git +.gitignore +.gitattributes + +# CI / GitHub +.github +.whitesource + +# Editor / IDE +.idea +.vscode +.settings +.project +.pydevproject +.mr.developer.cfg + +# Claude +.claude + +# Python build artifacts +__pycache__ +*.py[cod] +*.so +*.egg +*.egg-info +build/ +dist/ +eggs/ +parts/ +var/ +sdist/ +develop-eggs/ +.installed.cfg +lib/ +lib64/ +.ropeproject + +# Test & coverage +tests/ +pytest.ini +.coveragerc +.coverage +.coverage* +.tox +.cache +.pytest_cache +nosetests.xml + +# Virtualenv +env/ +venv/ +.venv/ + +# Editor backup files +*~ diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index fec449ba2..a07e720d9 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -10,12 +10,28 @@ on: jobs: build: runs-on: ubuntu-latest - + steps: - name: Checkout code uses: actions/checkout@v4 + - name: Check for stable release + id: ver + run: | + TAG="${GITHUB_REF_NAME#v}" + echo "tag=$TAG" >> $GITHUB_OUTPUT + if echo "$TAG" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+$'; then + echo "stable=true" >> $GITHUB_OUTPUT + else + echo "stable=false" >> $GITHUB_OUTPUT + fi + + - name: Set up Docker Buildx + if: steps.ver.outputs.stable == 'true' + uses: docker/setup-buildx-action@v3 + - name: Login to GitHub Container Registry + if: steps.ver.outputs.stable == 'true' uses: docker/login-action@v3 with: registry: ghcr.io @@ -23,18 +39,21 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Login to Docker Hub + if: steps.ver.outputs.stable == 'true' uses: docker/login-action@v3 with: registry: docker.io username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push to GitHub Container Registry - run: | - docker build -t ghcr.io/$(echo "${{ github.repository }}" | tr '[:upper:]' '[:lower:]'):latest . - docker push ghcr.io/$(echo "${{ github.repository }}" | tr '[:upper:]' '[:lower:]'):latest - - - name: Build and push to Docker Hub - run: | - docker build -t gns3/${{ github.event.repository.name }}:latest . - docker push gns3/${{ github.event.repository.name }}:latest + - name: Build and push + if: steps.ver.outputs.stable == 'true' + uses: docker/build-push-action@v6 + with: + context: . + push: true + tags: | + gns3/${{ github.event.repository.name }}:${{ steps.ver.outputs.tag }} + gns3/${{ github.event.repository.name }}:latest + ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:${{ steps.ver.outputs.tag }} + ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:latest From e30e6435ca8915dcb8acbdc4667984dc29c783fb Mon Sep 17 00:00:00 2001 From: my-code-is-grey Date: Tue, 7 Jul 2026 21:42:27 -0400 Subject: [PATCH 2/4] defaulted DOCKERHUB_ORG repository variable --- .github/workflows/docker-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index a07e720d9..306c0ff16 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -53,7 +53,7 @@ jobs: context: . push: true tags: | - gns3/${{ github.event.repository.name }}:${{ steps.ver.outputs.tag }} - gns3/${{ github.event.repository.name }}:latest + ${{ vars.DOCKERHUB_ORG != '' && vars.DOCKERHUB_ORG || 'gns3 }}/${{ github.event.repository.name }}:${{ steps.ver.outputs.tag }} + ${{ vars.DOCKERHUB_ORG != '' && vars.DOCKERHUB_ORG || 'gns3 }}/${{ github.event.repository.name }}:latest ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:${{ steps.ver.outputs.tag }} ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:latest From 1e1ec5aae85167f72d4dcd0020c032931a016bf6 Mon Sep 17 00:00:00 2001 From: my-code-is-grey Date: Tue, 7 Jul 2026 21:58:49 -0400 Subject: [PATCH 3/4] typo made me reconsider and move out to env --- .github/workflows/docker-build.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 306c0ff16..bf668503c 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -10,6 +10,8 @@ on: jobs: build: runs-on: ubuntu-latest + env: + DOCKERHUB_ORG: ${{ vars.DOCKERHUB_ORG || 'gns3' }} steps: - name: Checkout code @@ -53,7 +55,7 @@ jobs: context: . push: true tags: | - ${{ vars.DOCKERHUB_ORG != '' && vars.DOCKERHUB_ORG || 'gns3 }}/${{ github.event.repository.name }}:${{ steps.ver.outputs.tag }} - ${{ vars.DOCKERHUB_ORG != '' && vars.DOCKERHUB_ORG || 'gns3 }}/${{ github.event.repository.name }}:latest + ${{ env.DOCKERHUB_ORG }}/${{ github.event.repository.name }}:${{ steps.ver.outputs.tag }} + ${{ env.DOCKERHUB_ORG }}/${{ github.event.repository.name }}:latest ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:${{ steps.ver.outputs.tag }} ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:latest From 69ddcf553f1c288c3af4430c99b4da7a88358bb2 Mon Sep 17 00:00:00 2001 From: my-code-is-grey Date: Tue, 7 Jul 2026 22:37:24 -0400 Subject: [PATCH 4/4] .dockerignore ignore .dockerignore --- .dockerignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.dockerignore b/.dockerignore index a1985abc9..9d1981d05 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,9 +3,10 @@ .gitignore .gitattributes -# CI / GitHub +# CI / GitHub / Docker .github .whitesource +.dockerignore # Editor / IDE .idea