Skip to content

Commit afd7155

Browse files
committed
feat: update Docker workflow to compute and set dynamic tags, bump version to 1.0.9, and fixed a stashed code
1 parent a8aecbe commit afd7155

4 files changed

Lines changed: 43 additions & 12 deletions

File tree

.github/workflows/build-docker.yml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,21 @@ jobs:
1414

1515
- name: Extract version from package.json
1616
id: version
17-
run: echo "VERSION=$(jq -r '.version' package.json)" >> $GITHUB_ENV
17+
run: echo "version=$(jq -r '.version' package.json)" >> "$GITHUB_OUTPUT"
18+
19+
- name: Compute Docker tags
20+
id: tags
21+
run: |
22+
BASE_IMAGE="iconical/swush"
23+
VERSION="${{ steps.version.outputs.version }}"
24+
TAGS="$BASE_IMAGE:$VERSION,$BASE_IMAGE:latest"
25+
26+
IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION"
27+
if [[ "$MAJOR" == "1" && "$MINOR" != "0" && "$PATCH" == "0" ]]; then
28+
TAGS="$TAGS,$BASE_IMAGE:stable"
29+
fi
30+
31+
echo "docker_tags=$TAGS" >> "$GITHUB_OUTPUT"
1832
1933
- name: Login to Docker Hub
2034
uses: docker/login-action@v3
@@ -33,4 +47,4 @@ jobs:
3347
with:
3448
platforms: linux/amd64,linux/arm64
3549
push: true
36-
tags: iconical/swush:${{ env.VERSION }},iconical/swush:latest
50+
tags: ${{ steps.tags.outputs.docker_tags }}

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ This project follows [Semantic Versioning](https://iconical.dev/versioning).
1111

1212
---
1313

14+
## v1.0.9 – Release Tagging Patch 🏷️
15+
16+
**Released: February 22, 2026**
17+
18+
- Updated Docker release tagging logic so `1.X.0` publishes with `stable` (for `X > 0`) while `1.0.X` continues publishing standard rolling tags.
19+
20+
---
21+
1422
## v1.0.8 – Theme Motion, Docs, and About Polish 🎬
1523

1624
**Released: February 22, 2026**

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "swush",
3-
"version": "1.0.8",
3+
"version": "1.0.9",
44
"private": true,
55
"description": "Swush; A secure, self-hosted file sharing app with privacy-first features.",
66
"author": {

src/lib/theme-transition.ts

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,23 @@
1-
export function setThemeWithCurtain(
2-
setTheme: (theme: string) => void,
3-
nextTheme: string,
4-
): void;
1+
/*
2+
* Copyright (c) 2026 Laith Alkhaddam aka Iconical.
3+
* All rights reserved.
4+
5+
* Licensed under the Apache License, Version 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
518
export function setThemeWithCurtain<T extends string>(
6-
setTheme: (theme: T | ((prev: T) => T)) => void,
19+
setTheme: ((theme: string) => void) | ((theme: T | ((prev: T) => T)) => void),
720
nextTheme: T,
8-
): void;
9-
export function setThemeWithCurtain(
10-
setTheme: (theme: unknown) => void,
11-
nextTheme: string,
1221
) {
1322
if (typeof document === "undefined" || typeof window === "undefined") {
1423
setTheme(nextTheme);

0 commit comments

Comments
 (0)