Skip to content

fix: ci

fix: ci #51

Workflow file for this run

name: Releases
on:
push:
tags:
- "v*"
jobs:
build-ext-windows:
runs-on: windows-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: build js
run: |
npm install -g pnpm esbuild
pnpm setup
pnpm i
cd ./mpv-js-plugin-init
pnpm run build
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
rustflags: "-A warnings"
toolchain: "nightly"
- name: build ext
run: |
cd ./mpv-rs-ext
cargo build --release --out-dir=./output -Z unstable-options
cd ..
mv ./mpv-rs-ext/output/rs-ext.exe ./rs-ext-windows
- name: build deno
run: |
rustup target add nightly-x86_64-pc-windows-msvc
rustup toolchain install nightly-x86_64-pc-windows-msvc
rustup default nightly-x86_64-pc-windows-msvc
rustup set default-host nightly-x86_64-pc-windows-msvc
rustup override set nightly-x86_64-pc-windows-msvc
rustc --version
cd ./mpv-deno
cargo build --release --out-dir=./output -Z unstable-options
cd ..
mv ./mpv-deno/output/mpv_deno.dll ./mpv-deno-windows.dll
- uses: msys2/setup-msys2@v2
- shell: msys2 {0}
run: |
pacman -S mingw-w64-x86_64-gcc --noconfirm
- name: build qjs
run: |
rustup target add x86_64-pc-windows-gnu
rustup toolchain install nightly-x86_64-pc-windows-gnu
rustup default nightly-x86_64-pc-windows-gnu
rustup set default-host x86_64-pc-windows-gnu
rustup override set nightly-x86_64-pc-windows-gnu
rustc --version
cd ./mpv-qjs
cargo build --release --out-dir=./output -Z unstable-options
cd ..
mv ./mpv-qjs/output/mpv_qjs.dll ./mpv-qjs-windows.dll
- name: build boa
run: |
rustup target add x86_64-pc-windows-gnu
rustup toolchain install nightly-x86_64-pc-windows-gnu
rustup default nightly-x86_64-pc-windows-gnu
rustup set default-host x86_64-pc-windows-gnu
rustup override set nightly-x86_64-pc-windows-gnu
rustc --version
cd ./mpv-boa
cargo build --release --out-dir=./output -Z unstable-options
cd ..
mv ./mpv-boa/output/mpv_boa.dll ./mpv-boa-windows.dll
- name: Upload windows Artifact ext
uses: actions/upload-artifact@v4
with:
name: rs-ext-windows
path: ./rs-ext-windows
- name: Upload windows Artifact deno
uses: actions/upload-artifact@v4
with:
name: mpv-deno-windows
path: ./mpv-deno-windows.dll
- name: Upload windows Artifact qjs
uses: actions/upload-artifact@v4
with:
name: mpv-qjs-windows
path: ./mpv-qjs-windows.dll
- name: Upload windows Artifact boa
uses: actions/upload-artifact@v4
with:
name: mpv-boa-windows
path: ./mpv-boa-windows.dll
build-ext-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install latest nightly
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
- name: build macos-latest
run: |
cd ./mpv-rs-ext
cargo build --release --out-dir=./output -Z unstable-options
cd ..
mv ./mpv-rs-ext/output/rs-ext ./rs-ext-macos
- name: Upload macos Artifact ext
uses: actions/upload-artifact@v4
with:
name: rs-ext-macos
path: ./rs-ext-macos
build-ext-ubuntu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install latest nightly
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
- name: build ubuntu-latest
run: |
cd ./mpv-rs-ext
cargo build --release --out-dir=./output -Z unstable-options
cd ..
mv ./mpv-rs-ext/output/rs-ext ./rs-ext-ubuntu
- name: Upload ubuntu Artifact ext
uses: actions/upload-artifact@v4
with:
name: rs-ext-ubuntu
path: ./rs-ext-ubuntu
build-ext-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install latest nightly
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
- name: build ubuntu-latest
run: |
cd ./mpv-rs-ext
cargo install cross --git https://github.com/cross-rs/cross
cross build --release --target aarch64-linux-android --out-dir=./output -Z unstable-options
cd ..
mv ./mpv-rs-ext/output/rs-ext ./rs-ext-android
- name: Upload android Artifact ext
uses: actions/upload-artifact@v4
with:
name: rs-ext-android
path: ./rs-ext-android
release:
needs: [build-ext-windows, build-ext-macos, build-ext-ubuntu, build-ext-android]
name: release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
path: rs-ext
pattern: rs-ext-*
merge-multiple: true
- uses: actions/download-artifact@v4
with:
path: deno-dll
pattern: mpv-deno-*
merge-multiple: true
- uses: actions/download-artifact@v4
with:
path: qjs-dll
pattern: mpv-qjs-*
merge-multiple: true
- uses: actions/download-artifact@v4
with:
path: boa-dll
pattern: mpv-boa-*
merge-multiple: true
- name: "build ts"
run: |
npm i pnpm -g
pnpm i
pnpm run build
- name: "create dist"
run: |
sudo apt install p7zip-full -y
mkdir ./dist/scripts/mpv-easy-config/rs-ext -p
cp ./mpv-easy/es5/mpv-easy-es5.js ./dist/scripts/mpv-easy-es5.js
cp -r ./mpv-easy/fonts ./dist
cp -r ./mpv-anime4k/shaders ./dist
cp ./mpv-easy/mpv-conf/mpv.conf ./dist/mpv.conf
chmod 777 ./rs-ext/*
cp -r ./dist ./mpy-easy-macos
cp -r ./dist ./mpy-easy-linux
cp -r ./dist ./mpy-easy-android
cp -r ./dist ./mpy-easy-windows
cp -r ./dist ./mpy-easy-deno-windows
cp -r ./dist ./mpy-easy-qjs-windows
cp -r ./dist ./mpy-easy-boa-windows
cp ./rs-ext/rs-ext-macos ./mpy-easy-macos/scripts/mpv-easy-config/rs-ext/rs-ext-macos
cp ./rs-ext/rs-ext-ubuntu ./mpy-easy-linux/scripts/mpv-easy-config/rs-ext/rs-ext-linux
cp ./rs-ext/rs-ext-android ./mpy-easy-android/scripts/mpv-easy-config/rs-ext/rs-ext-android
cp ./rs-ext/rs-ext-windows ./mpy-easy-windows/scripts/mpv-easy-config/rs-ext/rs-ext-windows
cp ./rs-ext/rs-ext-windows ./mpy-easy-deno-windows/scripts/mpv-easy-config/rs-ext/rs-ext-windows
cp ./rs-ext/rs-ext-windows ./mpy-easy-qjs-windows/scripts/mpv-easy-config/rs-ext/rs-ext-windows
cp ./rs-ext/rs-ext-windows ./mpy-easy-boa-windows/scripts/mpv-easy-config/rs-ext/rs-ext-windows
cp ./deno-dll/mpv-deno-windows.dll ./mpy-easy-deno-windows/scripts/mpv-deno-windows.dll
rm ./mpy-easy-deno-windows/scripts/mpv-easy-es5.js
mkdir ./mpy-easy-deno-windows/scripts-deno
cp ./mpv-easy/bundle/mpv-easy-es6.js ./mpy-easy-deno-windows/scripts-deno/mpv-easy-es6.js
mv ./mpy-easy-deno-windows/scripts/mpv-easy-config ./mpy-easy-deno-windows/scripts-deno/mpv-easy-config
cp ./qjs-dll/mpv-qjs-windows.dll ./mpy-easy-qjs-windows/scripts/mpv-qjs-windows.dll
rm ./mpy-easy-qjs-windows/scripts/mpv-easy-es5.js
mkdir ./mpy-easy-qjs-windows/scripts-qjs
cp ./mpv-easy/bundle/mpv-easy-es6.js ./mpy-easy-qjs-windows/scripts-qjs/mpv-easy-es6.js
mv ./mpy-easy-qjs-windows/scripts/mpv-easy-config ./mpy-easy-qjs-windows/scripts-qjs/mpv-easy-config
cp ./boa-dll/mpv-boa-windows.dll ./mpy-easy-boa-windows/scripts/mpv-boa-windows.dll
rm ./mpy-easy-boa-windows/scripts/mpv-easy-es5.js
mkdir ./mpy-easy-boa-windows/scripts-boa
cp ./mpv-easy/bundle/mpv-easy-es6.js ./mpy-easy-boa-windows/scripts-boa/mpv-easy-es6.js
mv ./mpy-easy-boa-windows/scripts/mpv-easy-config ./mpy-easy-boa-windows/scripts-boa/mpv-easy-config
wget -P ./mpy-easy-windows/yt-dlp yt-dlp https://github.com/yt-dlp/yt-dlp/releases/download/2024.05.27/yt-dlp.exe || true
wget -O ./mpv-win.7z https://github.com/zhongfly/mpv-winbuild/releases/download/2024-06-08-fe709c9/mpv-x86_64-v3-20240608-git-fe709c9.7z
7z x ./mpv-win.7z -o./mpy-easy-windows-full -y
cp -r ./mpy-easy-windows ./mpy-easy-windows-full/portable_config
cd ./mpy-easy-macos
zip -r -q ./mpy-easy-macos.zip .
cd ..
cd ./mpy-easy-linux
zip -r -q ./mpy-easy-linux.zip .
cd ..
cd ./mpy-easy-android
zip -r -q ./mpy-easy-android.zip .
cd ..
cd ./mpy-easy-windows
zip -r -q ./mpy-easy-windows.zip .
cd ..
cd ./mpy-easy-deno-windows
zip -r -q ./mpy-easy-deno-windows.zip .
cd ..
cd ./mpy-easy-qjs-windows
zip -r -q ./mpy-easy-qjs-windows.zip .
cd ..
cd ./mpy-easy-boa-windows
zip -r -q ./mpy-easy-boa-windows.zip .
cd ..
cd ./mpy-easy-windows-full
zip -r -q ./mpy-easy-windows-full.zip .
cd ..
- uses: ncipollo/release-action@v1
with:
artifacts: "./mpy-easy-*/*.zip,./mpv-easy/es5/mpv-easy-es5.js,./mpv-easy/bundle/mpv-easy-es6.js"