File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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
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 }}
Original file line number Diff line number Diff 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**
Original file line number Diff line number Diff line change 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" : {
Original file line number Diff line number Diff line change 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+
518export 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 ) ;
You can’t perform that action at this time.
0 commit comments