Skip to content

Commit

Permalink
Merge branch 'development'
Browse files Browse the repository at this point in the history
  • Loading branch information
PrestonN committed Jan 31, 2025
2 parents 726f8a9 + e2c4b12 commit 4a9382c
Show file tree
Hide file tree
Showing 369 changed files with 24,908 additions and 15,226 deletions.
2 changes: 1 addition & 1 deletion .babelrc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"@babel/env",
{
"targets": {
"chrome": "122",
"chrome": "130",
"node": "20.9.0"
}
}
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ body:
- .pacman
- Portable
- .rpm
- .zip
- .zip / .7z
- .apk (FreeTubeAndroid Unofficial)
- AUR (Unofficial)
- Chocolatey (Unofficial)
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
blank_issues_enabled: false
contact_links:
- name: Discussions
url: https://github.com/FreeTubeApp/FreeTube/discussions/categories/general
url: https://github.com/FreeTubeApp/FreeTube/discussions/categories/general
about: View discussions or start one yourself
- name: Questions
url: https://github.com/FreeTubeApp/FreeTube/discussions/categories/q-a
url: https://github.com/FreeTubeApp/FreeTube/discussions/categories/q-a
about: Ask and answer questions
- name: Matrix Community
url: https://matrix.to/#/+freetube:matrix.org
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ body:
- type: textarea
attributes:
label: Alternatives Considered
description: A clear and concise description of any alternative solutions or features you've considered.
description: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: true
- type: dropdown
Expand Down
1 change: 1 addition & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ updates:
- "@eslint/*"
- "yaml-eslint-parser"
- "vue-eslint-parser"
- "neostandard"
stylelint:
patterns:
- "stylelint"
Expand Down
125 changes: 71 additions & 54 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,7 @@ jobs:
- win-x64
- win-arm64
- osx-x64
# `osx-arm64` disabled due to "macOS gatekeeper"
# See details in https://github.com/FreeTubeApp/FreeTube/pull/2113
# - osx-arm64
- osx-arm64
include:
- runtime: linux-x64
os: ubuntu-latest
Expand All @@ -36,8 +34,8 @@ jobs:
- runtime: osx-x64
os: macOS-latest

# - runtime: osx-arm64
# os: macOS-latest
- runtime: osx-arm64
os: macOS-latest

- runtime: win-x64
os: windows-latest
Expand Down Expand Up @@ -86,10 +84,9 @@ jobs:
with:
version: ${{ steps.versionNumber.outputs.result }}


- name: Install libarchive-tools
if: startsWith(matrix.os, 'ubuntu')
run: sudo apt -y install libarchive-tools; echo "Version Number ${{ toJson(job) }} ${{ toJson(needs) }}"
run: sudo apt update; sudo apt -y install libarchive-tools; echo "Version Number ${{ toJson(job) }} ${{ toJson(needs) }}"

- name: Build x64 with Node.js ${{ matrix.node-version}}
if: contains(matrix.runtime, 'x64')
Expand All @@ -103,46 +100,59 @@ jobs:
if: contains(matrix.runtime, 'arm64')
run: yarn run build:arm64

- name: Convert X64 AppImage to static runtime
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
run: |
sudo apt install desktop-file-utils
cd build
appimage="FreeTube-${{ steps.versionNumber.outputs.result }}.AppImage"
wget "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage" -O ./appimagetool.AppImage
chmod +x ./"$appimage" ./appimagetool.AppImage
./"$appimage" --appimage-extract && rm -f ./"$appimage"
./appimagetool.AppImage --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 20 \
-n ./squashfs-root ./"$appimage"
rm -rf ./squashfs-root ./appimagetool.AppImage
- name: Upload Linux .zip x64 Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_linux_portable_x64
name: freetube-${{ steps.versionNumber.outputs.result }}-linux-x64-portable.zip
path: build/freetube-${{ steps.versionNumber.outputs.result }}.zip

- name: Upload Linux .7z x64 Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_linux_portable_x64.7z
name: freetube-${{ steps.versionNumber.outputs.result }}-linux-x64-portable.7z
path: build/freetube-${{ steps.versionNumber.outputs.result }}.7z

- name: Upload Linux .zip ARMv7l Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_linux_portable_armv7l
name: freetube-${{ steps.versionNumber.outputs.result }}-linux-armv7l-portable.zip
path: build/freetube-${{ steps.versionNumber.outputs.result }}-armv7l.zip

