Skip to content

2.1.2-beta

2.1.2-beta #85

Workflow file for this run

name: "Publish"
on:
release:
types: [published]
branches:
- "main"
- "beta"
jobs:
publish-x86:
if: ${{ !github.event.act }} # skip during local actions testing
name: Publish x86
runs-on: ubuntu-latest
permissions:
actions: read
steps:
- name: Get image name
shell: bash
id: image_name
run: |
if [ "${{ github.event.release.prerelease }}" != "true" ]; then
echo "Image name: NSPanelManager-{arch}"
echo "image_name=NSPanelManager-{arch}" >> $GITHUB_OUTPUT
echo "branch=main" >> $GITHUB_OUTPUT
elif [ "${{ github.event.release.prerelease }}" == "true" ]; then
echo "Image name: NSPanelManager-beta-{arch}"
echo "image_name=NSPanelManager-beta-{arch}" >> $GITHUB_OUTPUT
echo "branch=beta" >> $GITHUB_OUTPUT
else
echo "Cannot determine image name!"
exit 1
fi
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Checkout the repository
uses: actions/checkout@v4
with:
ref: ${{ steps.image_name.outputs.branch }}
- name: Update version
shell: bash
run: |
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/templates/about.html
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/templates/modals/initial_setup/welcome.html
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/views.py
- name: Publish
uses: home-assistant/builder@2025.03.0
with:
args: |
--i386 \
--target docker \
--image ${{ steps.image_name.outputs.image_name }} \
--version ${{ github.ref_name }} \
--release ${{ github.ref_name }} \
--docker-hub ${{ secrets.DOCKERHUB_USERNAME }}
publish-x86_64:
if: ${{ !github.event.act }} # skip during local actions testing
name: Publish x86_64
runs-on: ubuntu-latest
permissions:
actions: read
steps:
- name: Get image name
shell: bash
id: image_name
run: |
if [ "${{ github.event.release.prerelease }}" != "true" ]; then
echo "Image name: NSPanelManager-{arch}"
echo "image_name=NSPanelManager-{arch}" >> $GITHUB_OUTPUT
echo "branch=main" >> $GITHUB_OUTPUT
elif [ "${{ github.event.release.prerelease }}" == "true" ]; then
echo "Image name: NSPanelManager-beta-{arch}"
echo "image_name=NSPanelManager-beta-{arch}" >> $GITHUB_OUTPUT
echo "branch=beta" >> $GITHUB_OUTPUT
else
echo "Cannot determine image name!"
exit 1
fi
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Checkout the repository
uses: actions/checkout@v4
with:
ref: ${{ steps.image_name.outputs.branch }}
- name: Update version
shell: bash
run: |
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/templates/about.html
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/templates/modals/initial_setup/welcome.html
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/views.py
- name: Publish
uses: home-assistant/builder@2025.03.0
with:
args: |
--amd64 \
--target docker \
--image ${{ steps.image_name.outputs.image_name }} \
--version ${{ github.ref_name }} \
--release ${{ github.ref_name }} \
--docker-hub ${{ secrets.DOCKERHUB_USERNAME }}
publish-armhf:
if: ${{ !github.event.act }} # skip during local actions testing
name: Publish armhf
runs-on: ubuntu-latest
permissions:
actions: read
steps:
- name: Get image name
shell: bash
id: image_name
run: |
if [ "${{ github.event.release.prerelease }}" != "true" ]; then
echo "Image name: NSPanelManager-{arch}"
echo "image_name=NSPanelManager-{arch}" >> $GITHUB_OUTPUT
echo "branch=main" >> $GITHUB_OUTPUT
elif [ "${{ github.event.release.prerelease }}" == "true" ]; then
echo "Image name: NSPanelManager-beta-{arch}"
echo "image_name=NSPanelManager-beta-{arch}" >> $GITHUB_OUTPUT
echo "branch=beta" >> $GITHUB_OUTPUT
else
echo "Cannot determine image name!"
exit 1
fi
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Checkout the repository
uses: actions/checkout@v4
with:
ref: ${{ steps.image_name.outputs.branch }}
- name: Update version
shell: bash
run: |
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/templates/about.html
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/templates/modals/initial_setup/welcome.html
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/views.py
- name: Publish
uses: home-assistant/builder@2025.03.0
with:
args: |
--armhf \
--target docker \
--image ${{ steps.image_name.outputs.image_name }} \
--version ${{ github.ref_name }} \
--release ${{ github.ref_name }} \
--docker-hub ${{ secrets.DOCKERHUB_USERNAME }}
publish-armv7:
if: ${{ !github.event.act }} # skip during local actions testing
name: Publish ARMv7
runs-on: ubuntu-latest
permissions:
actions: read
steps:
- name: Get image name
shell: bash
id: image_name
run: |
if [ "${{ github.event.release.prerelease }}" != "true" ]; then
echo "Image name: NSPanelManager-{arch}"
echo "image_name=NSPanelManager-{arch}" >> $GITHUB_OUTPUT
echo "branch=main" >> $GITHUB_OUTPUT
elif [ "${{ github.event.release.prerelease }}" == "true" ]; then
echo "Image name: NSPanelManager-beta-{arch}"
echo "image_name=NSPanelManager-beta-{arch}" >> $GITHUB_OUTPUT
echo "branch=beta" >> $GITHUB_OUTPUT
else
echo "Cannot determine image name!"
exit 1
fi
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Checkout the repository
uses: actions/checkout@v4
with:
ref: ${{ steps.image_name.outputs.branch }}
- name: Update version
shell: bash
run: |
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/templates/about.html
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/templates/modals/initial_setup/welcome.html
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/views.py
- name: Publish
uses: home-assistant/builder@2025.03.0
with:
args: |
--armv7 \
--target docker \
--image ${{ steps.image_name.outputs.image_name }} \
--version ${{ github.ref_name }} \
--release ${{ github.ref_name }} \
--docker-hub ${{ secrets.DOCKERHUB_USERNAME }}
publish-aarch64:
if: ${{ !github.event.act }} # skip during local actions testing
name: Publish aarch64
runs-on: ubuntu-latest
permissions:
actions: read
steps:
- name: Get image name
shell: bash
id: image_name
run: |
if [ "${{ github.event.release.prerelease }}" != "true" ]; then
echo "Image name: NSPanelManager-{arch}"
echo "image_name=NSPanelManager-{arch}" >> $GITHUB_OUTPUT
echo "branch=main" >> $GITHUB_OUTPUT
elif [ "${{ github.event.release.prerelease }}" == "true" ]; then
echo "Image name: NSPanelManager-beta-{arch}"
echo "image_name=NSPanelManager-beta-{arch}" >> $GITHUB_OUTPUT
echo "branch=beta" >> $GITHUB_OUTPUT
else
echo "Cannot determine image name!"
exit 1
fi
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Checkout the repository
uses: actions/checkout@v4
with:
ref: ${{ steps.image_name.outputs.branch }}
- name: Update version
shell: bash
run: |
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/templates/about.html
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/templates/modals/initial_setup/welcome.html
sed -i 's/%version%/${{ github.ref_name }}/g' docker/web/nspanelmanager/web/views.py
- name: Publish
uses: home-assistant/builder@2025.03.0
with:
args: |
--aarch64 \
--target docker \
--image ${{ steps.image_name.outputs.image_name }} \
--version ${{ github.ref_name }} \
--release ${{ github.ref_name }} \
--docker-hub ${{ secrets.DOCKERHUB_USERNAME }}
update-main-beta-branch:
if: ${{ !github.event.act }} # skip during local actions testing
name: Update main branch with new beta build information
needs: [
publish-x86,
publish-x86_64,
publish-armhf,
publish-armv7,
publish-aarch64,
] # Only tell Home Assistant that a new version exists if the build of all architectures succeeded
permissions:
contents: write
actions: read
runs-on: ubuntu-latest
steps:
- name: Get branch name
shell: bash
id: image_name
run: |
if [ "${{ github.event.release.prerelease }}" != "true" ]; then
echo "branch=main" >> $GITHUB_OUTPUT
elif [ "${{ github.event.release.prerelease }}" == "true" ]; then
echo "branch=beta" >> $GITHUB_OUTPUT
else
echo "Cannot determine image name!"
exit 1
fi
- name: Checkout the repository (main)
uses: actions/checkout@v4
with:
ref: main
- name: Update main version in main branch
if: ${{ steps.image_name.outputs.branch == 'main' }}
run: |
sed -i "|^version: .*$|version: ${{ github.ref_name }}|g" docker/config.yaml
- name: Update beta version in main branch
if: ${{ steps.image_name.outputs.branch == 'beta' }}
run: |
sed -i "|^version: .*$|version: ${{ github.ref_name }}|g" docker-beta/config.yaml
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Update version for Home Assistant config.
branch: "main"
push_options: "--force"