diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index f8f844b..a752624 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -87,6 +87,13 @@ jobs: image: needs: test runs-on: ubuntu-latest + # A push to a PR branch starts a push run and a pull_request run for the + # same commit. Two builds writing the gha cache at once can stall buildx + # for many minutes, so the second waits for the first and then finds the + # cache fresh. Not cancelled: each run's image check has to finish. + concurrency: + group: image-${{ github.event.pull_request.head.sha || github.sha }} + cancel-in-progress: false outputs: pushed: ${{ steps.pushed.outputs.pushed }} env: diff --git a/docs/releases/0.6.2.md b/docs/releases/0.6.2.md new file mode 100644 index 0000000..b71e383 --- /dev/null +++ b/docs/releases/0.6.2.md @@ -0,0 +1,15 @@ +Nothing changes in Dapple itself. This release fixes how it gets built. + +## What's changed + +- **Builds no longer stall now and then.** Two copies of the image build could start at once for the same change and get in each other's way, which sometimes held up a release for many minutes. Now the second one waits its turn. + +## Upgrading + +Running Dapple as a Home Assistant app: install the update from Settings → Updates. + +With Docker, `docker compose up -d` picks this up if you have `pull_policy: always`. Otherwise run `docker compose pull && docker compose up -d`. Your settings and saved presets carry over. To stay on this release, set the image line to: + +```yaml + image: afraley/dapple:0.6.2 +``` diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 2cfeb54..675b4d4 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "dapple-ui", - "version": "0.6.1", + "version": "0.6.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "dapple-ui", - "version": "0.6.1", + "version": "0.6.2", "license": "MIT", "dependencies": { "@emotion/react": "^11.13.3", diff --git a/frontend/package.json b/frontend/package.json index 6182296..e8d02c5 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -2,7 +2,7 @@ "name": "dapple-ui", "private": true, "license": "MIT", - "version": "0.6.1", + "version": "0.6.2", "type": "module", "scripts": { "dev": "vite", diff --git a/home-assistant/dapple/config.yaml b/home-assistant/dapple/config.yaml index 8cf3bc5..7039e37 100644 --- a/home-assistant/dapple/config.yaml +++ b/home-assistant/dapple/config.yaml @@ -1,7 +1,7 @@ # The Dapple add-on. The Supervisor pulls afraley/dapple:, the same # image Docker users run, so `version` must match pyproject.toml (CI checks). name: Dapple -version: "0.6.1" +version: "0.6.2" slug: dapple description: Static multi-color patterns for Twinkly lights url: https://github.com/andrewfraley/dapple diff --git a/pyproject.toml b/pyproject.toml index c999b2f..826dd6e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "dapple" -version = "0.6.1" +version = "0.6.2" description = "Static multi-color patterns for Twinkly light strands, with a REST API for Home Assistant" requires-python = ">=3.12" dependencies = [ diff --git a/uv.lock b/uv.lock index ea51c97..8b1ed71 100644 --- a/uv.lock +++ b/uv.lock @@ -393,7 +393,7 @@ wheels = [ [[package]] name = "dapple" -version = "0.6.1" +version = "0.6.2" source = { editable = "." } dependencies = [ { name = "aiomqtt" },