- name: Upload Linux .7z ARMv7l Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_linux_portable_armv7l.7z
name: freetube-${{ steps.versionNumber.outputs.result }}-linux-armv7l-portable.7z
path: build/freetube-${{ steps.versionNumber.outputs.result }}-armv7l.7z

- name: Upload Linux .zip ARM64 Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_linux_portable_arm64
name: freetube-${{ steps.versionNumber.outputs.result }}-linux-arm64-portable.zip
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64.zip

- name: Upload Linux .7z ARM64 Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_linux_portable_arm64.7z
name: freetube-${{ steps.versionNumber.outputs.result }}-linux-arm64-portable.7z
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64.7z

- name: Upload .deb x64 Artifact
Expand Down Expand Up @@ -170,28 +180,28 @@ jobs:
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_amd64.AppImage
name: freetube-${{ steps.versionNumber.outputs.result }}-amd64.AppImage
path: build/FreeTube-${{ steps.versionNumber.outputs.result }}.AppImage

- name: Upload AppImage ARMv7l Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_armv7l.AppImage
name: freetube-${{ steps.versionNumber.outputs.result }}-armv7l.AppImage
path: build/FreeTube-${{ steps.versionNumber.outputs.result }}-armv7l.AppImage

- name: Upload AppImage ARM64 Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_arm64.AppImage
name: freetube-${{ steps.versionNumber.outputs.result }}-arm64.AppImage
path: build/FreeTube-${{ steps.versionNumber.outputs.result }}-arm64.AppImage

- name: Upload .rpm x64 Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_amd64.rpm
name: freetube-${{ steps.versionNumber.outputs.result }}.amd64.rpm
path: build/freetube-${{ steps.versionNumber.outputs.result }}.x86_64.rpm

# rpm are not built for armv7l
Expand All @@ -200,42 +210,42 @@ jobs:
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_arm64.rpm
name: freetube-${{ steps.versionNumber.outputs.result }}.arm64.rpm
path: build/freetube-${{ steps.versionNumber.outputs.result }}.aarch64.rpm

- name: Upload Alpine .apk x64 Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_alpine_amd64.apk
name: freetube-${{ steps.versionNumber.outputs.result }}-alpine-amd64.apk
path: build/freetube-${{ steps.versionNumber.outputs.result }}.apk

- name: Upload Alpine .apk ARMv7l Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_alpine_armv7l.apk
name: freetube-${{ steps.versionNumber.outputs.result }}-alpine-armv7l.apk
path: build/freetube-${{ steps.versionNumber.outputs.result }}-armv7l.apk

- name: Upload Alpine .apk ARM64 Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_alpine_arm64.apk
name: freetube-${{ steps.versionNumber.outputs.result }}-alpine-arm64.apk
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64.apk

- name: Upload Pacman .pacman x64 Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
with:
name: freetube_${{ steps.versionNumber.outputs.result }}_amd64.pacman
name: freetube-${{ steps.versionNumber.outputs.result }}-amd64.pacman
path: build/freetube-${{ steps.versionNumber.outputs.result }}.pacman

# - name: Upload Web Build
# uses: actions/upload-artifact@v4
# if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
# with:
# name: freetube_${{ steps.versionNumber.outputs.result }}_static_web
# name: freetube-${{ steps.versionNumber.outputs.result }}-static-web
# path: dist/web

- name: Upload Windows x64 .exe Artifact
Expand All @@ -245,18 +255,18 @@ jobs:
name: freetube-${{ steps.versionNumber.outputs.result }}-setup-x64.exe
path: build/freetube Setup ${{ steps.versionNumber.outputs.result }}.exe

- name: Upload Windows arm64 .exe Artifact
- name: Upload Windows x64 Portable Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-x64')
with:
name: freetube-${{ steps.versionNumber.outputs.result }}-setup-arm64.exe
path: build/freetube Setup ${{ steps.versionNumber.outputs.result }}.exe
name: freetube-${{ steps.versionNumber.outputs.result }}-win-x64-portable.exe
path: build/freetube ${{ steps.versionNumber.outputs.result }}.exe

