From 9aceb1dcb06cb1a42ae992a4c4015d5fa2be955b Mon Sep 17 00:00:00 2001 From: MartinFillon Date: Thu, 5 Mar 2026 15:47:10 +0100 Subject: [PATCH] chore(docker): retire docker so only the schematics docker exists --- .cloud/docker/docker-entrypoint.sh | 11 --- .cloud/docker/nf | 21 ------ .github/workflows/release-docker.yml | 104 --------------------------- Dockerfile | 42 ----------- 4 files changed, 178 deletions(-) delete mode 100755 .cloud/docker/docker-entrypoint.sh delete mode 100755 .cloud/docker/nf delete mode 100644 .github/workflows/release-docker.yml delete mode 100644 Dockerfile diff --git a/.cloud/docker/docker-entrypoint.sh b/.cloud/docker/docker-entrypoint.sh deleted file mode 100755 index 8b03be7..0000000 --- a/.cloud/docker/docker-entrypoint.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -set -e - -# Run command with nf if the first argument contains a "-" or is not a system command. The last -# part inside the "{}" is a workaround for the following bug in ash/dash: -# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874264 -if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ] || { [ -f "${1}" ] && ! [ -x "${1}" ]; }; then - set -- nf "$@" -fi - -exec "$@" diff --git a/.cloud/docker/nf b/.cloud/docker/nf deleted file mode 100755 index 71f523b..0000000 --- a/.cloud/docker/nf +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*|*MINGW*|*MSYS*) - if command -v cygpath > /dev/null 2>&1; then - basedir=`cygpath -w "$basedir"` - fi - ;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/usr/nanoforge/node_modules" -else - export NODE_PATH="/usr/nanoforge/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/cli/dist/nf.js" "$@" -else - exec node "$basedir/cli/dist/nf.js" "$@" -fi diff --git a/.github/workflows/release-docker.yml b/.github/workflows/release-docker.yml deleted file mode 100644 index fcdedad..0000000 --- a/.github/workflows/release-docker.yml +++ /dev/null @@ -1,104 +0,0 @@ -name: Release Docker - -on: - workflow_call: - workflow_dispatch: - -permissions: - contents: write - -env: - IMAGE_NAME: nanoforge/cli - -jobs: - build: - name: Build ${{ matrix.platform }} - runs-on: ${{ matrix.runner }} - strategy: - fail-fast: false - matrix: - include: - - platform: linux/amd64 - runner: ubuntu-latest - - platform: linux/arm64 - runner: ubuntu-24.04-arm - steps: - - name: Prepare - run: | - platform=${{ matrix.platform }} - echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV - - - name: Checkout repository - uses: actions/checkout@v6 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v4 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_ACCESS_TOKEN }} - - - name: Build and push by digest - id: build - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile - platforms: ${{ matrix.platform }} - outputs: type=image,name=${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true - - - name: Export digest - run: | - mkdir -p /tmp/digests - digest="${{ steps.build.outputs.digest }}" - touch "/tmp/digests/${digest#sha256:}" - - - name: Upload digest - uses: actions/upload-artifact@v7 - with: - name: digests-${{ env.PLATFORM_PAIR }} - path: /tmp/digests/* - if-no-files-found: error - retention-days: 1 - - merge: - name: Create and push manifest list - runs-on: ubuntu-latest - needs: build - steps: - - name: Download digests - uses: actions/download-artifact@v8 - with: - path: /tmp/digests - pattern: digests-* - merge-multiple: true - - - name: Checkout repository - uses: actions/checkout@v6 - - - name: Version - id: version - run: | - VERSION=$(jq --raw-output '.version' package.json) - echo "version=$VERSION" >> $GITHUB_OUTPUT - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v4 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_ACCESS_TOKEN }} - - - name: Create manifest list and push - working-directory: /tmp/digests - run: | - docker buildx imagetools create -t ${{ env.IMAGE_NAME }}:${{ steps.version.outputs.version }} \ - $(printf '${{ env.IMAGE_NAME }}@sha256:%s ' *) - - - name: Inspect image - run: | - docker buildx imagetools inspect ${{ env.IMAGE_NAME }}:${{ steps.version.outputs.version }} diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index ce828ed..0000000 --- a/Dockerfile +++ /dev/null @@ -1,42 +0,0 @@ -FROM node:25-alpine AS base - -ENV PNPM_HOME="/pnpm" -ENV PATH="$PNPM_HOME:$PATH" -ENV CI=true - -COPY . /usr/nanoforge -WORKDIR /usr/nanoforge - -RUN npm --global install corepack@latest --force -RUN corepack enable - -FROM base AS builder - -RUN pnpm install --frozen-lockfile --ignore-scripts -RUN pnpm run build - -FROM builder AS pruned - -RUN pnpm --filter='@nanoforge-dev/cli' --prod deploy --legacy pruned - -FROM node:25-alpine AS cli - -WORKDIR /usr/nanoforge - -RUN addgroup --system --gid 1001 nodejs -RUN adduser --system --uid 1001 nanoforge -USER nanoforge - -COPY --from=pruned /usr/nanoforge/pruned cli -COPY .cloud/docker/nf /usr/nanoforge - -COPY .cloud/docker/docker-entrypoint.sh /usr/local/bin - -ENV NANOFORGE_HOME="/usr/nanoforge" -ENV PATH="$NANOFORGE_HOME:$PATH" - -ENTRYPOINT ["docker-entrypoint.sh"] - -WORKDIR /app - -CMD ["nf"] \ No newline at end of file