Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

πŸ”– Release v0.0.6 #436

Merged
merged 29 commits into from
Sep 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
862ff63
:globe_with_meridians: New translations (#398)
aaronleopold Aug 18, 2024
362e85f
:bug: Fix invalid SQL for library stats query (#401)
aaronleopold Aug 18, 2024
8102321
:lipstick: Improve light theme palette and refactor design system (#402)
aaronleopold Aug 18, 2024
09ca1a9
:sparkles: Support AVIF image format (#385)
smldub Aug 19, 2024
3a480f3
:recycle: Implement a config macro to simplify `stump_config.rs` (#397)
JMicheli Aug 19, 2024
4cdf471
:construction_worker: Restore self-hosted runner for certain CI tasks…
aaronleopold Aug 20, 2024
afd42e9
:green_heart: Fix `runs-on` for docker build workflows (#407)
aaronleopold Aug 20, 2024
a8ef2a4
πŸ”¨ Fix docker `dav1d` shared library linking (#408)
wolffshots Aug 21, 2024
3ea2804
:rewind: Revert AVIF image support (#409)
aaronleopold Aug 21, 2024
6bc7792
:pushpin: Pin `@icons-pack/react-simple-icons` to `9.1.0` (#403)
aaronleopold Aug 21, 2024
17ef33b
:memo: Add binary links to documentation site (#404)
aaronleopold Aug 21, 2024
96ea14f
:bug: Fix book titles in entity cards (#412)
aaronleopold Aug 21, 2024
7d6b704
🌐 New translations (#411)
aaronleopold Aug 22, 2024
77b4635
:bug: Fix OPDS thumbnail endpoint (#414)
aaronleopold Aug 23, 2024
7df8738
✨ Avif file serving support (#417)
smldub Aug 24, 2024
a5fa8f5
:memo: Update docs for broken demo (#421)
aaronleopold Aug 25, 2024
6a16235
:construction_worker: Switch to `podman` and introduce better caching…
aaronleopold Aug 25, 2024
03ff5e0
:bug: Fix regression in scanner for root-level series (#423)
aaronleopold Aug 29, 2024
bef46c8
:green_heart: Fix docker build push (#424)
aaronleopold Aug 30, 2024
afe389c
:construction_worker: Use `buildah` in docker CI workflows (#425)
aaronleopold Aug 31, 2024
38ffe05
:sparkles: Broader image support for file serving (#419)
aaronleopold Sep 1, 2024
ce173a2
:bug: Fix emailer form validation and update endpoint (#430)
aaronleopold Sep 1, 2024
c1d20fe
🌐 Update translations (#418)
aaronleopold Sep 1, 2024
558721a
:bug: Fix max-depth for collection-priority libraries (#432)
aaronleopold Sep 2, 2024
ebbb8e5
⬆️ Update dependencies (#433)
JMicheli Sep 3, 2024
ceb2aa1
🌐 Update translations (#434)
aaronleopold Sep 5, 2024
fe35819
:arrow_down: Downgrade `zip` crate to `1.1.3` (#435)
aaronleopold Sep 6, 2024
d663f5c
:green_heart: Fix multi-tag docker builds
aaronleopold Sep 6, 2024
2ad09b3
:bookmark: Release v0.0.6
aaronleopold Sep 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,49 @@
# Changelog

<a name="0.0.6"></a>
## 0.0.6 (2024-09-06)

### Added

- ✨ Broader image support for file serving ([#419](https://github.com/stumpapp/stump/issues/419)) [[38ffe05](https://github.com/stumpapp/stump/commit/38ffe0511e413eb7d8388a21ae3a49989287f3a8)]
- πŸ‘·β€β™‚οΈ Use &#x60;buildah&#x60; in docker CI workflows ([#425](https://github.com/stumpapp/stump/issues/425)) [[afe389c](https://github.com/stumpapp/stump/commit/afe389ca8259d02fce7cb9415e2fe4de22aeae66)]
- πŸ‘·β€β™‚οΈ Switch to &#x60;podman&#x60; and introduce better caching ([#416](https://github.com/stumpapp/stump/issues/416)) [[6a16235](https://github.com/stumpapp/stump/commit/6a16235bd4f1552d285c39e4b150c7b5a189ad32)]
- ✨ Avif file serving support ([#417](https://github.com/stumpapp/stump/issues/417)) [[7df8738](https://github.com/stumpapp/stump/commit/7df8738a8c9e6bc60f25468ee29d39f9e4d53d69)]
- πŸ‘·β€β™‚οΈ Restore self-hosted runner for certain CI tasks ([#405](https://github.com/stumpapp/stump/issues/405)) [[4cdf471](https://github.com/stumpapp/stump/commit/4cdf471f0672c1a2d71c7ed6543412e1fd6f6fcd)]
- ✨ Support AVIF image format ([#385](https://github.com/stumpapp/stump/issues/385)) [[09ca1a9](https://github.com/stumpapp/stump/commit/09ca1a9a543789e3bf6abf2b8325c3ee2513be59)]

### Changed

- ⬇️ Downgrade &#x60;zip&#x60; crate to &#x60;1.1.3&#x60; ([#435](https://github.com/stumpapp/stump/issues/435)) [[fe35819](https://github.com/stumpapp/stump/commit/fe35819dc01208673dada3e485fca2acd2f65ba1)]
- ⬆️ Update dependencies ([#433](https://github.com/stumpapp/stump/issues/433)) [[ebbb8e5](https://github.com/stumpapp/stump/commit/ebbb8e509237d4ed4aa5f0b83300dc8e77212da7)]
- πŸ“Œ Pin &#x60;@icons-pack/react-simple-icons&#x60; to &#x60;9.1.0&#x60; ([#403](https://github.com/stumpapp/stump/issues/403)) [[6bc7792](https://github.com/stumpapp/stump/commit/6bc7792e9bbee9b55b34c961dda6dd59113e5d96)]
- βͺ Revert AVIF image support ([#409](https://github.com/stumpapp/stump/issues/409)) [[3ea2804](https://github.com/stumpapp/stump/commit/3ea2804ee822b641966e02ea72a4873238447ecb)]
- ♻️ Implement a config macro to simplify &#x60;stump_config.rs&#x60; ([#397](https://github.com/stumpapp/stump/issues/397)) [[3a480f3](https://github.com/stumpapp/stump/commit/3a480f3441ed890aad9823f2e05cbaf5ca00a38a)]
- πŸ’„ Improve light theme palette and refactor design system ([#402](https://github.com/stumpapp/stump/issues/402)) [[8102321](https://github.com/stumpapp/stump/commit/8102321fd35c5b0145bd44d0f754da126d3b99ee)]

### Fixed

- πŸ’š Fix multi-tag docker builds [[d663f5c](https://github.com/stumpapp/stump/commit/d663f5c621ca2c252381459345890bfdabc01565)]
- πŸ› Fix max-depth for collection-priority libraries ([#432](https://github.com/stumpapp/stump/issues/432)) [[558721a](https://github.com/stumpapp/stump/commit/558721a8f07739c38d8d828a4589442f8f148fad)]
- πŸ› Fix emailer form validation and update endpoint ([#430](https://github.com/stumpapp/stump/issues/430)) [[ce173a2](https://github.com/stumpapp/stump/commit/ce173a21d83fbf4666097ae84373cad3442f5c46)]
- πŸ’š Fix docker build push ([#424](https://github.com/stumpapp/stump/issues/424)) [[bef46c8](https://github.com/stumpapp/stump/commit/bef46c809a75fa3dd8559dbee763b9d4ec50804b)]
- πŸ› Fix regression in scanner for root-level series ([#423](https://github.com/stumpapp/stump/issues/423)) [[03ff5e0](https://github.com/stumpapp/stump/commit/03ff5e0faf0e44e58714788cceeb92bb42458e19)]
- πŸ› Fix OPDS thumbnail endpoint ([#414](https://github.com/stumpapp/stump/issues/414)) [[77b4635](https://github.com/stumpapp/stump/commit/77b4635c4ddb7fb1035929d4c0da86751a777f2f)]
- πŸ› Fix book titles in entity cards ([#412](https://github.com/stumpapp/stump/issues/412)) [[96ea14f](https://github.com/stumpapp/stump/commit/96ea14f95b5ee0ecea4d3e9c796e5f063e4bc149)]
- πŸ’š Fix &#x60;runs-on&#x60; for docker build workflows ([#407](https://github.com/stumpapp/stump/issues/407)) [[afd42e9](https://github.com/stumpapp/stump/commit/afd42e92dd6f4983ea76fdeb678413c07ccfdc6e)]
- πŸ› Fix invalid SQL for library stats query ([#401](https://github.com/stumpapp/stump/issues/401)) [[362e85f](https://github.com/stumpapp/stump/commit/362e85f304704d6add7f06c55a6dbda8887d360f)]

### Miscellaneous

- 🌐 Update translations ([#434](https://github.com/stumpapp/stump/issues/434)) [[ceb2aa1](https://github.com/stumpapp/stump/commit/ceb2aa1621a46b7629c4decb829424f97ab480bf)]
- 🌐 Update translations ([#418](https://github.com/stumpapp/stump/issues/418)) [[c1d20fe](https://github.com/stumpapp/stump/commit/c1d20feee75e42900bf7fe9acca2e42105460411)]
- πŸ“ Update docs for broken demo ([#421](https://github.com/stumpapp/stump/issues/421)) [[a5fa8f5](https://github.com/stumpapp/stump/commit/a5fa8f53bd890a7ef488cc6c5b4e1e61108ea9f3)]
- 🌐 New translations ([#411](https://github.com/stumpapp/stump/issues/411)) [[7d6b704](https://github.com/stumpapp/stump/commit/7d6b704c60f2bd6c6a444bb22df5e06e0c98717c)]
- πŸ“ Add binary links to documentation site ([#404](https://github.com/stumpapp/stump/issues/404)) [[17ef33b](https://github.com/stumpapp/stump/commit/17ef33b6e5a517031d460d421e56ff80e73088df)]
- πŸ”¨ Fix docker &#x60;dav1d&#x60; shared library linking ([#408](https://github.com/stumpapp/stump/issues/408)) [[a8ef2a4](https://github.com/stumpapp/stump/commit/a8ef2a48d895e3beb007d31c401a71d41e9f3977)]
- 🌐 New translations ([#398](https://github.com/stumpapp/stump/issues/398)) [[862ff63](https://github.com/stumpapp/stump/commit/862ff63a8cdac700170d26ffc264591767954ae6)]


<a name="0.0.5"></a>
## 0.0.5 (2024-08-14)

Expand Down
81 changes: 59 additions & 22 deletions .github/actions/build-docker/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ inputs:
tags:
description: 'List of tags to assigned to the image'
default: 'nightly'
platforms:
archs:
description: 'List of platforms to build'
required: true
discord-webhook:
Expand All @@ -33,17 +33,30 @@ runs:

- name: Format tags
run: |
echo "TAGS=$(echo ${{ inputs.tags }} | sed -e 's/,/,aaronleopold\/stump:/g' | sed -e 's/^/aaronleopold\/stump:/')" >> $GITHUB_ENV
echo "FORMATTED_TAGS=$(echo ${{ inputs.tags }} | sed -e 's/,/ /g')" >> $GITHUB_ENV
echo "LOCAL_IMAGES=$(echo ${{ inputs.tags }} | sed -e 's/,/,localhost\/stump:/g' | sed -e 's/^/localhost\/stump:/')" >> $GITHUB_ENV
shell: bash

- name: Sanity check
run: |
echo "TAGS=${{ inputs.tags }}"
echo "FORMATTED_TAGS=${{ env.FORMATTED_TAGS }}"
echo "LOCAL_IMAGES=${{ env.LOCAL_IMAGES }}"
echo "GIT_REV=${{ env.GIT_REV }}"
shell: bash

- name: Setup rust
uses: ./.github/actions/setup-rust
with:
# Note: until some sort of local caching is implemented, we don't want to cache dependencies
# because the network overhead is too high and eats up lots of time
cache-dependencies: ${{ runner.environment != 'self-hosted' }}

# We only need QEMU when an arm* platform is targeted
- name: Check QEMU requirement
id: check-qemu
run: |
if [[ ${{ inputs.platforms }} == *"arm"* ]]; then
if [[ ${{ inputs.archs }} == *"arm"* ]]; then
echo "SETUP_QEMU=1" >> $GITHUB_OUTPUT
else
echo "SETUP_QEMU=0" >> $GITHUB_OUTPUT
Expand All @@ -53,35 +66,59 @@ runs:
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
if: ${{ steps.check-qemu.outputs.SETUP_QEMU == '1' }}
with:
platforms: linux/arm64

- name: Install podman and buildah
if: runner.environment != 'self-hosted'
run: |
sudo apt-get update
sudo apt-get install -y podman buildah
shell: bash

- name: Remove existing images
run: |
podman rmi ${{ env.LOCAL_IMAGES }} || true
shell: bash

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Run buildah build
id: build
uses: redhat-actions/buildah-build@v2
with:
image: stump
tags: ${{ env.FORMATTED_TAGS }}
archs: ${{ inputs.archs }}
build-args: |
GIT_REV=${{ env.GIT_REV }}
RUN_PRISMA_GENERATE=false
containerfiles: |
./docker/Dockerfile

- name: Echo build outputs
run: |
echo "${{ toJSON(steps.build.outputs) }}"
shell: bash

- name: Login to Docker Hub
uses: docker/login-action@v2
# if both inputs are empty, we assume we're running on a fork and don't need to login
if: ${{ inputs.username != '' && inputs.password != '' }}
- name: Push to registry
id: push
if: ${{ success() && inputs.push == 'true' }}
uses: redhat-actions/push-to-registry@v2
with:
image: ${{ steps.build.outputs.image }}
tags: ${{ steps.build.outputs.tags }}
username: ${{ inputs.username }}
password: ${{ inputs.password }}
registry: docker.io/aaronleopold

- name: Run buildx build
uses: docker/build-push-action@v4
with:
context: .
build-args: |
"GIT_REV=${{ env.GIT_REV }}"
"TAGS=${{ env.TAGS }}"
file: docker/Dockerfile
platforms: ${{ inputs.platforms }}
load: ${{ inputs.load }}
push: ${{ inputs.push }}
tags: ${{ env.TAGS }}
- name: Echo push outputs
run: |
echo "${{ toJSON(steps.push.outputs) }}"
shell: bash

- name: Discord notification
if: ${{ success() && inputs.push == 'true' && inputs.discord-webhook != '' }}
env:
DISCORD_WEBHOOK: ${{ inputs.discord-webhook }}
uses: 'Ilshidur/[email protected]'
with:
args: 'Successfully pushed the following image tags to registry: ${{ env.TAGS }}'
args: 'Successfully pushed the following image tags to registry: ${{ steps.build.outputs.tags }}'
23 changes: 2 additions & 21 deletions .github/actions/build-web/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,8 @@ runs:
- name: Checkout project
uses: actions/checkout@v3

- uses: actions/setup-node@v4
with:
node-version: '20.0.0'

- name: Install yarn
shell: bash
run: npm install -g yarn

- uses: actions/setup-node@v4
with:
node-version: '20.0.0'
cache: 'yarn'

- name: Install yarn
shell: bash
run: npm install -g yarn

- name: Install dependencies
shell: bash
run: yarn install
working-directory: apps/web
- name: Setup Node and Yarn
uses: ./.github/actions/setup-yarn

- name: Build app
shell: bash
Expand Down
34 changes: 34 additions & 0 deletions .github/actions/coverage/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Coverage CI
description: Run code coverage checks

inputs:
token:
description: 'Codecov token'
required: true
cache-dependencies:
description: 'Whether to cache dependencies. This does not affect the Prisma client cache.'
required: false
default: 'true'

runs:
using: composite
steps:
- name: Setup rust
uses: ./.github/actions/setup-rust
with:
cache-dependencies: ${{ inputs.cache-dependencies }}

- name: Install cargo-llvm-cov
run: cargo install cargo-llvm-cov
shell: bash

- name: Generate code coverage data
shell: bash
run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ inputs.token }}
files: lcov.info
fail_ci_if_error: true
86 changes: 86 additions & 0 deletions .github/actions/setup-dav1d/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Dav1d
description: Compile and install dav1d

runs:
using: composite
steps:
# Linux Section
- name: Install nasm
if: runner.os == 'Linux'
uses: ilammy/setup-nasm@v1

- name: Install Python 3.9
if: runner.os == 'Linux'
uses: actions/setup-python@v4
with:
python-version: '3.9'

- name: Install pip packages
if: runner.os == 'Linux'
shell: bash
run: |
pip install -U pip
pip install -U wheel setuptools
pip install -U meson ninja

- name: Build dav1d
if: runner.os == 'Linux'
env:
DAV1D_DIR: dav1d_dir
LIB_PATH: lib/x86_64-linux-gnu
shell: bash
run: |
git clone --branch 1.3.0 --depth 1 https://code.videolan.org/videolan/dav1d.git
cd dav1d
meson build -Dprefix=$HOME/$DAV1D_DIR -Denable_tools=false -Denable_examples=false --buildtype release
ninja -C build
ninja -C build install
echo "PKG_CONFIG_PATH=$HOME/$DAV1D_DIR/$LIB_PATH/pkgconfig" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$HOME/$DAV1D_DIR/$LIB_PATH" >> $GITHUB_ENV

# Windows setup
- name: Install nasm
if: runner.os == 'Windows'
uses: ilammy/setup-nasm@v1

- name: Install Python 3.9
if: runner.os == 'Windows'
uses: actions/setup-python@v4
with:
python-version: '3.9'

- name: Install pip packages
if: runner.os == 'Windows'
shell: powershell
run: |
pip install -U pip
pip install -U wheel setuptools
pip install -U meson ninja

- name: Setting up environment
if: runner.os == 'Windows'
shell: bash
run: |
echo "PKG_CONFIG=c:\build\bin\pkg-config.exe" >> $GITHUB_ENV
echo "PKG_CONFIG_PATH=C:\build\lib\pkgconfig" >> $GITHUB_ENV
echo "C:\build\bin" >> $GITHUB_PATH

- name: Build pkg-config
if: runner.os == 'Windows'
shell: powershell
run: |
git clone --branch meson-glib-subproject --depth 1 https://gitlab.freedesktop.org/tpm/pkg-config.git
cd pkg-config
meson build -Dprefix=C:\build --buildtype release
ninja -C build
ninja -C build install

- name: Build dav1d
if: runner.os == 'Windows'
shell: powershell
run: |
git clone --branch 1.3.0 --depth 1 https://code.videolan.org/videolan/dav1d.git
cd dav1d
meson build -Dprefix=C:\build -Denable_tools=false -Denable_examples=false --buildtype release
ninja -C build
ninja -C build install
13 changes: 10 additions & 3 deletions .github/actions/setup-rust/action.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
name: Setup system dependencies
description: Install system dependencies and setup cache

inputs:
cache-dependencies:
description: 'Cache dependencies. This does not affect the Prisma client cache.'
required: false
default: 'true'

runs:
using: composite
steps:
Expand All @@ -13,11 +19,13 @@ runs:
components: rustfmt, clippy

- name: Configure environment
if: ${{ runner.name != 'oromei-ubuntu' && runner.os != 'Windows' }}
if: ${{ runner.environment != 'self-hosted' && runner.os != 'Windows' }}
shell: bash
run: CHECK_NODE=0 CHECK_CARGO=0 DEV_SETUP=0 ./scripts/system-setup.sh

# See https://github.com/Swatinem/rust-cache/issues/194
- name: Cache Rust Dependencies
if: ${{ inputs.cache-dependencies == 'true' }}
uses: Swatinem/rust-cache@v2
with:
shared-key: stump-rust-cache
Expand All @@ -37,8 +45,7 @@ runs:
- name: Save Prisma client
id: cache-prisma-save
if: ${{ steps.cache-prisma-restore.outputs.cache-hit != 'true' }}
uses: actions/cache/save@v3
uses: actions/cache/save@v4
with:
path: core/src/prisma.rs
key: ${{ runner.os }}-prisma-${{ hashFiles('**/schema.prisma') }}
restore-keys: ${{ runner.os }}-prisma-${{ hashFiles('**/schema.prisma') }}
31 changes: 31 additions & 0 deletions .github/actions/setup-yarn/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Setup Yarn
description: Install Yarn and setup cache

inputs:
cache-dependencies:
description: 'Cache dependencies. This does not affect the Prisma client cache.'
required: false
default: 'true'

runs:
using: composite
steps:
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: '20.0.0'

- name: Install yarn
shell: bash
run: npm install -g yarn

- name: Setup node (yarn cache)
if: ${{ inputs.cache-dependencies == 'true' }}
uses: actions/setup-node@v4
with:
node-version: '20.0.0'
cache: 'yarn'

- name: Install dependencies
run: yarn install
shell: bash
Loading
Loading