Skip to content

Merge pull request #256 from FlowFuse/release-1.15.0 #60

Merge pull request #256 from FlowFuse/release-1.15.0

Merge pull request #256 from FlowFuse/release-1.15.0 #60

on:
push:
tags:
- "v*.*.*"
jobs:
build_application_container:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
repository: 'flowfuse/helm'
path: 'helm'
# sets options for Docker build
# will tag contianers with GH tag name
- name: Docker Meta Data
id: meta
uses: docker/metadata-action@v3
with:
tags: |
type=semver,event=tag,pattern={{version}}
flavor: |
latest=true
images: |
flowforge/forge-k8s
# sets up multi platform emulators
- name: Setup QEMU
uses: docker/setup-qemu-action@v1
# sets up docker buildx
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v1
# logs into docker hub
- name: docker login
uses: docker/login-action@v1
with:
username: flowforge
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
# builds container
- name: Build and push FlowForge Application container
uses: docker/build-push-action@v2
with:
context: helm/flowforge-container
file: helm/flowforge-container/Dockerfile
platforms: linux/amd64, linux/arm64, linux/arm/v7
tags: ${{ steps.meta.outputs.tags }}
push: true
- name: Push README
uses: peter-evans/dockerhub-description@v3
with:
repository: flowforge/forge-k8s
username: flowforge
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
readme-filepath: ./helm/flowforge-container/README.md
build_nodered_container:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
repository: 'flowfuse/helm'
path: 'helm'
- name: Docker Meta Data
id: meta
uses: docker/metadata-action@v3
with:
tags: |
type=semver,event=tag,pattern={{version}}
flavor: |
latest=true
images: |
flowforge/node-red
- name: Setup QEMU
uses: docker/setup-qemu-action@v1
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v1
- name: docker login
uses: docker/login-action@v1
with:
username: flowforge
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
- name: Build and push FlowForge Application container
uses: docker/build-push-action@v2
with:
context: helm/node-red-container
file: helm/node-red-container/Dockerfile
platforms: linux/amd64, linux/arm64, linux/arm/v7
tags: ${{ steps.meta.outputs.tags }}
push: true
- name: Push README
uses: peter-evans/dockerhub-description@v3
with:
repository: flowforge/node-red
username: flowforge
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
readme-filepath: ./helm/node-red-container/README.md
build_nodered_container_223:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
repository: 'flowfuse/helm'
path: 'helm'
- name: Docker Meta Data
id: meta
uses: docker/metadata-action@v3
with:
tags: |
type=semver,event=tag,pattern={{version}}-2.2.3
flavor: |
latest=false
images: |
flowforge/node-red
- name: Setup QEMU
uses: docker/setup-qemu-action@v1
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v1
- name: docker login
uses: docker/login-action@v1
with:
username: flowforge
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
- name: Build and push FlowForge Application container
uses: docker/build-push-action@v2
with:
context: helm/node-red-container
file: helm/node-red-container/Dockerfile-2.2.x
platforms: linux/amd64, linux/arm64, linux/arm/v7
tags: ${{ steps.meta.outputs.tags }}
push: true
build_nodered_container_31:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
repository: 'flowfuse/helm'
path: 'helm'
- name: Docker Meta Data
id: meta
uses: docker/metadata-action@v3
with:
tags: |
type=semver,event=tag,pattern={{version}}-3.1.x
flavor: |
latest=false
images: |
flowforge/node-red
- name: Setup QEMU
uses: docker/setup-qemu-action@v1
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v1
- name: docker login
uses: docker/login-action@v1
with:
username: flowforge
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
- name: Build and push FlowForge Application container
uses: docker/build-push-action@v2
with:
context: helm/node-red-container
file: helm/node-red-container/Dockerfile-3.1
platforms: linux/amd64, linux/arm64, linux/arm/v7
tags: ${{ steps.meta.outputs.tags }}
push: true
build_file_server_container:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
repository: 'flowfuse/helm'
path: 'helm'
- name: Docker Meta Data
id: meta
uses: docker/metadata-action@v3
with:
tags: |
type=semver,event=tag,pattern={{version}}
flavor: |
latest=true
images: |
flowforge/file-server
- name: Setup QEMU
uses: docker/setup-qemu-action@v1
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v1
- name: docker login
uses: docker/login-action@v1
with:
username: flowforge
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
- name: Build and push FlowForge File Server container
uses: docker/build-push-action@v2
with:
context: helm/file-server
file: helm/file-server/Dockerfile
platforms: linux/amd64, linux/arm64, linux/arm/v7
tags: ${{ steps.meta.outputs.tags }}
push: true
- name: Push README
uses: peter-evans/dockerhub-description@v3
with:
repository: flowforge/file-server
username: flowforge
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
readme-filepath: ./helm/file-server/README.md
publish_helm:
needs: [build_application_container, build_nodered_container, build_nodered_container_223, build_file_server_container]
runs-on: ubuntu-latest
steps:
- name: Install Helm
uses: azure/setup-helm@v1
with:
version: v3.5.2
- name: Install Deps
run: |
helm repo add bitnami https://charts.bitnami.com/bitnami
- name: Checkout
uses: actions/checkout@v3
with:
repository: 'flowfuse/helm'
fetch-depth: 0
path: 'helm'
- name: Package
run: |
helm package -d . helm/helm/flowforge
cd helm
git checkout gh-pages
mv ../flowforge-*.tgz .
helm repo index --url https://flowfuse.github.io/helm .
git add .
git -c user.name='FlowFuse Build Bot' -c user.email='noreply@flowfuse.com' commit -m "Add ${{ github.ref_name }} helm chart"
git push origin
- name: Resync Maintenance
if: ${{ endsWith(github.ref, '.0') }}
run: |
cd helm
git checkout maintenance
git reset --hard origin/main
git push --force origin maintenance