build gelöscht

This commit is contained in:
georg0480
2026-01-31 16:24:14 +01:00
parent a265c23fd7
commit 79e9a383f8
10 changed files with 0 additions and 830 deletions

View File

@@ -1,98 +0,0 @@
name: build-shotcut-linux-unstable
on:
workflow_dispatch:
schedule:
# nightly
- cron: '0 8 * * *'
env:
IMAGE_NAME: mltframework/shotcut-build:qt6.8.3-ubuntu22.04
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: qt6
- name: Build
run: |
echo Preparing version
echo $(date +"%y.%-m.%-d") > VERSION
VERSION=$(cat VERSION)
echo VERSION=$VERSION
FILENAME_VERSION=UNSTABLE-$VERSION
cd scripts
echo Making build script config file
echo CLEANUP=0 > build-shotcut.conf
echo SHOTCUT_VERSION=\"$VERSION\" >> build-shotcut.conf
echo SHOTCUT_HEAD=0 >> build-shotcut.conf
echo SHOTCUT_REVISION=origin/qt6 >> build-shotcut.conf
docker run -v $PWD:/root/shotcut $IMAGE_NAME
echo Renaming build artifacts
mv shotcut.txz shotcut-linux-x86_64-$FILENAME_VERSION.txz
mv src.txz shotcut-src-$FILENAME_VERSION.txz
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: linux-portable
path: |
scripts/shotcut-linux-x86_64-*.txz
- name: Upload portable and source archives to S3
if: ${{ github.repository_owner == 'mltframework' }}
uses: mltframework/s3cmd-action@v0
with:
args: >-
--access_key=${{ secrets.AWS_ACCESS_KEY }}
--secret_key=${{ secrets.AWS_SECRET_KEY }}
--acl-public
--stop-on-error
put scripts/*.txz s3://builds.us.meltytech/shotcut/
- name: Package AppImage
run: |
sudo apt install desktop-file-utils
mkdir packaging/linux/Shotcut
cp VERSION packaging/linux/Shotcut/
cd packaging/linux
wget https://raw.githubusercontent.com/probonopd/AppImages/master/pkg2appimage
bash -ex pkg2appimage appimage/appimage.yml
FILENAME_VERSION=UNSTABLE-$(cat Shotcut/VERSION)
mv out/*.AppImage out/shotcut-linux-x86_64-$FILENAME_VERSION.AppImage
- name: Upload AppImage to S3
if: ${{ github.repository_owner == 'mltframework' }}
uses: mltframework/s3cmd-action@v0
with:
args: >-
--access_key=${{ secrets.AWS_ACCESS_KEY }}
--secret_key=${{ secrets.AWS_SECRET_KEY }}
--acl-public
--stop-on-error
put packaging/linux/out/*.AppImage s3://builds.us.meltytech/shotcut/
- name: Install Snapcraft
if: ${{ github.repository_owner == 'mltframework' }}
uses: samuelmeuli/action-snapcraft@v1.2.0
with:
use_lxd: true
- name: Package snap
if: ${{ github.repository_owner == 'mltframework' }}
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }}
run: |
VERSION=$(cat VERSION)
mv scripts/shotcut-linux-x86_64-*.txz packaging/linux
cd packaging/linux
mkdir -p snap/gui
cp ../../icons/shotcut-logo-64.png snap/gui
sed 's|Icon=.*|Icon=${SNAP}/meta/gui/shotcut-logo-64.png|' org.shotcut.Shotcut.desktop > snap/gui/shotcut.desktop
FILENAME=$(ls *.txz)
sed "s/\$VERSION/${VERSION}/ ; s/\$FILENAME/${FILENAME}/" snapcraft.yaml.in > snap/snapcraft.yaml
sg lxd -c 'snapcraft --use-lxd'
snapcraft upload --release=edge shotcut_*.snap

View File

@@ -1,100 +0,0 @@
name: build-shotcut-linux
on:
workflow_dispatch:
schedule:
# nightly
- cron: '0 8 * * *'
env:
IMAGE_NAME: mltframework/shotcut-build:qt6.8.3-ubuntu22.04
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: |
echo Preparing version
echo $(date +"%y.%-m.%-d") > VERSION
VERSION=$(cat VERSION)
echo VERSION=$VERSION
FILENAME_VERSION=$VERSION
cd scripts
echo Making build script config file
echo CLEANUP=0 > build-shotcut.conf
echo SHOTCUT_VERSION=\"$VERSION\" >> build-shotcut.conf
docker run -v $PWD:/root/shotcut $IMAGE_NAME
echo Renaming build artifacts
mv shotcut.txz shotcut-linux-x86_64-$FILENAME_VERSION.txz
mv src.txz shotcut-src-$FILENAME_VERSION.txz
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: linux-portable
path: |
scripts/shotcut-linux-x86_64-*.txz
- name: Upload portable and source archives to S3
if: ${{ github.repository_owner == 'mltframework' }}
uses: mltframework/s3cmd-action@v0
with:
args: >-
--access_key=${{ secrets.AWS_ACCESS_KEY }}
--secret_key=${{ secrets.AWS_SECRET_KEY }}
--acl-public
--stop-on-error
put scripts/*.txz s3://builds.us.meltytech/shotcut/
- name: Package AppImage
run: |
sudo apt update
sudo apt install desktop-file-utils libfuse2 imagemagick
mkdir packaging/linux/Shotcut
cp VERSION packaging/linux/Shotcut/
cd packaging/linux
export PKG2AICOMMIT=1eceb306077e51b991e987690b364e11971b44b3
wget https://raw.githubusercontent.com/probonopd/AppImages/${PKG2AICOMMIT}/pkg2appimage
bash -ex pkg2appimage appimage/appimage.yml
FILENAME_VERSION=$(cat Shotcut/VERSION)
mv out/*.AppImage out/shotcut-linux-x86_64-$FILENAME_VERSION.AppImage
- name: Upload AppImage to S3
if: ${{ github.repository_owner == 'mltframework' }}
uses: mltframework/s3cmd-action@v0
with:
args: >-
--access_key=${{ secrets.AWS_ACCESS_KEY }}
--secret_key=${{ secrets.AWS_SECRET_KEY }}
--acl-public
--stop-on-error
put packaging/linux/out/*.AppImage s3://builds.us.meltytech/shotcut/
- name: Prepare snap
run: |
VERSION=$(cat VERSION)
mv scripts/shotcut-linux-x86_64-*.txz packaging/linux
cd packaging/linux
mkdir -p snap/gui
cp ../../icons/shotcut-logo-64.png snap/gui
sed 's|Icon=.*|Icon=${SNAP}/meta/gui/shotcut-logo-64.png|' org.shotcut.Shotcut.desktop > snap/gui/shotcut.desktop
FILENAME=$(ls *.txz)
sed "s/\$VERSION/${VERSION}/ ; s/\$FILENAME/${FILENAME}/" snapcraft.yaml.in > snap/snapcraft.yaml
- name: Package snap
if: ${{ github.repository_owner == 'mltframework' }}
uses: snapcore/action-build@v1
id: snap
with:
path: packaging/linux
- name: Publish snap
if: ${{ github.repository_owner == 'mltframework' }}
uses: snapcore/action-publish@v1
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }}
with:
snap: ${{ steps.snap.outputs.snap }}
release: edge

View File

@@ -1,30 +0,0 @@
name: build-shotcut-macos
on:
workflow_dispatch:
schedule:
# nightly
- cron: '0 12 * * *'
jobs:
build:
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'mltframework' }}
steps:
- name: Download from S3
run: |
VERSION=$(date +"%y.%-m.%-d")
echo VERSION=$VERSION
sudo apt install -yqq s3cmd
s3cmd --access_key=${{ secrets.AWS_ACCESS_KEY }} --secret_key=${{ secrets.AWS_SECRET_KEY }} --stop-on-error get s3://builds.us.meltytech/shotcut-build-macos.txt.xz
s3cmd --access_key=${{ secrets.AWS_ACCESS_KEY }} --secret_key=${{ secrets.AWS_SECRET_KEY }} --stop-on-error get s3://builds.us.meltytech/shotcut/shotcut-macos-unsigned-$VERSION.dmg
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: unsigned-dmg
path: |
*.dmg
- name: Dump log
run: xzcat shotcut-build-macos.txt.xz

View File

@@ -1,30 +0,0 @@
name: build-shotcut-macos-unstable
on:
workflow_dispatch:
schedule:
# nightly
- cron: '0 12 * * *'
jobs:
build:
if: ${{ github.repository_owner == 'mltframework' }}
runs-on: ubuntu-latest
steps:
- name: Download from S3
run: |
VERSION=$(date +"UNSTABLE-%y.%-m.%-d")
echo VERSION=$VERSION
sudo apt install -yqq s3cmd
s3cmd --access_key=${{ secrets.AWS_ACCESS_KEY }} --secret_key=${{ secrets.AWS_SECRET_KEY }} --stop-on-error get s3://builds.us.meltytech/shotcut-build-macos-unstable.txt
s3cmd --access_key=${{ secrets.AWS_ACCESS_KEY }} --secret_key=${{ secrets.AWS_SECRET_KEY }} --stop-on-error get s3://builds.us.meltytech/shotcut/shotcut-macos-unsigned-$VERSION.dmg
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: unsigned-dmg
path: |
*.dmg
- name: Dump log
run: cat shotcut-build-macos-unstable.txt

View File

@@ -1,112 +0,0 @@
name: build-shotcut-sdk-windows
on:
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
steps:
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: >-
autotools base-devel bzip2 coreutils git gzip tar xz zip
perl-List-MoreUtils perl-XML-Parser
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-cmake
mingw-w64-x86_64-meson
mingw-w64-x86_64-nasm
mingw-w64-x86_64-ninja
mingw-w64-x86_64-yasm
mingw-w64-x86_64-cairo
mingw-w64-x86_64-eigen3
mingw-w64-x86_64-dlfcn
mingw-w64-x86_64-fftw
mingw-w64-x86_64-gcc-fortran
mingw-w64-x86_64-gettext-tools
mingw-w64-x86_64-harfbuzz
mingw-w64-x86_64-lame
mingw-w64-x86_64-libarchive
mingw-w64-x86_64-libepoxy
mingw-w64-x86_64-libexif
mingw-w64-x86_64-libimagequant
mingw-w64-x86_64-libsamplerate
mingw-w64-x86_64-libtheora
mingw-w64-x86_64-libvorbis
mingw-w64-x86_64-libvpx
mingw-w64-x86_64-libwebp
mingw-w64-x86_64-libxml2
mingw-w64-x86_64-openblas
mingw-w64-x86_64-onevpl
mingw-w64-x86_64-openssl
mingw-w64-x86_64-opus
mingw-w64-x86_64-potrace
mingw-w64-x86_64-python-pip
mingw-w64-x86_64-rubberband
mingw-w64-x86_64-sox
mingw-w64-x86_64-svt-av1
mingw-w64-x86_64-vid.stab
mingw-w64-x86_64-x264
mingw-w64-x86_64-x265
mingw-w64-x86_64-zimg
- uses: actions/checkout@v4
- name: Build
shell: msys2 {0}
run: |
pacman --noconfirm -Rdd mingw-w64-x86_64-aom
echo Preparing version
echo $(date +"%y.%-m.%-d") > VERSION
VERSION=$(cat VERSION)
echo VERSION=$VERSION
FILENAME_VERSION=$VERSION
pushd "$HOME"
echo Downloading Qt
mkdir Qt
cd Qt
curl -kLO --no-progress-meter https://s3.amazonaws.com/misc.meltymedia/shotcut-build/qt-6.10.1-x64-mingw.txz
echo Extracting Qt
tar -xJf qt-6.10.1-x64-mingw.txz
rm qt-6.10.1-x64-mingw.txz
cd ..
echo Downloading a few prebuilt dependencies
curl -LO --no-progress-meter https://s3.amazonaws.com/misc.meltymedia/shotcut-build/mlt-prebuilt-mingw64-v6.txz
echo Extracting prebuilt dependencies
tar -xJf mlt-prebuilt-mingw64-v6.txz
rm mlt-prebuilt-mingw64-v6.txz
CHECKOUT_DIR=$(popd)
popd
echo Running the build script
echo INSTALL_DIR=\"$CHECKOUT_DIR/build\"
echo INSTALL_DIR=\"$CHECKOUT_DIR/build\" > build-shotcut.conf
echo SHOTCUT_VERSION=\"$VERSION\" >> build-shotcut.conf
echo ENABLE_GLAXNIMATE=0 >> build-shotcut.conf
echo DEBUG_BUILD=1 >> build-shotcut.conf
bash scripts/build-shotcut-msys2.sh -s
mv build/shotcut-sdk.txz build/shotcut-win64-sdk-$FILENAME_VERSION.txz
echo Done
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: windows-sdk
path: ./build/shotcut-win64-sdk-*.txz
- name: Upload packages to S3
if: ${{ github.repository_owner == 'mltframework' }}
shell: msys2 {0}
run: |
echo Installing awscli
pip install awscli
export AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY }}
export AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_KEY }}
export AWS_DEFAULT_REGION=us-east-1
for file in build/*.txz; do
echo Uploading "$file" to S3
aws s3 cp --acl public-read "$file" s3://builds.us.meltytech/shotcut/ --no-progress
done

View File

@@ -1,111 +0,0 @@
name: build-shotcut-sdk-windows-unstable
on:
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
steps:
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: >-
autotools base-devel bzip2 coreutils git gzip tar xz zip
perl-List-MoreUtils perl-XML-Parser
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-cmake
mingw-w64-x86_64-meson
mingw-w64-x86_64-nasm
mingw-w64-x86_64-ninja
mingw-w64-x86_64-python-pip
mingw-w64-x86_64-yasm
mingw-w64-x86_64-cairo
mingw-w64-x86_64-eigen3
mingw-w64-x86_64-dlfcn
mingw-w64-x86_64-fftw
mingw-w64-x86_64-harfbuzz
mingw-w64-x86_64-lame
mingw-w64-x86_64-libepoxy
mingw-w64-x86_64-libexif
mingw-w64-x86_64-libsamplerate
mingw-w64-x86_64-libtheora
mingw-w64-x86_64-libvorbis
mingw-w64-x86_64-libvpx
mingw-w64-x86_64-libwebp
mingw-w64-x86_64-libxml2
mingw-w64-x86_64-openblas
mingw-w64-x86_64-onevpl
mingw-w64-x86_64-openssl
mingw-w64-x86_64-opus
mingw-w64-x86_64-rubberband
mingw-w64-x86_64-sox
mingw-w64-x86_64-vid.stab
mingw-w64-x86_64-x264
mingw-w64-x86_64-x265
mingw-w64-x86_64-libarchive
mingw-w64-x86_64-potrace
mingw-w64-x86_64-libimagequant
mingw-w64-x86_64-python3.11
- uses: actions/checkout@v4
with:
ref: qt6
- name: Build
shell: msys2 {0}
run: |
pacman --noconfirm -Rdd mingw-w64-x86_64-aom
echo Preparing version
echo $(date +"%y.%-m.%-d") > VERSION
VERSION=$(cat VERSION)
echo VERSION=$VERSION
FILENAME_VERSION=UNSTABLE-$VERSION
pushd "$HOME"
echo Downloading Qt
mkdir Qt
cd Qt
curl -kLO --no-progress-meter https://s3.amazonaws.com/misc.meltymedia/shotcut-build/qt-6.4.2-x64-mingw810.txz
echo Extracting Qt
tar -xJf qt-6.4.2-x64-mingw810.txz
cd ..
echo Downloading a few prebuilt dependencies
curl -LO --no-progress-meter https://s3.amazonaws.com/misc.meltymedia/shotcut-build/mlt-prebuilt-mingw64-v4.txz
echo Extracting prebuilt dependencies
tar -xJf mlt-prebuilt-mingw64-v5.txz
rm mlt-prebuilt-mingw64-v5.txz
CHECKOUT_DIR=$(popd)
popd
echo Running the build script
echo INSTALL_DIR=\"$CHECKOUT_DIR/build\"
echo INSTALL_DIR=\"$CHECKOUT_DIR/build\" > build-shotcut.conf
echo SHOTCUT_VERSION=\"$VERSION\" >> build-shotcut.conf
echo SHOTCUT_HEAD=0 >> build-shotcut.conf
echo SHOTCUT_REVISION=origin/qt6 >> build-shotcut.conf
echo DEBUG_BUILD=1 >> build-shotcut.conf
bash scripts/build-shotcut-msys2.sh -s
mv build/shotcut-sdk.zip build/shotcut-win64-sdk-$FILENAME_VERSION.zip
echo Done
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: windows-sdk
path: ./build/shotcut-win64-sdk-*.zip
- name: Upload packages to S3
if: ${{ github.repository_owner == 'mltframework' }}
shell: msys2 {0}
run: |
echo Installing awscli
pip install awscli
export AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY }}
export AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_KEY }}
export AWS_DEFAULT_REGION=us-east-1
for file in build/*.zip; do
echo Uploading "$file" to S3
aws s3 cp --acl public-read "$file" s3://builds.us.meltytech/shotcut/ --no-progress
done

View File

@@ -1,144 +0,0 @@
name: build-shotcut-windows
on:
workflow_dispatch:
schedule:
# nightly
- cron: '0 8 * * *'
jobs:
build:
if: ${{ github.repository_owner == 'mltframework' }}
runs-on: windows-latest
steps:
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: >-
autotools base-devel bzip2 coreutils git gzip tar xz zip
perl-List-MoreUtils perl-XML-Parser
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-cmake
mingw-w64-x86_64-meson
mingw-w64-x86_64-nasm
mingw-w64-x86_64-ninja
mingw-w64-x86_64-osslsigncode
mingw-w64-x86_64-yasm
mingw-w64-x86_64-cairo
mingw-w64-x86_64-eigen3
mingw-w64-x86_64-dlfcn
mingw-w64-x86_64-fftw
mingw-w64-x86_64-gcc-fortran
mingw-w64-x86_64-gettext-tools
mingw-w64-x86_64-harfbuzz
mingw-w64-x86_64-lame
mingw-w64-x86_64-libarchive
mingw-w64-x86_64-libepoxy
mingw-w64-x86_64-libexif
mingw-w64-x86_64-libimagequant
mingw-w64-x86_64-libsamplerate
mingw-w64-x86_64-libtheora
mingw-w64-x86_64-libvorbis
mingw-w64-x86_64-libvpx
mingw-w64-x86_64-libwebp
mingw-w64-x86_64-libxml2
mingw-w64-x86_64-onevpl
mingw-w64-x86_64-openblas
mingw-w64-x86_64-openssl
mingw-w64-x86_64-opus
mingw-w64-x86_64-potrace
mingw-w64-x86_64-python-pip
mingw-w64-x86_64-rubberband
mingw-w64-x86_64-sox
mingw-w64-x86_64-svt-av1
mingw-w64-x86_64-vid.stab
mingw-w64-x86_64-x264
mingw-w64-x86_64-x265
mingw-w64-x86_64-zimg
- uses: actions/checkout@v4
- name: Build
shell: msys2 {0}
run: |
pacman --noconfirm -Rdd mingw-w64-x86_64-aom
echo Preparing version
echo $(date +"%y.%-m.%-d") > VERSION
VERSION=$(cat VERSION)
echo VERSION=$VERSION
FILENAME_VERSION=$VERSION
pushd "$HOME"
mkdir Qt
cd Qt
echo Downloading Qt
curl -kLO --no-progress-meter https://s3.amazonaws.com/misc.meltymedia/shotcut-build/qt-6.10.1-x64-mingw.txz
echo Extracting Qt
tar -xJf qt-6.10.1-x64-mingw.txz
rm qt-6.10.1-x64-mingw.txz
cd ..
echo Downloading a few prebuilt dependencies
curl -kLO --no-progress-meter https://s3.amazonaws.com/misc.meltymedia/shotcut-build/mlt-prebuilt-mingw64-v6.txz
echo Extracting prebuilt dependencies
tar -xJf mlt-prebuilt-mingw64-v6.txz
rm mlt-prebuilt-mingw64-v6.txz
CHECKOUT_DIR=$(popd)
popd
echo Running the build script
echo INSTALL_DIR=\"$CHECKOUT_DIR/build\"
echo INSTALL_DIR=\"$CHECKOUT_DIR/build\" > build-shotcut.conf
echo SHOTCUT_VERSION=\"$VERSION\" >> build-shotcut.conf
bash scripts/build-shotcut-msys2.sh
pushd build
echo Installing awscli
pip install awscli
export AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY }}
export AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_KEY }}
export AWS_DEFAULT_REGION=us-east-1
echo Downloading code-signing certificates
aws s3 cp s3://misc.meltymedia/shotcut-build/CodeSignCertificates2023.p12 ./ --no-progress
aws s3 cp s3://misc.meltymedia/shotcut-build/CodeSignCertificates.pass ./ --no-progress
for EXE in Shotcut/*.exe; do
echo Signing ${EXE}
osslsigncode sign -pkcs12 CodeSignCertificates2023.p12 -readpass CodeSignCertificates.pass -n "Shotcut" -i "https://www.meltytech.com" -t "http://timestamp.digicert.com" -in ${EXE} -out ${EXE}-signed
mv ${EXE}-signed ${EXE}
done
echo Packaging the portable zip
zip -gr shotcut-win64-$FILENAME_VERSION.zip Shotcut
echo Packaging the installer
PATH="$HOME/bin:$PATH"
pushd $HOME/bin
curl -kLO --no-progress-meter https://s3.amazonaws.com/misc.meltymedia/shotcut-build/iscc632.txz
tar -xJf iscc632.txz
popd
echo Extracting installer dependencies
curl -kLO --no-progress-meter https://s3.amazonaws.com/misc.meltymedia/shotcut-build/innosetup-opera-1.txz
tar -xJf innosetup-opera-1.txz
rm innosetup-opera-1.txz
echo Running Inno Setup Compiler
ISCC -Q -O. shotcut.iss
echo Signing the installer
osslsigncode sign -pkcs12 CodeSignCertificates2023.p12 -readpass CodeSignCertificates.pass -n "Shotcut Installer" -i "https://www.meltytech.com" -t "http://timestamp.digicert.com" -in shotcut-setup.exe -out shotcut-setup-signed.exe
mv shotcut-setup-signed.exe shotcut-win64-$FILENAME_VERSION.exe
rm shotcut-setup.exe
popd
echo Done
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: windows-portable
path: ./build/shotcut-win64-*.zip
- name: Upload packages to S3
shell: msys2 {0}
run: |
export AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY }}
export AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_KEY }}
export AWS_DEFAULT_REGION=us-east-1
for file in build/*.{exe,zip}; do
echo Uploading "$file" to S3
aws s3 cp "$file" s3://builds.us.meltytech/shotcut/ --no-progress
done

View File

@@ -1,135 +0,0 @@
name: build-shotcut-windows-unstable
on:
workflow_dispatch:
schedule:
# nightly
- cron: '0 8 * * *'
jobs:
build:
if: ${{ github.repository_owner == 'mltframework' }}
runs-on: windows-latest
steps:
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: >-
autotools base-devel bzip2 coreutils git gzip tar xz zip
perl-List-MoreUtils perl-XML-Parser
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-cmake
mingw-w64-x86_64-meson
mingw-w64-x86_64-nasm
mingw-w64-x86_64-ninja
mingw-w64-x86_64-nsis
mingw-w64-x86_64-osslsigncode
mingw-w64-x86_64-python-pip
mingw-w64-x86_64-yasm
mingw-w64-x86_64-cairo
mingw-w64-x86_64-eigen3
mingw-w64-x86_64-dlfcn
mingw-w64-x86_64-fftw
mingw-w64-x86_64-harfbuzz
mingw-w64-x86_64-lame
mingw-w64-x86_64-libepoxy
mingw-w64-x86_64-libexif
mingw-w64-x86_64-libsamplerate
mingw-w64-x86_64-libtheora
mingw-w64-x86_64-libvorbis
mingw-w64-x86_64-libvpx
mingw-w64-x86_64-libwebp
mingw-w64-x86_64-libxml2
mingw-w64-x86_64-openblas
mingw-w64-x86_64-onevpl
mingw-w64-x86_64-openssl
mingw-w64-x86_64-opus
mingw-w64-x86_64-rubberband
mingw-w64-x86_64-sox
mingw-w64-x86_64-vid.stab
mingw-w64-x86_64-x264
mingw-w64-x86_64-x265
mingw-w64-x86_64-libarchive
mingw-w64-x86_64-potrace
mingw-w64-x86_64-libimagequant
mingw-w64-x86_64-python3.11
- uses: actions/checkout@v4
with:
ref: qt6
- name: Build
shell: msys2 {0}
run: |
pacman --noconfirm -Rdd mingw-w64-x86_64-aom
echo Preparing version
echo $(date +"%y.%-m.%-d") > VERSION
VERSION=$(cat VERSION)
echo VERSION=$VERSION
FILENAME_VERSION=UNSTABLE-$VERSION
pushd "$HOME"
echo Downloading Qt
mkdir Qt
cd Qt
curl -kLO --no-progress-meter https://s3.amazonaws.com/misc.meltymedia/shotcut-build/qt-6.4.2-x64-mingw810.txz
echo Extracting Qt
tar -xJf qt-6.4.2-x64-mingw810.txz
cd ..
echo Downloading a few prebuilt dependencies
curl -kLO --no-progress-meter https://s3.amazonaws.com/misc.meltymedia/shotcut-build/mlt-prebuilt-mingw64-v5.txz
echo Extracting prebuilt dependencies
tar -xJf mlt-prebuilt-mingw64-v5.txz
CHECKOUT_DIR=$(popd)
popd
echo Running the build script
echo INSTALL_DIR=\"$CHECKOUT_DIR/build\"
echo INSTALL_DIR=\"$CHECKOUT_DIR/build\" > build-shotcut.conf
echo SHOTCUT_VERSION=\"$VERSION\" >> build-shotcut.conf
echo SHOTCUT_HEAD=0 >> build-shotcut.conf
echo SHOTCUT_REVISION=origin/qt6 >> build-shotcut.conf
bash scripts/build-shotcut-msys2.sh
pushd build
echo Installing awscli
pip install awscli
export AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY }}
export AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_KEY }}
export AWS_DEFAULT_REGION=us-east-1
echo Downloading code-signing certificates
aws s3 cp s3://misc.meltymedia/shotcut-build/CodeSignCertificates.p12.new ./ --no-progress
aws s3 cp s3://misc.meltymedia/shotcut-build/CodeSignCertificates.pass ./ --no-progress
echo Signing shotcut.exe
osslsigncode sign -pkcs12 CodeSignCertificates.p12.new -readpass CodeSignCertificates.pass -n "Shotcut" -i "https://www.meltytech.com" -t "http://timestamp.digicert.com" -in Shotcut/shotcut.exe -out Shotcut/shotcut-signed.exe
mv Shotcut/shotcut-signed.exe Shotcut/shotcut.exe
echo Signing glaxnimate.exe
osslsigncode sign -pkcs12 CodeSignCertificates.p12.new -readpass CodeSignCertificates.pass -n "Shotcut" -i "https://www.meltytech.com" -t "http://timestamp.digicert.com" -in Shotcut/glaxnimate.exe -out Shotcut/glaxnimate-signed.exe
mv Shotcut/glaxnimate-signed.exe Shotcut/glaxnimate.exe
echo Packaging the portable zip
zip -gr shotcut-win64-$FILENAME_VERSION.zip Shotcut
echo Packaging the installer
makensis shotcut.nsi
echo Signing the installer
osslsigncode sign -pkcs12 CodeSignCertificates.p12.new -readpass CodeSignCertificates.pass -n "Shotcut Installer" -i "https://www.meltytech.com" -t "http://timestamp.digicert.com" -in shotcut-setup.exe -out shotcut-setup-signed.exe
mv shotcut-setup-signed.exe shotcut-win64-$FILENAME_VERSION.exe
rm shotcut-setup.exe
popd
echo Done
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: windows-portable
path: ./build/shotcut-win64-*.zip
- name: Upload packages to S3
shell: msys2 {0}
run: |
export AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY }}
export AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_KEY }}
export AWS_DEFAULT_REGION=us-east-1
for file in build/*.{exe,zip}; do
echo Uploading "$file" to S3
aws s3 cp "$file" s3://builds.us.meltytech/shotcut/ --no-progress
done

View File

@@ -1,30 +0,0 @@
name: build-shotcut-windows-arm64
on:
workflow_dispatch:
schedule:
# nightly
- cron: '0 12 * * *'
jobs:
build:
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'mltframework' }}
steps:
- name: Download from S3
run: |
VERSION=$(date +"%y%m%d")
echo VERSION=$VERSION
sudo apt install -yqq s3cmd
s3cmd --access_key=${{ secrets.AWS_ACCESS_KEY }} --secret_key=${{ secrets.AWS_SECRET_KEY }} --stop-on-error get s3://builds.us.meltytech/shotcut-build-win_arm.txt.xz
s3cmd --access_key=${{ secrets.AWS_ACCESS_KEY }} --secret_key=${{ secrets.AWS_SECRET_KEY }} --stop-on-error get s3://builds.us.meltytech/shotcut/shotcut-win_ARM-$VERSION.zip
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: portable
path: |
*.zip
- name: Dump log
run: xzcat shotcut-build-win_arm.txt.xz

View File

@@ -1,40 +0,0 @@
name: check-code-format
on:
workflow_dispatch:
pull_request:
types: [opened, reopened]
push:
jobs:
clang-format:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install clang-format
run: sudo apt-get install -y clang-format-14
- name: Check style
run: |
FILES=`find . -type f -name "*.h" -o -name "*.c" -o -name "*.cpp"`
FILTERED_FILES=()
for file in ${FILES[@]};
do
[[ $file =~ "./src/" ]] &&
[[ ! $file =~ "spatialmedia" ]] &&
[[ ! $file =~ "defaultlayouts.h" ]] &&
[[ ! $file =~ "_autogen" ]] &&
FILTERED_FILES+=($file)
done
clang-format-14 --verbose --dry-run --Werror -style=file -i ${FILTERED_FILES[@]}
if [ $? -eq 0 ]
then
echo "SUCCESS: All files are formatted correctly"
exit 0
else
echo "FAILURE: some files are formatted incorrectly"
exit 99
fi