Merge branch 'dev' into ci-maint
This commit is contained in:
130
.github/workflows/windows.yml
vendored
130
.github/workflows/windows.yml
vendored
@@ -11,6 +11,9 @@ on:
|
||||
- dev
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
publish_pre_dev_labels: '[]'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
@@ -46,6 +49,7 @@ jobs:
|
||||
mingw-w64-x86_64-fftw
|
||||
mingw-w64-x86_64-lensfun
|
||||
mingw-w64-x86_64-libiptcdata
|
||||
mingw-w64-x86_64-exiv2
|
||||
|
||||
- name: Configure build
|
||||
run: |
|
||||
@@ -95,6 +99,12 @@ jobs:
|
||||
|
||||
- name: Bundle dependencies
|
||||
run: |
|
||||
echo "Listing shared library dependencies."
|
||||
ldd "./build/${{matrix.build_type}}/rawtherapee.exe"
|
||||
echo "Finding DLLs to include."
|
||||
DLLS=($(ldd "./build/${{matrix.build_type}}/rawtherapee.exe" | grep '/mingw64/bin/' | awk '{print($1)'}))
|
||||
echo "Required DLLs are: ${DLLS[*]}"
|
||||
|
||||
echo "Getting workspace path."
|
||||
export BUILD_DIR="$(pwd)/build/${{matrix.build_type}}"
|
||||
echo "Build directory is '$BUILD_DIR'."
|
||||
@@ -107,81 +117,22 @@ jobs:
|
||||
"gdbus.exe" \
|
||||
"gspawn-win64-helper.exe" \
|
||||
"gspawn-win64-helper-console.exe" \
|
||||
"libatk-1.0-0.dll" \
|
||||
"libatkmm-1.6-1.dll" \
|
||||
"libbrotlicommon.dll" \
|
||||
"libbrotlidec.dll" \
|
||||
"libbz2-1.dll" \
|
||||
"libcairo-2.dll" \
|
||||
"libcairo-gobject-2.dll" \
|
||||
"libcairomm-1.0-1.dll" \
|
||||
"libdatrie-1.dll" \
|
||||
"libdeflate.dll" \
|
||||
"libepoxy-0.dll" \
|
||||
"libexpat-1.dll" \
|
||||
libffi-*.dll \
|
||||
"libfftw3f-3.dll" \
|
||||
"libfontconfig-1.dll" \
|
||||
"libfreetype-6.dll" \
|
||||
"libfribidi-0.dll" \
|
||||
"libgcc_s_seh-1.dll" \
|
||||
"libgdk_pixbuf-2.0-0.dll" \
|
||||
"libgdk-3-0.dll" \
|
||||
"libgdkmm-3.0-1.dll" \
|
||||
"libgio-2.0-0.dll" \
|
||||
"libgiomm-2.4-1.dll" \
|
||||
"libglib-2.0-0.dll" \
|
||||
"libglibmm-2.4-1.dll" \
|
||||
"libgmodule-2.0-0.dll" \
|
||||
"libgobject-2.0-0.dll" \
|
||||
"libgomp-1.dll" \
|
||||
"libgraphite2.dll" \
|
||||
"libgtk-3-0.dll" \
|
||||
"libgtkmm-3.0-1.dll" \
|
||||
"libharfbuzz-0.dll" \
|
||||
"libiconv-2.dll" \
|
||||
"libintl-8.dll" \
|
||||
"libjbig-0.dll" \
|
||||
"libjpeg-8.dll" \
|
||||
"liblcms2-2.dll" \
|
||||
"liblensfun.dll" \
|
||||
"libLerc.dll" \
|
||||
"liblzma-5.dll" \
|
||||
"libpango-1.0-0.dll" \
|
||||
"libpangocairo-1.0-0.dll" \
|
||||
"libpangoft2-1.0-0.dll" \
|
||||
"libpangomm-1.4-1.dll" \
|
||||
"libpangowin32-1.0-0.dll" \
|
||||
"libpcre2-8-0.dll" \
|
||||
"libpixman-1-0.dll" \
|
||||
"libpng16-16.dll" \
|
||||
"librsvg-2-2.dll" \
|
||||
"libsigc-2.0-0.dll" \
|
||||
"libstdc++-6.dll" \
|
||||
"libsystre-0.dll" \
|
||||
"libthai-0.dll" \
|
||||
"libtiff-5.dll" \
|
||||
"libtre-5.dll" \
|
||||
"libwebp-7.dll" \
|
||||
"libwinpthread-1.dll" \
|
||||
"libxml2-2.dll" \
|
||||
"libzstd.dll" \
|
||||
"zlib1.dll" \
|
||||
${DLLS[*]} \
|
||||
"$BUILD_DIR"
|
||||
cd -
|
||||
|
||||
echo "Copying Adwaita theme."
|
||||
mkdir -p "$BUILD_DIR/share/icons/Adwaita"
|
||||
cd 'share/icons/Adwaita/'
|
||||
mkdir -p "$BUILD_DIR/share/icons/Adwaita/scalable"
|
||||
mkdir -p "$BUILD_DIR/share/icons/Adwaita/symbolic"
|
||||
cp -r \
|
||||
"scalable/actions" \
|
||||
"scalable/devices" \
|
||||
"scalable/mimetypes" \
|
||||
"scalable/places" \
|
||||
"scalable/status" \
|
||||
"scalable/ui" \
|
||||
"$BUILD_DIR/share/icons/Adwaita/scalable"
|
||||
"symbolic/actions" \
|
||||
"symbolic/devices" \
|
||||
"symbolic/mimetypes" \
|
||||
"symbolic/places" \
|
||||
"symbolic/status" \
|
||||
"symbolic/ui" \
|
||||
"$BUILD_DIR/share/icons/Adwaita/symbolic"
|
||||
cp 'index.theme' "$BUILD_DIR/share/icons/Adwaita"
|
||||
mkdir -p "$BUILD_DIR/share/icons/Adwaita/cursors"
|
||||
cp -r \
|
||||
@@ -203,7 +154,7 @@ jobs:
|
||||
|
||||
echo "Creating GTK settings.ini."
|
||||
mkdir -p "$BUILD_DIR/share/gtk-3.0/"
|
||||
echo '[Settings] gtk-button-images=1' > "$BUILD_DIR/share/gtk-3.0/settings.ini"
|
||||
echo -e '[Settings]\ngtk-button-images=1' > "$BUILD_DIR/share/gtk-3.0/settings.ini"
|
||||
|
||||
- name: Create installer
|
||||
if: ${{matrix.build_type == 'release' && (github.ref_type == 'tag' || github.ref_name == 'dev')}}
|
||||
@@ -297,3 +248,44 @@ jobs:
|
||||
with:
|
||||
tag_name: nightly-github-actions
|
||||
files: build/${{env.PUBLISH_NAME}}.exe
|
||||
|
||||
- name: Prepare for publishing pre-dev
|
||||
id: prepare-publish-pre-dev
|
||||
if: ${{github.event_name == 'pull_request' && contains(fromJSON(env.publish_pre_dev_labels), github.event.pull_request.head.label)}}
|
||||
run: |
|
||||
echo "Making ref name."
|
||||
REF_NAME_FILTERED="$(echo '${{github.event.pull_request.head.label}}' | tr ':' '_' | sed 's/[^A-z0-9_.-]//g')"
|
||||
echo "Ref name is '$REF_NAME_FILTERED'."
|
||||
|
||||
echo "Setting publish name."
|
||||
PUBLISH_NAME="RawTherapee_${REF_NAME_FILTERED}_win64_${{matrix.build_type}}"
|
||||
echo "Publish name is '$PUBLISH_NAME'."
|
||||
if [ "$ARTIFACT_NAME" != "$PUBLISH_NAME" ]; then
|
||||
echo "Renaming ZIP file."
|
||||
cp "build/$ARTIFACT_NAME.zip" "build/$PUBLISH_NAME.zip"
|
||||
if [ -e "./build/$ARTIFACT_NAME.exe" ]; then
|
||||
echo "Renaming installer."
|
||||
mv "./build/$ARTIFACT_NAME.exe" "./build/$PUBLISH_NAME.exe"
|
||||
fi
|
||||
fi
|
||||
echo "Creating version file."
|
||||
cp "build/$ARTIFACT_NAME/AboutThisBuild.txt" "build/$PUBLISH_NAME-AboutThisBuild.txt"
|
||||
|
||||
echo "Recording publish name."
|
||||
echo "PUBLISH_NAME=$PUBLISH_NAME" >> "$(cygpath -u $GITHUB_ENV)"
|
||||
|
||||
- name: Publish pre-dev artifacts
|
||||
uses: softprops/action-gh-release@v1
|
||||
if: ${{steps.prepare-publish-pre-dev.outcome == 'success'}}
|
||||
with:
|
||||
tag_name: pre-dev-github-actions
|
||||
files: |
|
||||
build/${{env.PUBLISH_NAME}}.zip
|
||||
build/${{env.PUBLISH_NAME}}-AboutThisBuild.txt
|
||||
|
||||
- name: Publish pre-dev installer
|
||||
uses: softprops/action-gh-release@v1
|
||||
if: ${{steps.prepare-publish-pre-dev.outcome == 'success' && matrix.build_type == 'release'}}
|
||||
with:
|
||||
tag_name: pre-dev-github-actions
|
||||
files: build/${{env.PUBLISH_NAME}}.exe
|
||||
|
||||
Reference in New Issue
Block a user