diff --git a/.github/workflows/docker-image-beta.yml b/.github/workflows/docker-image-beta.yml new file mode 100644 index 000000000..8dbe8082f --- /dev/null +++ b/.github/workflows/docker-image-beta.yml @@ -0,0 +1,45 @@ +name: Docker Image - Beta + +on: + schedule: + - cron: '0 2 * * *' + workflow_dispatch: + branch: + description: 'Branch to create image off.' + required: true + default: 'ai-tool-creation-breaking' + tag: + description: 'Name of the docker tag to create.' + required: true + default: 'ai-beta' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3.5.3 + with: + fetch-depth: 0 + ref: ${{ github.event.inputs.branch || 'ai-tool-creation-breaking' }} + + - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-buildx-action@v2 + + - name: Login to DockerHub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push + uses: docker/build-push-action@v4.1.1 + with: + context: . + file: ./docker/images/n8n-custom/Dockerfile + build-args: | + N8N_RELEASE_TYPE=beta + platforms: linux/amd64 + provenance: false + push: true + tags: ${{ secrets.DOCKER_USERNAME }}/n8n:${{ github.event.inputs.tag || 'ai-beta' }} + no-cache: true diff --git a/.github/workflows/docker-images-nightly.yml b/.github/workflows/docker-images-nightly.yml index f804c1088..2be6e4061 100644 --- a/.github/workflows/docker-images-nightly.yml +++ b/.github/workflows/docker-images-nightly.yml @@ -73,6 +73,8 @@ jobs: uses: docker/build-push-action@v4.1.1 with: context: . + build-args: | + N8N_RELEASE_TYPE=nightly file: ./docker/images/n8n-custom/Dockerfile platforms: linux/amd64 provenance: false diff --git a/docker/images/n8n-custom/Dockerfile b/docker/images/n8n-custom/Dockerfile index 5c5f37c8d..0d6f9e54d 100644 --- a/docker/images/n8n-custom/Dockerfile +++ b/docker/images/n8n-custom/Dockerfile @@ -1,4 +1,5 @@ ARG NODE_VERSION=18 +ARG N8N_RELEASE_TYPE=dev # 1. Create an image to build n8n FROM n8nio/base:${NODE_VERSION} as builder @@ -35,4 +36,5 @@ RUN \ chown node:node .n8n USER node ENV NODE_ENV=production +ENV N8N_RELEASE_TYPE=${N8N_RELEASE_TYPE} ENTRYPOINT ["tini", "--", "/docker-entrypoint.sh"] diff --git a/docker/images/n8n/Dockerfile b/docker/images/n8n/Dockerfile index 75892ddff..a69956363 100644 --- a/docker/images/n8n/Dockerfile +++ b/docker/images/n8n/Dockerfile @@ -6,6 +6,7 @@ RUN if [ -z "$N8N_VERSION" ] ; then echo "The N8N_VERSION argument is missing!" ENV N8N_VERSION=${N8N_VERSION} ENV NODE_ENV=production +ENV N8N_RELEASE_TYPE=stable RUN set -eux; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ diff --git a/packages/cli/src/Server.ts b/packages/cli/src/Server.ts index 22b67be6e..93a6128df 100644 --- a/packages/cli/src/Server.ts +++ b/packages/cli/src/Server.ts @@ -249,7 +249,7 @@ export class Server extends AbstractServer { urlBaseWebhook, urlBaseEditor: instanceBaseUrl, versionCli: '', - isBetaRelease: config.getEnv('generic.isBetaRelease'), + releaseChannel: config.getEnv('generic.releaseChannel'), oauthCallbackUrls: { oauth1: `${instanceBaseUrl}/${this.restEndpoint}/oauth1-credential/callback`, oauth2: `${instanceBaseUrl}/${this.restEndpoint}/oauth2-credential/callback`, diff --git a/packages/cli/src/config/schema.ts b/packages/cli/src/config/schema.ts index b8052444f..4e7420cf5 100644 --- a/packages/cli/src/config/schema.ts +++ b/packages/cli/src/config/schema.ts @@ -432,11 +432,11 @@ export const schema = { default: 'main', }, - isBetaRelease: { - doc: 'If it is a beta release', - format: 'Boolean', - default: false, - env: 'IS_BETA_RELEASE', + releaseChannel: { + doc: 'N8N release channel', + format: ['stable', 'beta', 'nightly', 'dev'] as const, + default: 'dev', + env: 'N8N_RELEASE_TYPE', }, }, diff --git a/packages/editor-ui/public/n8n-dev-logo.svg b/packages/editor-ui/public/n8n-dev-logo.svg new file mode 100644 index 000000000..4752c9ca1 --- /dev/null +++ b/packages/editor-ui/public/n8n-dev-logo.svg @@ -0,0 +1,2 @@ + + diff --git a/packages/editor-ui/public/n8n-nightly-logo.svg b/packages/editor-ui/public/n8n-nightly-logo.svg new file mode 100644 index 000000000..7df119fe5 --- /dev/null +++ b/packages/editor-ui/public/n8n-nightly-logo.svg @@ -0,0 +1,2 @@ + + diff --git a/packages/editor-ui/src/components/Logo.vue b/packages/editor-ui/src/components/Logo.vue index a4347825d..8504ae28c 100644 --- a/packages/editor-ui/src/components/Logo.vue +++ b/packages/editor-ui/src/components/Logo.vue @@ -5,19 +5,16 @@