Skip to content

Commit 4372664

Browse files
goniszewskiSparkensteingpoussel
authored
release(0.5.0): publish new version (#174)
* chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * Closes #130 (#131) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.4.3 * fix(docker): resolve issue with data directory permissions (#150) * Fix issue #153: creation/update of root categories (#157) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * Closes #130 (#131) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * Fix creation/update of root categories --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * Fix issue #145: bookmarks without images (#156) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * Closes #130 (#131) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * Fix bookmark creation/update without image --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * chore: release v0.4.4 * Feat: import bookmarks (#139) * feat(import): add Netscape bookmark import function Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(components): add bulk list management components Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(bulk-list): add metadata loading states and indicators Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(bulk-list): centralize bookmark management with dedicated store Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(import): refactor bookmark import to handle file content directly Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor: improve URL display and pagination handling Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(import): add WIP bookmark import page with bulk processing capabilities Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(components): add custom Select component and improve bulk list editing Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(import): restructure bookmark import flow and add edit capabilities Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(bookmarks): improve metadata handling and type definitions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(import): implement WIP bookmark import execution with metadata support Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(import): update HTML bookmark import flow Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(import): unable to create DB entities from import data Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: add missing preventDefault to action buttons Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(import): resolve issues with updating to-be-imported bookmarks * feat(import): finalize basic bookmark import flow Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(import): add styling, handle errors Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(import): add batch processing, transactions, storing images, display errors Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.5.0-pre.1 * Resolves #133 (#162) * chore: release v0.4.4 (#158) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * Closes #130 (#131) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.4.3 * fix(docker): resolve issue with data directory permissions (#150) * Fix issue #153: creation/update of root categories (#157) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * Closes #130 (#131) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * Fix creation/update of root categories --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * Fix issue #145: bookmarks without images (#156) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * Closes #130 (#131) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * Fix bookmark creation/update without image --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * chore: release v0.4.4 --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> Co-authored-by: Guillaume Poussel <gpoussel@users.noreply.github.com> * feat(docker): implement s6-overlay Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(docker): use proper tag in compose Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> Co-authored-by: Guillaume Poussel <gpoussel@users.noreply.github.com> * chore: release v0.5.0-pre.2 * fix(build): resolve issue with lodash causing build fail Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(Dockerfile): remove grimoire user causing problems, limit layers count, simplify Dockerfile Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(Dockerfile): ensure all packages are in sync Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.5.0 (#167) * chore: force version (#169) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(Dockerfile): specify base image version and clean up package installation * fix(Dockerfile): remove hardcoded TARGETARCH variable for better architecture support * fix(workflow): enhance Docker build process with QEMU support and caching * fix(ci): wrong s6-overlay URL's generated in Dockerfile Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(docker): resolve docker image build error Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(docker): resolve, yet another, docker image build error Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(docker): attempt to fix libc-bin issue when building ARM64 image Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(ci): resolve Docker image build configuration Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> Co-authored-by: Guillaume Poussel <gpoussel@users.noreply.github.com>
1 parent 2ee1feb commit 4372664

File tree

2 files changed

+44
-14
lines changed

2 files changed

+44
-14
lines changed

.github/workflows/manual-deploy.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,22 @@ jobs:
2727
type=raw,value=${{ github.event.inputs.tag }}
2828
- name: Set up QEMU
2929
uses: docker/setup-qemu-action@v3
30+
with:
31+
platforms: linux/amd64,linux/arm64
32+
3033
- name: Set up Docker Buildx
3134
uses: docker/setup-buildx-action@v3
35+
with:
36+
version: latest
37+
driver-opts: |
38+
image=moby/buildkit:latest
39+
3240
- name: Login to Docker Hub
3341
uses: docker/login-action@v3
3442
with:
3543
username: ${{ secrets.DOCKERHUB_USERNAME }}
3644
password: ${{ secrets.DOCKERHUB_TOKEN }}
45+
3746
- name: Build and push
3847
uses: docker/build-push-action@v5
3948
with:
@@ -42,3 +51,6 @@ jobs:
4251
push: true
4352
tags: ${{ steps.meta.outputs.tags }}
4453
labels: ${{ steps.meta.outputs.labels }}
54+
cache-from: type=gha,scope=${{ github.ref }}
55+
cache-to: type=gha,mode=max,scope=${{ github.ref }}
56+
build-args: BUILDKIT_INLINE_CACHE=1

Dockerfile

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,42 @@
1-
FROM oven/bun AS builder
1+
FROM --platform=$BUILDPLATFORM oven/bun:1.2 AS builder
22
LABEL maintainer="Grimoire Developers <contact@grimoire.pro>"
33
LABEL description="Bookmark manager for the wizards"
44
LABEL org.opencontainers.image.source="https://github.com/goniszewski/grimoire"
55

6-
RUN apt-get update && \
7-
apt-get upgrade -y && \
8-
apt-get install -y --no-install-recommends \
9-
xz-utils python3 python3-pip wget build-essential && \
10-
dpkg --configure -a && \
11-
rm -rf /var/lib/apt/lists/* && \
12-
mkdir -p /etc/s6-overlay/s6-rc.d/grimoire /etc/s6-overlay/s6-rc.d/user/contents.d
6+
RUN mkdir -p /etc/s6-overlay/s6-rc.d/grimoire /etc/s6-overlay/s6-rc.d/user/contents.d && \
7+
mkdir -p /app/data
138

14-
RUN mkdir -p /app/data
9+
# Different build strategy based on architecture
10+
ARG TARGETARCH
11+
RUN if [ "${TARGETARCH}" = "arm64" ]; then \
12+
# ARM64 build - avoid libc-bin issues
13+
apt-get update && \
14+
apt-mark hold libc-bin && \
15+
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
16+
xz-utils wget python3 python3-pip build-essential && \
17+
rm -rf /var/lib/apt/lists/*; \
18+
else \
19+
# Standard installation for other architectures
20+
apt-get update && \
21+
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
22+
xz-utils python3 python3-pip wget build-essential && \
23+
rm -rf /var/lib/apt/lists/*; \
24+
fi
1525

1626
ARG S6_OVERLAY_VERSION=3.1.6.2
17-
ARG TARGETARCH=x86_64
18-
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
19-
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${TARGETARCH}.tar.xz /tmp
20-
RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \
21-
tar -C / -Jxpf /tmp/s6-overlay-${TARGETARCH}.tar.xz && \
27+
RUN case "${TARGETARCH}" in \
28+
"amd64") S6_ARCH="x86_64" ;; \
29+
"arm64") S6_ARCH="aarch64" ;; \
30+
"386") S6_ARCH="i686" ;; \
31+
"arm/v7") S6_ARCH="armhf" ;; \
32+
"arm/v6") S6_ARCH="arm" ;; \
33+
*) S6_ARCH="x86_64" && echo "Warning: Unknown architecture ${TARGETARCH}, defaulting to x86_64" ;; \
34+
esac && \
35+
echo "Architecture: Docker ${TARGETARCH} -> s6-overlay ${S6_ARCH}" && \
36+
wget -q -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && \
37+
wget -q -O /tmp/s6-overlay-${S6_ARCH}.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz && \
38+
tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \
39+
tar -C / -Jxpf /tmp/s6-overlay-${S6_ARCH}.tar.xz && \
2240
rm /tmp/s6-overlay-*xz
2341

2442
COPY docker/etc/s6-overlay /etc/s6-overlay/

0 commit comments

Comments
 (0)