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

V3 beta #260

Merged
merged 101 commits into from
Oct 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
1f6403d
Merge pull request #242 from Wizarrrr/master
realashleybailey Oct 9, 2023
b73ba15
Translated using Weblate (German)
Oct 9, 2023
438c768
Translated using Weblate (Spanish)
Oct 9, 2023
1fee699
Translated using Weblate (Chinese (Traditional))
xiNeRoar Oct 9, 2023
cfd79fe
Translated using Weblate (Vietnamese)
thinhplust Oct 10, 2023
b27f569
Translated using Weblate (Vietnamese)
Oct 10, 2023
42f76c8
Merge pull request #243 from weblate/weblate-wizarr-v3-wizarr
realashleybailey Oct 10, 2023
ff446be
Merge pull request #247 from Wizarrrr/master
realashleybailey Oct 11, 2023
458fa45
Merge pull request #248 from Wizarrrr/translations
realashleybailey Oct 11, 2023
a05d96c
Translated using Weblate (Vietnamese)
Oct 11, 2023
f23d492
Add migration scripts for adding new columns and updating existing co…
realashleybailey Oct 11, 2023
e58d03e
feat: Add migration functionality
realashleybailey Oct 11, 2023
966aef2
feat: Add migrator create script
realashleybailey Oct 11, 2023
19e9f6c
Add "Migrations" model for database operations.
realashleybailey Oct 11, 2023
9de7be1
refactor: Remove unused imports and simplify library retrieval logic …
realashleybailey Oct 11, 2023
f2ec0fa
Refactor home page header translation and update Docker image name an…
realashleybailey Oct 11, 2023
aef32ee
Merge pull request #250 from Wizarrrr/master
realashleybailey Oct 11, 2023
17ba455
feat: Add beta-test workflow for Docker build and push
realashleybailey Oct 11, 2023
4b782ae
Update beta-test.yml to use v3-beta-test image tag
realashleybailey Oct 11, 2023
46403d8
Fix push by digest issue and update image name formatting in beta-tes…
realashleybailey Oct 11, 2023
b7a7d7d
Fix docker buildx imagetools create command in beta-test.yml
realashleybailey Oct 12, 2023
550db8b
Remove unsupported platforms, login to Docker Hub, and update manifes…
realashleybailey Oct 12, 2023
ca2b59a
Change registry variables and build image to local registry with dige…
realashleybailey Oct 12, 2023
744cc3e
Update beta-test workflow to include image tagging and pushing by dig…
realashleybailey Oct 12, 2023
2ee0be4
Retag images with the digest for pushing by digest
realashleybailey Oct 12, 2023
8d72be5
Retag images with digests for pushing by digest and push images by di…
realashleybailey Oct 12, 2023
c10a3c4
Refactor image outputs and push images by digest
realashleybailey Oct 12, 2023
eb9deb7
Update image tag for beta testing and include release version in imag…
realashleybailey Oct 12, 2023
8cf7e51
Compile translations
realashleybailey Oct 12, 2023
bd0ca80
Compile translations
realashleybailey Oct 12, 2023
5617ecb
Merge remote-tracking branch 'origin/translations' into translations
weblate Oct 12, 2023
fe55249
Merge pull request #251 from Wizarrrr/master
realashleybailey Oct 12, 2023
2cacea0
Merge remote-tracking branch 'origin/translations' into translations
weblate Oct 12, 2023
0cbf1d7
Merge pull request #249 from weblate/weblate-wizarr-v3-wizarr
realashleybailey Oct 12, 2023
830909b
Compile translations
realashleybailey Oct 12, 2023
61750d2
Build and push the image by digest
realashleybailey Oct 12, 2023
df6cf73
Update .dockerignore and .github/workflows/beta-ci.yml
realashleybailey Oct 12, 2023
24c55ed
feat: Update Docker Build and Push descriptions
realashleybailey Oct 12, 2023
1ccf40b
refactor: Add support for multiple platforms in beta CI workflow
realashleybailey Oct 12, 2023
e60572c
Refactor build workflow and push created manifest list to Registry.
realashleybailey Oct 12, 2023
93f8bf9
Merge pull request #252 from Wizarrrr/translations
realashleybailey Oct 12, 2023
9628936
Rename the script `docker-create.sh` to `buildx-create.sh`. Add a new…
realashleybailey Oct 12, 2023
a3adf64
Refactor artifact deletion in beta-ci.yml, add build_ghcr and merge_g…
realashleybailey Oct 12, 2023
6194f42
update
Oct 13, 2023
6858169
Update Dockerfile and nginx.conf for Wizarr setup
realashleybailey Oct 14, 2023
48a8296
Change Dockerfile to show build and target platform in Docker log
realashleybailey Oct 14, 2023
b0788dc
Add Windows/amd64 to the matrix and remove Linux/mips64le from the Gi…
realashleybailey Oct 14, 2023
c6417dd
Remove duplicate and unnecessary platform configurations in beta-ci w…
realashleybailey Oct 14, 2023
4d0b1ca
Refactor Docker image build configuration
realashleybailey Oct 14, 2023
8659638
Add account endpoints for getting and updating the current user's acc…
realashleybailey Oct 15, 2023
339cb4c
Add functionality to refresh JWT token
realashleybailey Oct 15, 2023
5b67ee8
Update Jellyfin user invitation handling
realashleybailey Oct 15, 2023
4ca4901
Fix serializing issue in MFA API
realashleybailey Oct 15, 2023
b7731a5
Add new column 'tutorial' to 'accounts' table
realashleybailey Oct 15, 2023
0634c5a
Add tutorial field to Accounts model in the database
realashleybailey Oct 15, 2023
f806f2c
Add 'tutorial' field to the Accounts model
realashleybailey Oct 15, 2023
307298d
Refactor authentication model: remove unused code and improve user ob…
realashleybailey Oct 15, 2023
9dd3f0c
Refactor get_account_by_id, update_account, and delete_account functions
realashleybailey Oct 15, 2023
8da030e
Refactor invitation code in plex.py
realashleybailey Oct 15, 2023
dd53cac
feat: Add error logging in global_invite_user_to_media_server function
realashleybailey Oct 15, 2023
fbadf50
Fix displaying welcome message in authentication module
realashleybailey Oct 15, 2023
f566b04
Fix disabled state of 'Back' and 'Next' buttons
realashleybailey Oct 15, 2023
0ddb8b2
Style error page with improved layout and add a button to redirect to…
realashleybailey Oct 15, 2023
1eafb8a
Add Plex login confirmation and emit token to parent component
realashleybailey Oct 15, 2023
d218698
Add GitHub attribution and handle socket log message
realashleybailey Oct 15, 2023
f7e6e36
feat: Add user store to custom tour guide options
realashleybailey Oct 15, 2023
0302b5c
feat: Add user type import and update user store
realashleybailey Oct 15, 2023
844c82d
feat: Add user store to loadRouterTour function
realashleybailey Oct 15, 2023
873b5b7
Refactor APIUser type in frontend/src/types/api/auth/User.ts
realashleybailey Oct 15, 2023
bb096a4
chore: Update package dependencies and add VueFeather component
realashleybailey Oct 15, 2023
13c03e8
feat: Add support for joining the media server via Plex
realashleybailey Oct 15, 2023
02cb4b5
Merge pull request #255 from Wizarrrr/v3-beta
realashleybailey Oct 15, 2023
ef8aab9
Compile translations
realashleybailey Oct 15, 2023
6626965
Translated using Weblate (Spanish)
gallegonovato Oct 16, 2023
013f66b
update
realashleybailey Oct 17, 2023
874ab7b
Translated using Weblate (French)
neoestremi Oct 17, 2023
b5dc387
Translated using Weblate (German)
Oct 17, 2023
e2e0878
Translated using Weblate (French)
Oct 17, 2023
78ebb57
feat: Add Membership interface
realashleybailey Oct 18, 2023
514f70f
Add membership API to routes
realashleybailey Oct 18, 2023
7c5300e
Add membership API routes and related operations
realashleybailey Oct 18, 2023
8d31d77
Add column 'tutorial' to users table
realashleybailey Oct 18, 2023
8ac37a7
Add Memberships and Licenses to the list of all_models in database/__…
realashleybailey Oct 18, 2023
2e8cda2
Add Licenses model
realashleybailey Oct 18, 2023
6aeebe4
Add database model for memberships
realashleybailey Oct 18, 2023
0236ef4
feat: Add handleMembershipUpdate to handle membership updates
realashleybailey Oct 18, 2023
ac7b73d
Add membership_api and livechat_api URLs to DefaultValues.ts
realashleybailey Oct 18, 2023
28554d9
Add registration form component for Membership module
realashleybailey Oct 18, 2023
2eff91f
Add Members Only section to settings page with Membership and Live Su…
realashleybailey Oct 18, 2023
0da64d2
feat(settings): add Membership page component
realashleybailey Oct 18, 2023
5ecc11a
feat: Add live support functionality
realashleybailey Oct 18, 2023
35c192d
feat: Add Membership page to settings router
realashleybailey Oct 18, 2023
225a33f
Fix import statement in axios.ts and add rawAxios instance
realashleybailey Oct 18, 2023
c25b0cc
feat: Add membership support to user store
realashleybailey Oct 18, 2023
f223e8e
Merge pull request #256 from weblate/weblate-wizarr-v3-wizarr
realashleybailey Oct 18, 2023
c9dff98
Merge pull request #257 from Wizarrrr/master
realashleybailey Oct 18, 2023
533a8ad
Compile translations
realashleybailey Oct 18, 2023
5ea64de
Merge pull request #258 from Wizarrrr/master
realashleybailey Oct 18, 2023
c61b89e
Merge pull request #259 from Wizarrrr/translations
realashleybailey Oct 18, 2023
00aa77c
Add tutorial column to users table with default value of False
realashleybailey Oct 18, 2023
7d7b7f8
Refactor CI workflow and release workflow
realashleybailey Oct 19, 2023
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
3 changes: 0 additions & 3 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@ venv/
node_modules
__pycache__

