name: 'Release: Push to Channel' on: workflow_dispatch: inputs: version: description: 'n8n Release version to push to a channel' required: true release-channel: description: 'Release channel' required: true type: choice default: 'next' options: - next - latest jobs: release-to-npm: name: Release to NPM runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/setup-node@v3.7.0 with: node-version: 18.x - run: | echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc npm dist-tag add n8n@${{ github.event.inputs.version }} ${{ github.event.inputs.release-channel }} release-to-docker-hub: name: Release to DockerHub runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: docker/login-action@v2.2.0 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - run: docker buildx imagetools create -t ${{ secrets.DOCKER_USERNAME }}/n8n:${{ github.event.inputs.release-channel }} ${{ secrets.DOCKER_USERNAME }}/n8n:${{ github.event.inputs.version }} release-to-github-container-registry: name: Release to GitHub Container Registry runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: docker/login-action@v2.2.0 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - run: docker buildx imagetools create -t ghcr.io/${{ github.repository_owner }}/n8n:${{ github.event.inputs.release-channel }} ghcr.io/${{ github.repository_owner }}/n8n:${{ github.event.inputs.version }}