diff --git a/.github/workflows/nodered-container.yml b/.github/workflows/nodered-container.yml index 70c5cb9d..4e59b33f 100644 --- a/.github/workflows/nodered-container.yml +++ b/.github/workflows/nodered-container.yml @@ -21,47 +21,125 @@ concurrency: cancel-in-progress: true jobs: - build-stage-302: - uses: flowfuse/github-actions-workflows/.github/workflows/build_container_image.yml@e3e734b910af78371b2c9a1c6856446d17421f50 + build-302: + name: Build 3.0.2 container images + uses: flowfuse/github-actions-workflows/.github/workflows/build_container_image.yml@v0.2.0 with: - environment: 'stage' image_name: 'node-red' dockerfile_path: Dockerfile + image_tag_prefix: '3.0.2-' package_dependencies: | @flowforge/nr-project-nodes build_context: 'node-red-container' npm_registry_url: ${{ vars.PUBLIC_NPM_REGISTRY_URL }} secrets: npm_registry_auth_token: ${{ secrets.NPM_PUBLISH_TOKEN }} + temporary_registry_token: ${{ secrets.GITHUB_TOKEN }} + build-302-multi-architecture: + name: Build multi-architecture container image + needs: build-302 + uses: flowfuse/github-actions-workflows/.github/workflows/merge_multiarch_images.yml@v0.2.0 + with: + image_name: 'node-red' + image_tag_prefix: '3.0.2-' + secrets: + temporary_registry_token: ${{ secrets.GITHUB_TOKEN }} + upload-302-stage: + name: Upload image to staging ECR + needs: build-302-multi-architecture + uses: flowfuse/github-actions-workflows/.github/workflows/deploy_container_image.yml@v0.2.0 + with: + environment: stage + service_name: 'node-red' + deployment_name: 'node-red' + container_name: 'node-red' + deploy: false + image: ${{ needs.build-302-multi-architecture.outputs.image }} + image_tag_prefix: '3.0.2-' + secrets: aws_access_key_id: ${{ secrets.STAGING_AWS_ID }} - aws_access_key_secret: ${{ secrets.STAGING_AWS_KEY }} - build-stage-223: - uses: flowfuse/github-actions-workflows/.github/workflows/build_container_image.yml@e3e734b910af78371b2c9a1c6856446d17421f50 + aws_secret_access_key: ${{ secrets.STAGING_AWS_KEY }} + temporary_registry_token: ${{ secrets.GITHUB_TOKEN }} + eks_cluster_name: ${{ secrets.EKS_CLUSTER_NAME }} + + build-223: + name: Build 2.2.3 container images + uses: flowfuse/github-actions-workflows/.github/workflows/build_container_image.yml@v0.2.0 with: - environment: 'stage' image_name: 'node-red' - image_tag_prefix: '2.2.3-' dockerfile_path: Dockerfile-2.2.x + image_tag_prefix: '2.2.3-' package_dependencies: | @flowforge/nr-project-nodes build_context: 'node-red-container' npm_registry_url: ${{ vars.PUBLIC_NPM_REGISTRY_URL }} secrets: npm_registry_auth_token: ${{ secrets.NPM_PUBLISH_TOKEN }} + temporary_registry_token: ${{ secrets.GITHUB_TOKEN }} + build-223-multi-architecture: + name: Build multi-architecture container image + needs: build-223 + uses: flowfuse/github-actions-workflows/.github/workflows/merge_multiarch_images.yml@v0.2.0 + with: + image_name: 'node-red' + image_tag_prefix: '2.2.3-' + secrets: + temporary_registry_token: ${{ secrets.GITHUB_TOKEN }} + upload-223-stage: + name: Upload image to staging ECR + needs: build-223-multi-architecture + uses: flowfuse/github-actions-workflows/.github/workflows/deploy_container_image.yml@v0.2.0 + with: + environment: stage + service_name: 'node-red' + deployment_name: 'node-red' + container_name: 'node-red' + deploy: false + image: ${{ needs.build-223-multi-architecture.outputs.image }} + image_tag_prefix: '2.2.3-' + secrets: aws_access_key_id: ${{ secrets.STAGING_AWS_ID }} - aws_access_key_secret: ${{ secrets.STAGING_AWS_KEY }} - build-stage-310: - uses: flowfuse/github-actions-workflows/.github/workflows/build_container_image.yml@e3e734b910af78371b2c9a1c6856446d17421f50 + aws_secret_access_key: ${{ secrets.STAGING_AWS_KEY }} + temporary_registry_token: ${{ secrets.GITHUB_TOKEN }} + eks_cluster_name: ${{ secrets.EKS_CLUSTER_NAME }} + + build-310: + name: Build 3.1.0 container images + uses: flowfuse/github-actions-workflows/.github/workflows/build_container_image.yml@v0.2.0 with: - environment: 'stage' image_name: 'node-red' - image_tag_prefix: '3.1.0-' dockerfile_path: Dockerfile-3.1 + image_tag_prefix: '3.1.0-' package_dependencies: | @flowforge/nr-project-nodes build_context: 'node-red-container' npm_registry_url: ${{ vars.PUBLIC_NPM_REGISTRY_URL }} secrets: npm_registry_auth_token: ${{ secrets.NPM_PUBLISH_TOKEN }} + temporary_registry_token: ${{ secrets.GITHUB_TOKEN }} + build-310-multi-architecture: + name: Build multi-architecture container image + needs: build-310 + uses: flowfuse/github-actions-workflows/.github/workflows/merge_multiarch_images.yml@v0.2.0 + with: + image_name: 'node-red' + image_tag_prefix: '3.1.0-' + secrets: + temporary_registry_token: ${{ secrets.GITHUB_TOKEN }} + upload-310-stage: + name: Upload image to staging ECR + needs: build-310-multi-architecture + uses: flowfuse/github-actions-workflows/.github/workflows/deploy_container_image.yml@v0.2.0 + with: + environment: stage + service_name: 'node-red' + deployment_name: 'node-red' + container_name: 'node-red' + deploy: false + image: ${{ needs.build-310-multi-architecture.outputs.image }} + image_tag_prefix: '3.1.0-' + secrets: aws_access_key_id: ${{ secrets.STAGING_AWS_ID }} - aws_access_key_secret: ${{ secrets.STAGING_AWS_KEY }} + aws_secret_access_key: ${{ secrets.STAGING_AWS_KEY }} + temporary_registry_token: ${{ secrets.GITHUB_TOKEN }} + eks_cluster_name: ${{ secrets.EKS_CLUSTER_NAME }}