# All hidden files
.*

Dockerfile
README.md
babel.cfg
Expand Down
251 changes: 237 additions & 14 deletions .github/workflows/beta-ci.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,276 @@
name: Docker Build and Push
name: Docker Build and Push Beta

on:
push:
branches:
- v3-beta
- "v3-beta"
workflow_dispatch: {}

permissions:
packages: write

env:
REGISTRY: ghcr.io
GHCR_REGISTRY: ghcr.io
DH_REGISTRY: docker.io
IMAGE_NAME: wizarrrr/wizarr
IMAGE_TAG: v3-beta

jobs:
build:
clear:
runs-on: ubuntu-latest
steps:
# Clear the digests from the artifacts
- name: Clear digests
uses: geekyeggo/delete-artifact@v2
with:
name: |
digests_dh
digests_ghcr

build_ghcr:
name: Build Digest for GHCR
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64

steps:
# Checkout the repo
- name: Checkout
uses: actions/checkout@v4

# Get the Metadata from the Docker Image
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}

# Set up QEMU
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# with:
# platforms: ${{ matrix.platform }}

# Set up Docker Buildx
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

# Login to GHCR
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ${{ env.GHCR_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# Build and push the image
- name: Build and push by digest
id: build
uses: docker/build-push-action@v5
with:
context: .
push: true
platforms: ${{ matrix.platform }}
labels: ${{ steps.meta.outputs.labels }}
provenance: false
outputs: type=image,name=${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true
cache-from: type=gha,scope=${{ matrix.platform }}-${{ env.GHCR_REGISTRY }}
cache-to: type=gha,mode=max,scope=${{ matrix.platform }}-${{ env.GHCR_REGISTRY }}

# Export the digest for later use
- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"

# Upload the digest as an artifact
- name: Upload digest
uses: actions/upload-artifact@v3
with:
name: digests_ghcr
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1

merge_ghcr:
name: Merge Digest for GHCR
runs-on: ubuntu-latest
needs:
- build_ghcr
steps:
# Checkout the repo
- name: Checkout
uses: actions/checkout@v2

# Get the Release Version from .github/latest
# Get the Release Version from latest
- name: Get the Release Version from latest
id: get_version
run: echo "::set-output name=version::$(cat latest)"

# Download the digests from the artifacts
- name: Download digests
uses: actions/download-artifact@v3
with:
name: digests_ghcr
path: /tmp/digests

# Set up Docker Buildx
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3

# Get the Metadata from the Docker Image
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}

# Login to GHCR
- name: Login to GHCR
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# Create manifest list and push
- name: Create manifest list and push to Registry
working-directory: /tmp/digests
run: |
docker buildx imagetools create \
--tag ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} \
--tag ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}-${{ steps.get_version.outputs.version }} \
$(printf '${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}@sha256:%s ' *)

