* Change estimchrom estim hue final * Itcw observer checkbox * 8 spectral colors * 11 spectral colors * 6 spectral colors * Small change to correction green * Fixed various bad behavior - settings itcwb_deltaspec * 4 spectral colors green * 3 green spectral colors * 3 spectral colors green * 5 spectral colors red green * 3 spectral colors red green * 3 spectral colrs green red * Chnage slider choice deltaE - to size color patch * display more info in console * Display more info in console - comment code * Clean - comment code * 8 spectral colors green red * 8 spectral colors blue * 8 spectral colors blue * 3 spectral colors * 6 spectral colors * 4 spectal colors * 2 spectral colors * Eliminate high Y - increse temp iteration - recenter selection inside patch * compatibility 5.9 * Modify dislay and place selected dats in patch * Dispaly in console hue chroma image selection * First optimization * optimization code - clean unused variables * Remove sorted in chroma order - some others changes * 5.9 compatibility * Clean and optimize code * Clean code - more display info in console * More info in console - set itcwb_minsize in option * Display patch chroma in GUI * Change some default settings * Minsize patch GUI * Display GUI patch size * Chroma patch variations * Display in GUI min and max dats found in patch * Some adjustments * Remove too low datas in patch * Various improvment - ponderate * Clean code colortemp comment spectral datas * Comment code - correc gren * Comment and refine code * Fixed bug in improcoordinator * fixes a malfunction of AWB bias in improcoordinator * Various improvments - clean code * 2 improvments green and find patch * Allows parametrind ponder and Ypurple in options * Update autowb - filter on magenta purple * Clean and optimize code * Read colors in GUI * Denoise median 5x5 image datas before Itcwb * Change to GUI * Replace median5x5 by 2 median3x3 - clean GUI code * Work around to recalculate wbauto * Remove work around - change params->wb related change * Disabled low_sampling 5.9 * First try for compatibility Low sampling 5.9 * Re-enable WB autogrey * Change reference image to autogrey if camera settings probably out * Clean code aand adjust settings camera out * Format astylert rawimagesource.cc - various small adjustments * Small correction * Small green correction * Change default settings - correction to autowb bias in improccoordinator * Save provisory work * Save provisory work 2 * Try to find good tempitc with iterate when temptitc very different 5000K * Change 2 default settings * Work around awb temp bias * Limit work around bias - small other changes * 3 spectral colors deep blue * 4 spectral color deep blue * 4 color spectral yellow * 5 spectral colors neutral red-magenta * 5 spectral color neutral red magenta * Change threshold tempitc * 5.9 compatibility * Work around bad claculation Planck's formula * Fixed bad behavior when using blackbody spectal * 6 spectral color - checkbutton remove 2 passes * Fixed various bugs * Format rawimagesource.cc * Various improvment before to find the good selection * First new optimization (perhaps?) * Display GUI patc deltaE * Various optimzation and tooltip * Default observer 2°- Simplify GUI - improve display GUI - remove too low numbers datas * 4 spectral colors - change 2 settings * Change calculation threshold 2 passes * 6 spectral colors magenta * 13 spectral colors * Improvment GUI display * remove checkbutton no_purple * 2 spectral colors - remove in GUI low sampling 5.9 * Change default setting display in console * Change behavior when temp near stdA * 4 spectral colors - settings Itcwb_tempstdA * Gamut control on image histogram * Clean code and format rawimagesource.cc * Comment and format colortemp.cc * Remove unused fileds from GUI - change tooltips * Add tooltips * Various changes * Change settings when camera temperature is out * improvment extra and tooltip * Small change when using auto grey as start reference * Remove itcwb_fgreen from GUI * Various change - and 'unsatisfactory' test to take into account Custom * Change second temp when < 4000 - replace automatic by automatic and refinement * Neutralize 'Use custom tempertaure and green' * Green refinement * Clean code - small changes * Other clean code * Added forgotten itcw_green in procparams.cc * Fixed a bug dispaly deltaE * Change threshold settings - change code for Custom * various change in case of using camera settings * Change way to estimate range green * clean code and message in console * Clean and optimize * Disable 2 passes if custom * Improve GUI 2 passes * Increase sampling and number of temperature above 9400K * Hide AWB temperature bais and green refinement when Custom temerature ans green * marks out the code with past time markers * Improve time processing with spectral colors temp calculations * Replace in console msec by nsec * Scan temp 5.9 * Change max temp and behavior if temp > 15000k * Refine temp near 14000K * Increase sampling temperature 132 to 167 * Increase sampling temperature * Set in preference choice for itcwb_custom * White point calculated with observer instead of table * More on whitepoint calculation - informations * Clean and format code with astyle colortemp.cc rawimagesource.cc improccoordinator.cc * Small change tooltip * Improve update auto-wb * Remove 'use custom temperature and tin' - simplify sampling to 2 choice * Small change to rand AWB bias - green refinement - tooltips * slightly modify the parameters upstream of the algo - do not use camera in some cases * Mixed initial green * Refine init green and temp when no camera * Refine temp and green in do not use camera settings * Change tint threshold and various improvments (tooltips, wrong values..) * Refinment and clean code * Improve mode No use camera settings * Init nocam * Refine use no camera settings * Small change * 5.9 compatibility - and format * Refine sampling temperature around 7000 - 8000K * Format astylert rawimagesource colortemp * 5.9 settings * 5.9 settings 2 * Various change - 5.9 - format * Improve pre and post algorithm * Fixed correction temp > 8000K * Fixed bad behavior Tppat.minchroma * Change sampling choices and tooltip * Change name wp wp2 wip to wb wb2 iwb to avoid misunderstood * Small Change settings - limit display studgood to 0.0001 * Improvment display GUI temp * Change default sampling * Change ACESP0 to JDCmax * Improve GUI abstract profile * Allows dispaly in console xy values thanks to Reffort * Remove bruce rgb in wp and abstract * Change wp abstract and save itcwb with dispaly cellxy * Change prim = 13 improccoordinator iplab2rgb * remove display datas in console - fixed wrong display Y xyY * Fixed ifferences in GUI maxhist minhist * Change limits x y in function sampling * fixed a dizziness * Change after algorithm rule when temp > 6000K * Harmonize limx limy for oldsampling 5.9 * Added Cam xyz matrix to sampling - thanks to Reffort * Display in console xyz matrix * Forgotten instruction when mix camera and autowb grey * Change rgbloc with Camera matrix Dcraw when no input profile * Change rep to repref in rgbxyz * Remove message in console * 5.9 compat * 5.9 compat 2 * 5.9 compat 3 * 5.9 compat 4 * 5.9 compat 5 format * 5.9 compta 6 * Improve code * Diasble itcwb_sampling in GUI * Comment code * Clean and comment code * 5 spectral colors * 9 spectral colors * 2 spectral colors * Various improvments * 5 spectral colors * 5 spectral colors * First changes review lawrence37 * Second changes review Lawrence37 * 3rd changes review Lawrence37 * 4th changes review Lawrence37 * Change windows and appimage yml * Re-enable Rtv4_Bruce in procparams.cc * test for 5.9 compatibility * Try to fixed crash * Slightly improve the management of 5.9 * test for 5.9 compatibility by passing parameters via the GUI * Forgotten parameter * Change ref_spec limit and remove pac_start for itcwb_sampling * Puts back the old Planck formula - the same as in dev * Revert "test for 5.9 compatibility by passing parameters via the GUI" This reverts commit d6b5a8feda31b93a5574cee6ebf4d3e9d58bbcfb. * Switch to new ITCWB only when changing WB method Prevents sudden changing of the white balance if ITCWB is selected and the image is reopened. * Fix spelling in comment * Suggested change from Lawrence37 to whitebalance - small change to improcoordinator * tempbias Set_sentive(false) if itcwb_smapling - clean whitebalance * Another clean whitebalance.cc --------- Co-authored-by: Lawrence Lee <45837045+Lawrence37@users.noreply.github.com>
202 lines
7.4 KiB
YAML
202 lines
7.4 KiB
YAML
name: AppImage Build
|
|
on:
|
|
push:
|
|
branches:
|
|
- dev
|
|
- releases
|
|
tags:
|
|
- '[0-9]+.*'
|
|
pull_request:
|
|
branches:
|
|
- dev
|
|
workflow_dispatch:
|
|
env:
|
|
publish_pre_dev_labels: '[]'
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
build_type: [release]
|
|
steps:
|
|
- name: Checkout source
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
echo "Running apt update."
|
|
sudo apt update
|
|
echo "Installing dependencies with apt."
|
|
DEBIAN_FRONTEND=noninteractive sudo apt install -y cmake libgtk-3-dev libgtkmm-3.0-dev liblensfun-dev librsvg2-dev liblcms2-dev libfftw3-dev libiptcdata0-dev libtiff5-dev libcanberra-gtk3-dev liblensfun-bin
|
|
|
|
- name: Configure build
|
|
run: |
|
|
export REF_NAME_FILTERED="$(echo '${{github.ref_name}}' | sed 's/[^A-z0-9_.-]//g')"
|
|
|
|
echo "Setting cache suffix."
|
|
if [ '${{github.ref_type}}' == 'tag' ]; then
|
|
export CACHE_SUFFIX=""
|
|
else
|
|
export CACHE_SUFFIX="5-$REF_NAME_FILTERED"
|
|
fi
|
|
export CACHE_SUFFIX="$CACHE_SUFFIX-AppImage"
|
|
echo "Cache suffix is '$CACHE_SUFFIX'."
|
|
|
|
echo "Making build directory."
|
|
mkdir build
|
|
echo "Changing working directory to the build directory."
|
|
cd build
|
|
|
|
echo "Running CMake configure."
|
|
cmake \
|
|
-DCMAKE_BUILD_TYPE='${{matrix.build_type}}' \
|
|
-DCACHE_NAME_SUFFIX="$CACHE_SUFFIX" \
|
|
-DPROC_TARGET_NUMBER="1" \
|
|
-DBUILD_BUNDLE="ON" \
|
|
-DBUNDLE_BASE_INSTALL_DIR="/" \
|
|
-DOPTION_OMP="ON" \
|
|
-DWITH_LTO="OFF" \
|
|
-DWITH_PROF="OFF" \
|
|
-DWITH_SAN="OFF" \
|
|
-DWITH_SYSTEM_KLT="OFF" \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DLENSFUNDBDIR="../share/lensfun/version_1" \
|
|
..
|
|
|
|
echo "Recording filtered ref name."
|
|
echo "REF_NAME_FILTERED=$REF_NAME_FILTERED" >> $GITHUB_ENV
|
|
|
|
- name: Build RawTherapee
|
|
working-directory: ./build
|
|
run: |
|
|
echo "Running make install."
|
|
make -j$(nproc) install DESTDIR=AppDir/usr/bin
|
|
echo "Moving usr/bin/share to usr/share."
|
|
mv AppDir/usr/bin/share AppDir/usr/
|
|
|
|
- name: Include Lensfun
|
|
run: |
|
|
echo "Patching lensfun-update-data script."
|
|
sudo sed -i 's/HTTPError\(, ValueError\)/URLError\1/' $(which lensfun-update-data)
|
|
echo "Updating Lensfun database."
|
|
lensfun-update-data
|
|
echo "Creating Lensfun directory in the build directory."
|
|
mkdir -p build/AppDir/usr/share/lensfun
|
|
echo "Copying Lensfun database to the build directory."
|
|
cp -R ~/.local/share/lensfun/updates/* build/AppDir/usr/share/lensfun/
|
|
|
|
- name: Restore AppImage tools from cache
|
|
id: appimage-tools-cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
key: appimage-tools-1
|
|
path: |
|
|
./build/linuxdeploy-x86_64.AppImage
|
|
./build/linuxdeploy-plugin-gtk.sh
|
|
|
|
- name: Download AppImage tools
|
|
if: ${{steps.appimage-tools-cache.outputs.cache-hit != 'true'}}
|
|
working-directory: ./build
|
|
run: |
|
|
echo "Downloading linuxdeploy."
|
|
curl --location 'https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage' > linuxdeploy-x86_64.AppImage
|
|
echo "Downloading GTK plugin for linuxdeploy."
|
|
curl --location 'https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh' \
|
|
| sed 's/^\(export GTK_THEME\)/#\1/' \
|
|
> linuxdeploy-plugin-gtk.sh
|
|
echo "Setting execute bit on all AppImage tools."
|
|
chmod u+x linuxdeploy-*
|
|
|
|
- name: Package AppImage
|
|
working-directory: ./build
|
|
run: |
|
|
echo "Creating artifact name."
|
|
if [ '${{github.ref_type}}' == 'tag' ]; then
|
|
ARTIFACT_NAME="RawTherapee_${REF_NAME_FILTERED}_${{matrix.build_type}}"
|
|
else
|
|
echo "Getting RawTherapee version."
|
|
export VERSION="$(grep -m 1 '^Version: .*$' 'AboutThisBuild.txt' | sed 's/^Version: \(.\+\)$/\1/')"
|
|
echo "Version is '$VERSION'."
|
|
FILTERED_VERSION="$(echo "$VERSION" | sed 's/[^A-z0-9_.-]//g')"
|
|
ARTIFACT_NAME="RawTherapee_${REF_NAME_FILTERED}_${FILTERED_VERSION}_${{matrix.build_type}}"
|
|
fi
|
|
echo "Artifact name is '$ARTIFACT_NAME'."
|
|
|
|
echo "Generating AppImage file name."
|
|
export OUTPUT="$ARTIFACT_NAME.AppImage"
|
|
echo "AppImage file name will be '$OUTPUT'."
|
|
|
|
echo "Packaging AppImage."
|
|
./linuxdeploy-x86_64.AppImage \
|
|
--appimage-extract-and-run \
|
|
--appdir AppDir \
|
|
--plugin gtk \
|
|
--output appimage
|
|
|
|
echo "Recording artifact name."
|
|
echo "ARTIFACT_NAME=$ARTIFACT_NAME" >> $GITHUB_ENV
|
|
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: ${{env.ARTIFACT_NAME}}.AppImage
|
|
path: ${{github.workspace}}/build/${{env.ARTIFACT_NAME}}.AppImage
|
|
|
|
- name: Prepare for publishing
|
|
if: ${{github.ref_type == 'tag' || github.ref_name == 'dev'}}
|
|
run: |
|
|
echo "Setting publish name."
|
|
PUBLISH_NAME="RawTherapee_${REF_NAME_FILTERED}_${{matrix.build_type}}"
|
|
echo "Publish name is '$PUBLISH_NAME'."
|
|
|
|
echo "Renaming AppImage."
|
|
cp "build/$ARTIFACT_NAME.AppImage" "$PUBLISH_NAME.AppImage"
|
|
|
|
echo "Creating version file."
|
|
cp "build/AboutThisBuild.txt" "$PUBLISH_NAME-AboutThisBuild.txt"
|
|
|
|
echo "Recording publish name."
|
|
echo "PUBLISH_NAME=$PUBLISH_NAME" >> $GITHUB_ENV
|
|
|
|
- name: Publish artifacts
|
|
uses: softprops/action-gh-release@v1
|
|
if: ${{github.ref_type == 'tag' || github.ref_name == 'dev'}}
|
|
with:
|
|
tag_name: nightly-github-actions
|
|
files: |
|
|
${{env.PUBLISH_NAME}}.AppImage
|
|
${{env.PUBLISH_NAME}}-AboutThisBuild.txt
|
|
|
|
- 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}_${{matrix.build_type}}"
|
|
echo "Publish name is '$PUBLISH_NAME'."
|
|
|
|
echo "Renaming AppImage."
|
|
cp "build/$ARTIFACT_NAME.AppImage" "$PUBLISH_NAME.AppImage"
|
|
|
|
echo "Creating version file."
|
|
cp "build/AboutThisBuild.txt" "$PUBLISH_NAME-AppImage-AboutThisBuild.txt"
|
|
|
|
echo "Recording publish name."
|
|
echo "PUBLISH_NAME=$PUBLISH_NAME" >> $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: |
|
|
${{env.PUBLISH_NAME}}.AppImage
|
|
${{env.PUBLISH_NAME}}-AppImage-AboutThisBuild.txt
|