- name: Upload Windows x64 .zip Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-x64')
with:
name: freetube-${{ steps.versionNumber.outputs.result }}-win-x64-portable
name: freetube-${{ steps.versionNumber.outputs.result }}-win-x64-portable.zip
path: build/freetube-${{ steps.versionNumber.outputs.result }}-win.zip

- name: Upload Windows x64 .7z Artifact
Expand All @@ -266,33 +276,33 @@ jobs:
name: freetube-${{ steps.versionNumber.outputs.result }}-win-x64-portable.7z
path: build/freetube-${{ steps.versionNumber.outputs.result }}-win.7z

- name: Upload Windows arm64 .zip Artifact
- name: Upload Windows arm64 .exe Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
with:
name: freetube-${{ steps.versionNumber.outputs.result }}-win-arm64-portable
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64-win.zip
name: freetube-${{ steps.versionNumber.outputs.result }}-setup-arm64.exe
path: build/freetube Setup ${{ steps.versionNumber.outputs.result }}.exe

- name: Upload Windows arm64 .7z Artifact
- name: Upload Windows arm64 Portable Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
with:
name: freetube-${{ steps.versionNumber.outputs.result }}-win-arm64-portable.7z
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64-win.7z
name: freetube-${{ steps.versionNumber.outputs.result }}-win-arm64-portable.exe
path: build/freetube ${{ steps.versionNumber.outputs.result }}.exe

- name: Upload Windows x64 Portable Artifact
- name: Upload Windows arm64 .zip Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-x64')
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
with:
name: freetube-${{ steps.versionNumber.outputs.result }}-portable-x64.exe
path: build/freetube ${{ steps.versionNumber.outputs.result }}.exe
name: freetube-${{ steps.versionNumber.outputs.result }}-win-arm64-portable.zip
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64-win.zip

- name: Upload Windows arm64 Portable Artifact
- name: Upload Windows arm64 .7z Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
with:
name: freetube-${{ steps.versionNumber.outputs.result }}-portable-arm64.exe
path: build/freetube ${{ steps.versionNumber.outputs.result }}.exe
name: freetube-${{ steps.versionNumber.outputs.result }}-win-arm64-portable.7z
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64-win.7z

- name: Upload Mac x64 .dmg Artifact
uses: actions/upload-artifact@v4
Expand All @@ -301,13 +311,6 @@ jobs:
name: freetube-${{ steps.versionNumber.outputs.result }}-mac-x64.dmg
path: build/freetube-${{ steps.versionNumber.outputs.result }}.dmg

# - name: Upload Mac arm64 .dmg Artifact
# uses: actions/upload-artifact@v4
# if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-arm64')
# with:
# name: freetube-${{ steps.versionNumber.outputs.result }}-mac-arm64.dmg
# path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64.dmg

- name: Upload Mac x64 .zip Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-x64')
Expand All @@ -322,9 +325,23 @@ jobs:
name: freetube-${{ steps.versionNumber.outputs.result }}-mac-x64.7z
path: build/freetube-${{ steps.versionNumber.outputs.result }}-mac.7z

# - name: Upload Mac arm64 .zip Artifact
# uses: actions/upload-artifact@v4
# if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-arm64')
# with:
# name: freetube-${{ steps.versionNumber.outputs.result }}-mac-arm64.zip
# path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64-mac.zip
- name: Upload Mac arm64 .dmg Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-arm64')
with:
name: freetube-${{ steps.versionNumber.outputs.result }}-mac-arm64.dmg
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64.dmg

- name: Upload Mac arm64 .zip Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-arm64')
with:
name: freetube-${{ steps.versionNumber.outputs.result }}-mac-arm64.zip
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64-mac.zip

- name: Upload Mac arm64 .7z Artifact
uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-arm64')
with:
name: freetube-${{ steps.versionNumber.outputs.result }}-mac-arm64.7z
path: build/freetube-${{ steps.versionNumber.outputs.result }}-arm64-mac.7z
5 changes: 2 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,10 @@ jobs:
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality


# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
Expand All @@ -50,7 +49,7 @@ jobs:
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/conflicts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,3 @@ jobs:
repoToken: "${{ secrets.GITHUB_TOKEN }}"
commentOnDirty: "This pull request has conflicts, please resolve those before we can evaluate the pull request."
commentOnClean: "Conflicts have been resolved. A maintainer will review the pull request shortly."

Loading

0 comments on commit 4a9382c

Please sign in to comment.