# Inspect image
- name: Inspect image
run: docker buildx imagetools inspect ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}

build_dh:
name: Build Digest for Docker Hub
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64

steps:
# Checkout the repo
- name: Checkout
uses: actions/checkout@v4

# Get the Metadata from the Docker Image
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}

# Set up QEMU
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# with:
# platforms: ${{ matrix.platform }}

# Set up Docker Buildx
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

# Login to Docker Hub
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: ${{ env.DH_REGISTRY }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

# Build and push the image
- name: Build and push
- name: Build and push by digest
id: build
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}-${{ steps.get_version.outputs.version }}
platforms: linux/amd64,linux/arm64
platforms: ${{ matrix.platform }}
labels: ${{ steps.meta.outputs.labels }}
provenance: false
outputs: type=image,name=${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true
cache-from: type=gha,scope=${{ matrix.platform }}-${{ env.GHCR_REGISTRY }}
cache-to: type=gha,mode=max,scope=${{ matrix.platform }}-${{ env.GHCR_REGISTRY }}

# Export the digest for later use
- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"

# Upload the digest as an artifact
- name: Upload digest
uses: actions/upload-artifact@v3
with:
name: digests_dh
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1

merge_dh:
name: Merge Digest for Docker Hub
runs-on: ubuntu-latest
needs:
- build_dh
steps:
# Checkout the repo
- name: Checkout
uses: actions/checkout@v2

# Get the Release Version from latest
- name: Get the Release Version from latest
id: get_version
run: echo "::set-output name=version::$(cat latest)"

# Download the digests from the artifacts
- name: Download digests
uses: actions/download-artifact@v3
with:
name: digests_dh
path: /tmp/digests

# Set up Docker Buildx
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

# Get the Metadata from the Docker Image
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}

# Login to Docker Hub
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: docker.io
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

# Create manifest list and push
- name: Create manifest list and push to Registry
working-directory: /tmp/digests
run: |
docker buildx imagetools create \
--tag ${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} \
--tag ${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}-${{ steps.get_version.outputs.version }} \
$(printf '${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }}@sha256:%s ' *)

# Inspect image
- name: Inspect image
run: docker buildx imagetools inspect ${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}
66 changes: 0 additions & 66 deletions .github/workflows/ci.yml

This file was deleted.

22 changes: 22 additions & 0 deletions .github/workflows/delete-tag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Cleanup Untagged Images

on:
workflow_dispatch:
inputs:
tag:
description: "Tag of the image"
required: true

jobs:
delete-untagged-images:
name: Delete Untagged Images
runs-on: ubuntu-latest
steps:
- uses: bots-house/[email protected]
with:
# NOTE: at now only orgs is supported
owner: bots-house
name: some-web-service
# NOTE: using Personal Access Token
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.event.inputs.tag }}
Loading