Add linux armv7l and win/osx arm64 builds (#2113)
* Add linux armv7l * Add linux armv7l * Update release.yml * Update build.yml * Update release.yml * Update build.js * Update release.yml * Update build.yml * Update release.yml * Update release.yml * Update build.yml * Update _scripts/build.js Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com> * Update _scripts/build.js Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com> * Update _scripts/build.js Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com> * Update build.yml * Update build.yml * Update release.yml * Remove squirrel build from windows as unused * Update build.yml * Update release.yml * Update build.yml * Update release.yml * Update build.yml * Update release.yml * Update .github/workflows/release.yml Co-authored-by: PikachuEXE <pikachuexe@gmail.com> * Update .github/workflows/build.yml Co-authored-by: PikachuEXE <pikachuexe@gmail.com> Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com> Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
This commit is contained in:
parent
9faff9087b
commit
ce77d16ff5
|
@ -6,26 +6,45 @@ name: Build
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master, development, '**-RC' ]
|
branches: [ master, development, '**-RC' ]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [16.x]
|
node-version: [16.x]
|
||||||
runtime: [ linux-x64, linux-arm64, win-x64, osx-x64 ]
|
runtime:
|
||||||
|
- linux-x64
|
||||||
|
- linux-armv7l
|
||||||
|
- linux-arm64
|
||||||
|
- 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
|
||||||
include:
|
include:
|
||||||
- runtime: linux-x64
|
- runtime: linux-x64
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
|
|
||||||
|
- runtime: linux-armv7l
|
||||||
|
os: ubuntu-latest
|
||||||
|
|
||||||
- runtime: linux-arm64
|
- runtime: linux-arm64
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
|
|
||||||
- runtime: osx-x64
|
- runtime: osx-x64
|
||||||
os: macOS-latest
|
os: macOS-latest
|
||||||
|
|
||||||
|
# - runtime: osx-arm64
|
||||||
|
# os: macOS-latest
|
||||||
|
|
||||||
- runtime: win-x64
|
- runtime: win-x64
|
||||||
os: windows-latest
|
os: windows-latest
|
||||||
|
|
||||||
|
- runtime: win-arm64
|
||||||
|
os: windows-latest
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
@ -73,15 +92,19 @@ jobs:
|
||||||
|
|
||||||
|
|
||||||
- name: Install libarchive-tools
|
- name: Install libarchive-tools
|
||||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
|
if: startsWith(matrix.os, 'ubuntu')
|
||||||
run: sudo apt -y install libarchive-tools; echo "Version Number ${{ toJson(job) }} ${{ toJson(needs) }}"
|
run: sudo apt -y install libarchive-tools; echo "Version Number ${{ toJson(job) }} ${{ toJson(needs) }}"
|
||||||
|
|
||||||
- name: Build x64 with Node.js ${{ matrix.node-version}}
|
- name: Build x64 with Node.js ${{ matrix.node-version}}
|
||||||
if: contains(matrix.runtime, 'x64')
|
if: contains(matrix.runtime, 'x64')
|
||||||
run: npm run build --if-present
|
run: npm run build --if-present
|
||||||
|
|
||||||
|
- name: Build ARMv7l with Node.js ${{ matrix.node-version}}
|
||||||
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
|
||||||
|
run: npm run build:arm32 --if-present
|
||||||
|
|
||||||
- name: Build ARM64 with Node.js ${{ matrix.node-version}}
|
- name: Build ARM64 with Node.js ${{ matrix.node-version}}
|
||||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
if: contains(matrix.runtime, 'arm64')
|
||||||
run: npm run build:arm64 --if-present
|
run: npm run build:arm64 --if-present
|
||||||
|
|
||||||
- name: Upload Linux .zip x64 Artifact
|
- name: Upload Linux .zip x64 Artifact
|
||||||
|
@ -91,7 +114,14 @@ jobs:
|
||||||
name: freetube_${{ steps.versionNumber.outputs.result }}_linux_portable_x64
|
name: freetube_${{ steps.versionNumber.outputs.result }}_linux_portable_x64
|
||||||
path: build/freetube-${{ steps.versionNumber.outputs.result }}.zip
|
path: build/freetube-${{ steps.versionNumber.outputs.result }}.zip
|
||||||
|
|
||||||
- name: Upload Linux .zip ARM Artifact
|
- name: Upload Linux .zip ARMv7l Artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
|
||||||
|
with:
|
||||||
|
name: freetube_${{ steps.versionNumber.outputs.result }}_linux_portable_armv7l
|
||||||
|
path: build/freetube-${{ steps.versionNumber.outputs.result }}-armv7l.zip
|
||||||
|
|
||||||
|
- name: Upload Linux .zip ARM64 Artifact
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||||
with:
|
with:
|
||||||
|
@ -105,7 +135,14 @@ jobs:
|
||||||
name: freetube_${{ steps.versionNumber.outputs.result }}_amd64.deb
|
name: freetube_${{ steps.versionNumber.outputs.result }}_amd64.deb
|
||||||
path: build/freetube_${{ steps.versionNumber.outputs.result }}_amd64.deb
|
path: build/freetube_${{ steps.versionNumber.outputs.result }}_amd64.deb
|
||||||
|
|
||||||
- name: Upload .deb ARM Artifact
|
- name: Upload .deb ARMv7l Artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
|
||||||
|
with:
|
||||||
|
name: freetube_${{ steps.versionNumber.outputs.result }}_armv7l.deb
|
||||||
|
path: build/freetube_${{ steps.versionNumber.outputs.result }}_armv7l.deb
|
||||||
|
|
||||||
|
- name: Upload .deb ARM64 Artifact
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||||
with:
|
with:
|
||||||
|
@ -119,7 +156,14 @@ jobs:
|
||||||
name: freetube_${{ steps.versionNumber.outputs.result }}_amd64.AppImage
|
name: freetube_${{ steps.versionNumber.outputs.result }}_amd64.AppImage
|
||||||
path: build/FreeTube-${{ steps.versionNumber.outputs.result }}.AppImage
|
path: build/FreeTube-${{ steps.versionNumber.outputs.result }}.AppImage
|
||||||
|
|
||||||
- name: Upload AppImage ARM Artifact
|
- name: Upload AppImage ARMv7l Artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
|
||||||
|
with:
|
||||||
|
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@v2
|
uses: actions/upload-artifact@v2
|
||||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||||
with:
|
with:
|
||||||
|
@ -133,7 +177,9 @@ jobs:
|
||||||
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
|
path: build/freetube-${{ steps.versionNumber.outputs.result }}.x86_64.rpm
|
||||||
|
|
||||||
- name: Upload .rpm ARM Artifact
|
# rpm are not built for armv7l
|
||||||
|
|
||||||
|
- name: Upload .rpm ARM64 Artifact
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||||
with:
|
with:
|
||||||
|
@ -147,7 +193,14 @@ jobs:
|
||||||
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
|
path: build/freetube-${{ steps.versionNumber.outputs.result }}.apk
|
||||||
|
|
||||||
- name: Upload Alpine .apk ARM Artifact
|
- name: Upload Alpine .apk ARMv7l Artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
|
||||||
|
with:
|
||||||
|
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@v2
|
uses: actions/upload-artifact@v2
|
||||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||||
with:
|
with:
|
||||||
|
@ -168,30 +221,72 @@ jobs:
|
||||||
# name: freetube_${{ steps.versionNumber.outputs.result }}_static_web
|
# name: freetube_${{ steps.versionNumber.outputs.result }}_static_web
|
||||||
# path: dist/web
|
# path: dist/web
|
||||||
|
|
||||||
- name: Upload Windows .exe Artifact
|
- name: Upload Windows x64 .exe Artifact
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
if: startsWith(matrix.os, 'windows')
|
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-x64')
|
||||||
with:
|
|
||||||
name: freetube-${{ steps.versionNumber.outputs.result }}-win-x64-portable
|
|
||||||
path: build/freetube-${{ steps.versionNumber.outputs.result }}-win.zip
|
|
||||||
|
|
||||||
- name: Upload Windows .zip Artifact
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
if: startsWith(matrix.os, 'windows')
|
|
||||||
with:
|
with:
|
||||||
name: freetube-${{ steps.versionNumber.outputs.result }}-setup-x64.exe
|
name: freetube-${{ steps.versionNumber.outputs.result }}-setup-x64.exe
|
||||||
path: build/freetube Setup ${{ steps.versionNumber.outputs.result }}.exe
|
path: build/freetube Setup ${{ steps.versionNumber.outputs.result }}.exe
|
||||||
|
|
||||||
- name: Upload Windows Portable Artifact
|
- name: Upload Windows arm64 .exe Artifact
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
if: startsWith(matrix.os, 'windows')
|
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
|
||||||
|
with:
|
||||||
|
name: freetube-${{ steps.versionNumber.outputs.result }}-setup-arm64.exe
|
||||||
|
path: build/freetube Setup ${{ steps.versionNumber.outputs.result }}.exe
|
||||||
|
|
||||||
|
- name: Upload Windows x64 .zip Artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-x64')
|
||||||
|
with:
|
||||||
|
name: freetube-${{ steps.versionNumber.outputs.result }}-win-x64-portable
|
||||||
|
path: build/freetube-${{ steps.versionNumber.outputs.result }}-win.zip
|
||||||
|
|
||||||
|
- name: Upload Windows arm64 .zip Artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
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: Upload Windows x64 Portable Artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-x64')
|
||||||
with:
|
with:
|
||||||
name: freetube-${{ steps.versionNumber.outputs.result }}-portable-x64.exe
|
name: freetube-${{ steps.versionNumber.outputs.result }}-portable-x64.exe
|
||||||
path: build/freetube ${{ steps.versionNumber.outputs.result }}.exe
|
path: build/freetube ${{ steps.versionNumber.outputs.result }}.exe
|
||||||
|
|
||||||
- name: Upload Mac .dmg Artifact
|
- name: Upload Windows arm64 Portable Artifact
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
if: startsWith(matrix.os, 'macos')
|
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
|
||||||
with:
|
with:
|
||||||
name: freetube-${{ steps.versionNumber.outputs.result }}-mac.dmg
|
name: freetube-${{ steps.versionNumber.outputs.result }}-portable-arm64.exe
|
||||||
|
path: build/freetube ${{ steps.versionNumber.outputs.result }}.exe
|
||||||
|
|
||||||
|
- name: Upload Mac x64 .dmg Artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-x64')
|
||||||
|
with:
|
||||||
|
name: freetube-${{ steps.versionNumber.outputs.result }}-mac-x64.dmg
|
||||||
path: build/freetube-${{ steps.versionNumber.outputs.result }}.dmg
|
path: build/freetube-${{ steps.versionNumber.outputs.result }}.dmg
|
||||||
|
|
||||||
|
# - name: Upload Mac arm64 .dmg Artifact
|
||||||
|
# uses: actions/upload-artifact@v2
|
||||||
|
# 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@v2
|
||||||
|
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-x64')
|
||||||
|
with:
|
||||||
|
name: freetube-${{ steps.versionNumber.outputs.result }}-mac-x64.zip
|
||||||
|
path: build/freetube-${{ steps.versionNumber.outputs.result }}-mac.zip
|
||||||
|
|
||||||
|
# - name: Upload Mac arm64 .zip Artifact
|
||||||
|
# uses: actions/upload-artifact@v2
|
||||||
|
# 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
|
||||||
|
|
|
@ -13,20 +13,38 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [16.x]
|
node-version: [16.x]
|
||||||
runtime: [ linux-x64, linux-arm64, win-x64, osx-x64 ]
|
runtime:
|
||||||
|
- linux-x64
|
||||||
|
- linux-armv7l
|
||||||
|
- linux-arm64
|
||||||
|
- 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
|
||||||
include:
|
include:
|
||||||
- runtime: linux-x64
|
- runtime: linux-x64
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
|
|
||||||
|
- runtime: linux-armv7l
|
||||||
|
os: ubuntu-latest
|
||||||
|
|
||||||
- runtime: linux-arm64
|
- runtime: linux-arm64
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
|
|
||||||
- runtime: osx-x64
|
- runtime: osx-x64
|
||||||
os: macOS-latest
|
os: macOS-latest
|
||||||
|
|
||||||
|
# - runtime: osx-arm64
|
||||||
|
# os: macOS-latest
|
||||||
|
|
||||||
- runtime: win-x64
|
- runtime: win-x64
|
||||||
os: windows-latest
|
os: windows-latest
|
||||||
|
|
||||||
|
- runtime: win-arm64
|
||||||
|
os: windows-latest
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
@ -49,8 +67,12 @@ jobs:
|
||||||
if: contains(matrix.runtime, 'x64')
|
if: contains(matrix.runtime, 'x64')
|
||||||
run: npm run build --if-present
|
run: npm run build --if-present
|
||||||
|
|
||||||
|
- name: Build ARMv7l with Node.js ${{ matrix.node-version}}
|
||||||
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
|
||||||
|
run: npm run build:arm32 --if-present
|
||||||
|
|
||||||
- name: Build ARM64 with Node.js ${{ matrix.node-version}}
|
- name: Build ARM64 with Node.js ${{ matrix.node-version}}
|
||||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
if: contains(matrix.runtime, 'arm64')
|
||||||
run: npm run build:arm64 --if-present
|
run: npm run build:arm64 --if-present
|
||||||
|
|
||||||
- name: Upload AppImage x64 Release
|
- name: Upload AppImage x64 Release
|
||||||
|
@ -75,7 +97,18 @@ jobs:
|
||||||
asset_path: build/freetube-${{ env.PACKAGE_VERSION }}.zip
|
asset_path: build/freetube-${{ env.PACKAGE_VERSION }}.zip
|
||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
|
||||||
- name: Upload Linux .zip ARM Release
|
- name: Upload Linux .zip ARMv7l Release
|
||||||
|
uses: actions/upload-release-asset@v1
|
||||||
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: https://uploads.github.com/repos/FreeTubeApp/FreeTube/releases/${{ secrets.UPLOAD_ID }}/assets{?name,label}
|
||||||
|
asset_name: freetube-${{ env.PACKAGE_VERSION }}-linux-portable-armv7l.zip
|
||||||
|
asset_path: build/freetube-${{ env.PACKAGE_VERSION }}-armv7l.zip
|
||||||
|
asset_content_type: application/zip
|
||||||
|
|
||||||
|
- name: Upload Linux .zip ARM64 Release
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||||
env:
|
env:
|
||||||
|
@ -97,7 +130,18 @@ jobs:
|
||||||
asset_path: build/freetube_${{ env.PACKAGE_VERSION }}_amd64.deb
|
asset_path: build/freetube_${{ env.PACKAGE_VERSION }}_amd64.deb
|
||||||
asset_content_type: application/vnd.debian.binary-package
|
asset_content_type: application/vnd.debian.binary-package
|
||||||
|
|
||||||
- name: Upload Linux .deb ARM Release
|
- name: Upload Linux .deb ARMv7l Release
|
||||||
|
uses: actions/upload-release-asset@v1
|
||||||
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-armv7l')
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: https://uploads.github.com/repos/FreeTubeApp/FreeTube/releases/${{ secrets.UPLOAD_ID }}/assets{?name,label}
|
||||||
|
asset_name: freetube_${{ env.PACKAGE_VERSION }}_armv7l.deb
|
||||||
|
asset_path: build/freetube_${{ env.PACKAGE_VERSION }}_armv7l.deb
|
||||||
|
asset_content_type: application/vnd.debian.binary-package
|
||||||
|
|
||||||
|
- name: Upload Linux .deb ARM64 Release
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||||
env:
|
env:
|
||||||
|
@ -119,7 +163,9 @@ jobs:
|
||||||
asset_path: build/freetube-${{ env.PACKAGE_VERSION }}.x86_64.rpm
|
asset_path: build/freetube-${{ env.PACKAGE_VERSION }}.x86_64.rpm
|
||||||
asset_content_type: application/x-rpm
|
asset_content_type: application/x-rpm
|
||||||
|
|
||||||
- name: Upload Linux .rpm ARM Release
|
# rpm are not built for armv7l
|
||||||
|
|
||||||
|
- name: Upload Linux .rpm ARM64 Release
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||||
env:
|
env:
|
||||||
|
@ -130,9 +176,9 @@ jobs:
|
||||||
asset_path: build/freetube-${{ env.PACKAGE_VERSION }}.aarch64.rpm
|
asset_path: build/freetube-${{ env.PACKAGE_VERSION }}.aarch64.rpm
|
||||||
asset_content_type: application/x-rpm
|
asset_content_type: application/x-rpm
|
||||||
|
|
||||||
- name: Upload Windows .exe Release
|
- name: Upload Windows x64 .exe Release
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
if: startsWith(matrix.os, 'windows')
|
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-x64')
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
|
@ -141,9 +187,20 @@ jobs:
|
||||||
asset_path: build/freetube Setup ${{ env.PACKAGE_VERSION }}.exe
|
asset_path: build/freetube Setup ${{ env.PACKAGE_VERSION }}.exe
|
||||||
asset_content_type: application/x-ms-dos-executable
|
asset_content_type: application/x-ms-dos-executable
|
||||||
|
|
||||||
- name: Upload Windows .zip Release
|
- name: Upload Windows arm64 .exe Release
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
if: startsWith(matrix.os, 'windows')
|
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: https://uploads.github.com/repos/FreeTubeApp/FreeTube/releases/${{ secrets.UPLOAD_ID }}/assets{?name,label}
|
||||||
|
asset_name: freetube-${{ env.PACKAGE_VERSION }}-setup-arm64.exe
|
||||||
|
asset_path: build/freetube Setup ${{ env.PACKAGE_VERSION }}.exe
|
||||||
|
asset_content_type: application/x-ms-dos-executable
|
||||||
|
|
||||||
|
- name: Upload Windows x64 .zip Release
|
||||||
|
uses: actions/upload-release-asset@v1
|
||||||
|
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-x64')
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
|
@ -152,13 +209,80 @@ jobs:
|
||||||
asset_path: build/freetube-${{ env.PACKAGE_VERSION }}-win.zip
|
asset_path: build/freetube-${{ env.PACKAGE_VERSION }}-win.zip
|
||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
|
||||||
- name: Upload Mac .dmg Release
|
- name: Upload Windows arm64 .zip Release
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
if: startsWith(matrix.os, 'macos')
|
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: https://uploads.github.com/repos/FreeTubeApp/FreeTube/releases/${{ secrets.UPLOAD_ID }}/assets{?name,label}
|
upload_url: https://uploads.github.com/repos/FreeTubeApp/FreeTube/releases/${{ secrets.UPLOAD_ID }}/assets{?name,label}
|
||||||
asset_name: freetube-${{ env.PACKAGE_VERSION }}-mac.dmg
|
asset_name: freetube-${{ env.PACKAGE_VERSION }}-win-arm64-portable.zip
|
||||||
|
asset_path: build/freetube-${{ env.PACKAGE_VERSION }}-arm64-win.zip
|
||||||
|
asset_content_type: application/zip
|
||||||
|
|
||||||
|
- name: Upload Windows x64 portable Release
|
||||||
|
uses: actions/upload-release-asset@v1
|
||||||
|
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-x64')
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: https://uploads.github.com/repos/FreeTubeApp/FreeTube/releases/${{ secrets.UPLOAD_ID }}/assets{?name,label}
|
||||||
|
asset_name: freetube-${{ env.PACKAGE_VERSION }}-win-x64-portable.exe
|
||||||
|
asset_path: build/FreeTube ${{ env.PACKAGE_VERSION }}.exe
|
||||||
|
asset_content_type: application/x-ms-dos-executable
|
||||||
|
|
||||||
|
- name: Upload Windows arm64 portable Release
|
||||||
|
uses: actions/upload-release-asset@v1
|
||||||
|
if: startsWith(matrix.os, 'windows') && startsWith(matrix.runtime, 'win-arm64')
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: https://uploads.github.com/repos/FreeTubeApp/FreeTube/releases/${{ secrets.UPLOAD_ID }}/assets{?name,label}
|
||||||
|
asset_name: freetube-${{ env.PACKAGE_VERSION }}-win-arm64-portable.exe
|
||||||
|
asset_path: build/FreeTube ${{ env.PACKAGE_VERSION }}.exe
|
||||||
|
asset_content_type: application/x-ms-dos-executable
|
||||||
|
|
||||||
|
- name: Upload Mac x64 .dmg Release
|
||||||
|
uses: actions/upload-release-asset@v1
|
||||||
|
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-x64')
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: https://uploads.github.com/repos/FreeTubeApp/FreeTube/releases/${{ secrets.UPLOAD_ID }}/assets{?name,label}
|
||||||
|
asset_name: freetube-${{ env.PACKAGE_VERSION }}-mac-x64.dmg
|
||||||
asset_path: build/freetube-${{ env.PACKAGE_VERSION }}.dmg
|
asset_path: build/freetube-${{ env.PACKAGE_VERSION }}.dmg
|
||||||
asset_content_type: application/x-apple-diskimage
|
asset_content_type: application/x-apple-diskimage
|
||||||
|
|
||||||
|
# - name: Upload Mac arm64 .dmg Release
|
||||||
|
# uses: actions/upload-release-asset@v1
|
||||||
|
# if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-arm64')
|
||||||
|
# env:
|
||||||
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
# with:
|
||||||
|
# upload_url: https://uploads.github.com/repos/FreeTubeApp/FreeTube/releases/${{ secrets.UPLOAD_ID }}/assets{?name,label}
|
||||||
|
# asset_name: freetube-${{ env.PACKAGE_VERSION }}-mac-arm64.dmg
|
||||||
|
# asset_path: build/freetube-${{ env.PACKAGE_VERSION }}-arm64.dmg
|
||||||
|
# asset_content_type: application/x-apple-diskimage
|
||||||
|
|
||||||
|
- name: Upload Mac x64 .zip Release
|
||||||
|
uses: actions/upload-release-asset@v1
|
||||||
|
if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-x64')
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: https://uploads.github.com/repos/FreeTubeApp/FreeTube/releases/${{ secrets.UPLOAD_ID }}/assets{?name,label}
|
||||||
|
asset_name: freetube-${{ env.PACKAGE_VERSION }}-mac-x64.zip
|
||||||
|
asset_path: build/freetube-${{ env.PACKAGE_VERSION }}-mac.zip
|
||||||
|
asset_content_type: application/x-apple-diskimage
|
||||||
|
|
||||||
|
# - name: Upload Mac arm64 .zip Release
|
||||||
|
# uses: actions/upload-release-asset@v1
|
||||||
|
# if: startsWith(matrix.os, 'macos') && startsWith(matrix.runtime, 'osx-arm64')
|
||||||
|
# env:
|
||||||
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
# with:
|
||||||
|
# upload_url: https://uploads.github.com/repos/FreeTubeApp/FreeTube/releases/${{ secrets.UPLOAD_ID }}/assets{?name,label}
|
||||||
|
# asset_name: freetube-${{ env.PACKAGE_VERSION }}-mac-arm64.zip
|
||||||
|
# asset_path: build/freetube-${{ env.PACKAGE_VERSION }}-arm64-mac.zip
|
||||||
|
# asset_content_type: application/x-apple-diskimage
|
||||||
|
|
||||||
|
|
|
@ -13,15 +13,19 @@ const cpus = os.cpus()
|
||||||
if (platform === 'darwin') {
|
if (platform === 'darwin') {
|
||||||
let arch = Arch.x64
|
let arch = Arch.x64
|
||||||
|
|
||||||
// Macbook Air 2020 with M1 = 'Apple M1'
|
if (args[2] === 'arm64') {
|
||||||
// Macbook Pro 2021 with M1 Pro = 'Apple M1 Pro'
|
|
||||||
if (cpus[0].model.startsWith('Apple')) {
|
|
||||||
arch = Arch.arm64
|
arch = Arch.arm64
|
||||||
}
|
}
|
||||||
|
|
||||||
targets = Platform.MAC.createTarget(['dmg'], arch)
|
targets = Platform.MAC.createTarget(['DMG','zip'], arch)
|
||||||
} else if (platform === 'win32') {
|
} else if (platform === 'win32') {
|
||||||
targets = Platform.WINDOWS.createTarget()
|
let arch = Arch.x64
|
||||||
|
|
||||||
|
if (args[2] === 'arm64') {
|
||||||
|
arch = Arch.arm64
|
||||||
|
}
|
||||||
|
|
||||||
|
targets = Platform.WINDOWS.createTarget(['nsis', 'zip', 'portable'], arch)
|
||||||
} else if (platform === 'linux') {
|
} else if (platform === 'linux') {
|
||||||
let arch = Arch.x64
|
let arch = Arch.x64
|
||||||
|
|
||||||
|
@ -126,7 +130,7 @@ const config = {
|
||||||
},
|
},
|
||||||
win: {
|
win: {
|
||||||
icon: '_icons/icon.ico',
|
icon: '_icons/icon.ico',
|
||||||
target: ['nsis', 'zip', 'portable', 'squirrel'],
|
target: ['nsis', 'zip', 'portable'],
|
||||||
},
|
},
|
||||||
nsis: {
|
nsis: {
|
||||||
allowToChangeInstallationDirectory: true,
|
allowToChangeInstallationDirectory: true,
|
||||||
|
|
Loading…
Reference in New Issue