Skip to content

fix: update wxs file for ffmpeg 7 #30

fix: update wxs file for ffmpeg 7

fix: update wxs file for ffmpeg 7 #30

Workflow file for this run

name: release
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+-*'
jobs:
release-info:
runs-on: ubuntu-latest
outputs:
releasetype: ${{ steps.release-info.outputs.releasetype }}
vivictpp_version: ${{ steps.release-info.outputs.vivictpp_version }}
vivictpp_fullversion: ${{ steps.release-info.outputs.vivictpp_fullversion }}
snapchannel: ${{ steps.release-info.outputs.snapchannel }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: fetch tags
run: |
git fetch --tags --force # Retrieve annotated tags. see https://github.com/actions/checkout/issues/290
- id: release-info
run: |
if [[ $GITHUB_REF_NAME =~ ^v[0-9]+[.][0-9]+[.][0-9]+$ ]]
then
echo "release"
echo "releasetype=release" >> "$GITHUB_OUTPUT"
echo "snapchannel=stable" >> "$GITHUB_OUTPUT"
else
echo "prerelease"
echo "releasetype=prerelease" >> "$GITHUB_OUTPUT"
echo "snapchannel=edge" >> "$GITHUB_OUTPUT"
fi
echo "vivictpp_version=$(./get-version.sh)" >> "$GITHUB_OUTPUT"
echo "vivictpp_fullversion=$(git describe)" >> "$GITHUB_OUTPUT"
snapcraft-publish:
runs-on: ubuntu-latest
needs: release-info
outputs:
releasetype: ${{ steps.release-info.outputs.releasetype }}
vivictpp_version: ${{ steps.release-info.outputs.vivictpp_version }}
vivictpp_fullversion: ${{ steps.release-info.outputs.vivictpp_fullversion }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: fetch tags
run: |
git fetch --tags --force # Retrieve annotated tags. see https://github.com/actions/checkout/issues/290
- uses: snapcore/action-build@v1
id: build
- uses: snapcore/action-publish@v1
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPSTORE_LOGIN }}
with:
snap: ${{ steps.build.outputs.snap }}
release: ${{ needs.release-info.outputs.snapchannel }}
windows-release-build:
runs-on: windows-2022
needs: release-info
env:
VIVICTPP_FULLVERSION: ${{ needs.release-info.outputs.vivictpp_fullversion }}
VIVICTPP_VERSION: ${{ needs.release-info.outputs.vivictpp_version }}
steps:
- name: Add wix toolset to path
run: |
echo "c:\Program Files (x86)\Wix Toolset v3.11\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- uses: actions/checkout@v3
- name: Restore cached dependencies
id: cache-dependencies-restore
uses: actions/cache/restore@v3
with:
path: |
winlibs
key: windows-build-dependencies
- name: Download dependencies
if: steps.cache-dependencies-restore.outputs.cache-hit != 'true'
run: |
mkdir winlibs
curl https://libsdl.org/release/SDL2-devel-2.26.5-VC.zip -o SDL2-devel-2.26.5-VC.zip
7z x SDL2-devel-2.26.5-VC.zip -owinlibs
curl https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-2.20.2-VC.zip -o SDL2_ttf-devel-2.20.2-VC.zip
7z x SDL2_ttf-devel-2.20.2-VC.zip -owinlibs
curl -L https://github.com/GyanD/codexffmpeg/releases/download/7.0.2/ffmpeg-7.0.2-full_build-shared.7z -o ffmpeg-7.0.2-full_build-shared.7z
7z x ffmpeg-7.0.2-full_build-shared.7z -owinlibs
- name: Cache dependencies
id: cache-dependencies-save
if: steps.cache-dependencies-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v3
with:
path: |
winlibs
key: windows-build-dependencies
- uses: ilammy/msvc-dev-cmd@v1
- name: Meson build
uses: BSFishy/[email protected]
with:
action: build
meson-version: 0.63.1
setup-options: -Dbuildtype=release
- name: Build installer
run: |
candle vivictpp.wxs
light vivictpp.wixobj -out vivictpp-$env:VIVICTPP_FULLVERSION.msi
- name: Save installer
uses: actions/upload-artifact@v4
with:
name: ${{ format('vivictpp-{0}-wininstaller', env.VIVICTPP_FULLVERSION) }}
path: ${{ format('vivictpp-{0}.msi', env.VIVICTPP_FULLVERSION) }}
create-release:
runs-on: ubuntu-latest
needs: ['windows-release-build', 'release-info']
env:
ARTIFACT_NAME: ${{ format('vivictpp-{0}-wininstaller', needs.release-info.outputs.vivictpp_fullversion) }}
INSTALLER_NAME: ${{ format('vivictpp-{0}.msi', needs.release-info.outputs.vivictpp_fullversion) }}
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v4
with:
name: ${{ env.ARTIFACT_NAME }}
- name: list files
run: |
ls -l *
- name: Release
uses: softprops/action-gh-release@v1
with:
prerelease: ${{ needs.release-info.outputs.releasetype != 'release' }}
files: |
${{ env.INSTALLER_NAME }}
LICENSE