-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CI/CD] remove travis, add gh actions: windows and osx builds, build windows nightly, check if dt runs... #6603
Conversation
de56ae3
to
dd78eb9
Compare
If anybody wants to try mac packaging in nightly, here's the file: name: Nightly Macos PKG
# TODO: move to nightly.yml after finalizing here.
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
macOS:
name: macOS.${{ matrix.compiler.compiler }}.${{ matrix.target }}
runs-on: macos-latest
strategy:
fail-fast: true
matrix:
compiler:
- { compiler: XCode, CC: cc, CXX: c++ }
btype: [ Release ]
target:
- skiptest
env:
CC: ${{ matrix.compiler.CC }}
CXX: ${{ matrix.compiler.CXX }}
SRC_DIR: ${{ github.workspace }}/src
BUILD_DIR: ${{ github.workspace }}/build
INSTALL_PREFIX: ${{ github.workspace }}/install
CMAKE_BUILD_TYPE: ${{ matrix.btype }}
GENERATOR: Ninja
TARGET: ${{ matrix.target }}
DYLD_FALLBACK_LIBRARY_PATH: /opt/local/lib
steps:
- uses: actions/checkout@v2
with:
submodules: true
path: src
- name: Install MacportsCI
run: |
curl -LO https://raw.githubusercontent.com/GiovanniBussi/macports-ci/master/macports-ci
source ./macports-ci install
#sudo echo "buildfromsource always" >> /opt/local/etc/macports/macports.conf
#sudo echo "macosx_deployment_target 10.7" >> /opt/local/etc/macports/macports.conf
#sudo echo "cxx_stdlib libc++" >> /opt/local/etc/macports/macports.conf
echo "+no_gnome +no_x11 +quartz -x11 -gnome" | sudo tee -a /opt/local/etc/macports/variants.conf
mkdir -p ~/ports/devel/gnutls/files \
~/ports/lang/python37/files \
~/ports/lang/python38/files \
~/ports/graphics/GraphicsMagick/files \
~/ports/graphics/ImageMagick/files \
~/ports/textproc \
~/ports/science
cp -R "$(port dir gnutls)" ~/ports/devel
curl -Lo ~/ports/devel/gnutls/files/patch.diff https://raw.github.com/darktable-org/darktable/master/packaging/macosx/gnutls-disable-connectx.diff
cp -R "$(port dir python37)" ~/ports/lang
curl -Lo ~/ports/lang/python37/files/patch.diff https://raw.github.com/darktable-org/darktable/master/packaging/macosx/python36-stack_size.diff
cp -R "$(port dir python38)" ~/ports/lang
curl -Lo ~/ports/lang/python38/files/patch.diff https://raw.github.com/darktable-org/darktable/master/packaging/macosx/python38-stack_size.diff
cp -R "$(port dir GraphicsMagick)" ~/ports/graphics
curl -Lo ~/ports/graphics/GraphicsMagick/files/patch.diff https://raw.github.com/darktable-org/darktable/master/packaging/macosx/gm-deployment_target.diff
cp -R "$(port dir ImageMagick)" ~/ports/graphics
curl -Lo ~/ports/graphics/ImageMagick/files/patch.diff https://raw.github.com/darktable-org/darktable/master/packaging/macosx/im-stdlib.diff
echo "patchfiles-append patch.diff" >> ~/ports/devel/gnutls/Portfile
echo "patchfiles-append patch.diff" >> ~/ports/lang/python37/Portfile
echo "patchfiles-append patch.diff" >> ~/ports/lang/python38/Portfile
echo "patchfiles-append patch.diff" >> ~/ports/graphics/GraphicsMagick/Portfile
echo "patchfiles-append patch.diff" >> ~/ports/graphics/ImageMagick/Portfile
cp -R "$(port dir pugixml)" ~/ports/textproc
curl -L https://raw.github.com/darktable-org/darktable/master/packaging/macosx/pugixml-stdlib.patch | patch -d ~/ports -p0
cp -R "$(port dir librsvg)" ~/ports/graphics
curl -L https://raw.github.com/darktable-org/darktable/master/packaging/macosx/librsvg-nocargo.patch | patch -d ~/ports -p0
cp -R "$(port dir gmic)" ~/ports/science
curl -L https://raw.github.com/darktable-org/darktable/master/packaging/macosx/gmic-minimal.patch | patch -d ~/ports -p0
sudo portindex ~/ports
source ./macports-ci localports ~/ports
echo $DYLD_LIBRARY_PATH
echo $DYLD_FALLBACK_LIBRARY_PATH
export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib
sudo port install git exiv2 libgphoto2 gtk-osx-application-gtk3 lensfun librsvg libsoup openexr json-glib flickcurl GraphicsMagick openjpeg lua webp libsecret pugixml osm-gps-map adwaita-icon-theme tango-icon-theme intltool iso-codes libomp gmic
- name: macports log upload
if: ${{ failure() }}
uses: 'actions/upload-artifact@v2'
with:
name: macports_logs.${{ github.sha }}
path: /opt/local/var/macports/logs/*/*/main.log
retention-days: 1
- name: Get gtk-mac-bundler
run: |
curl -O https://ftp.gnome.org/pub/gnome/sources/gtk-mac-bundler/0.7/gtk-mac-bundler-0.7.4.tar.xz
tar -xf gtk-mac-bundler-0.7.4.tar.xz
cd gtk-mac-bundler-0.7.4
patch -p1 < ${SRC_DIR}/packaging/macosx/gtk-mac-bundler-0.7.4.patch
make install
- name: Build and Install
run: |
cmake -E make_directory "${BUILD_DIR}";
cmake -E make_directory "${INSTALL_PREFIX}";
cd "${BUILD_DIR}"
cmake "${SRC_DIR}" \
-DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" \
-DCMAKE_CXX_FLAGS=-stdlib=libc++ \
-DOpenMP_C_INCLUDE_DIR=/opt/local/include/libomp \
-DOpenMP_CXX_INCLUDE_DIR=/opt/local/include/libomp \
-DCMAKE_LIBRARY_PATH=/opt/local/lib/libomp \
-DBINARY_PACKAGE_BUILD=ON \
-DRAWSPEED_ENABLE_LTO=ON \
-DBUILD_CURVE_TOOLS=ON \
-DBUILD_NOISE_TOOLS=ON
make
sudo make install
- name: Package
run: |
cd "${SRC_DIR}/packaging/macosx"
./make-app-bundle
- name: Package upload
uses: 'actions/upload-artifact@v2'
with:
name: darktable.${{ github.sha }}.macos.zip
path: ${{ env.SRC_DIR }}/packaging/macosx/darktable-*.dmg
retention-days: 1 I'm pretty much done for now :/ |
… on linux, further trim travis
What happened with Travis ? |
https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing Basically makes OS travis usage a "trial" that could apply for "build extension" on "per-case basis" if os project manages to exceed 10000 credits (which equals to 1000 minutes which equals to ~20 builds of dt per month since on travis usual build takes 5-6 minutes). Also renders my recent osx build not viable: GH ones are far faster + travis osx builds cost 5x normal linux build and due to travis config takes 4-5x as long as windows build so free tier would be enough to do 4 osx builds. |
Well... I think this shoiuld be ready... @TurboGit - what do you think? Should I add IRC job? or merge as-is? |
Thanks, merging now. |
Will these nightly builds be accessible to users on the bleeding edge of DT? |
Should be - we'll se after today if "nightly" builds ;)
wt., 3 lis 2020 o 14:49 Murtuza Chhil <notifications@github.com> napisał(a):
… Will these nightly builds be accessible to users on the bleeding edge of
DT?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#6603 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACRRKFPYFVEX7WVMZUFHZNLSOAC7XANCNFSM4S3EPDXA>
.
--
Pozdrawiam,
Hubert Kowalski
|
Try speeding up jobs...
//EDIT:
Well... this started as a "try to speed up jobs" but is now great effort to test both build and run of darktable (at least darktable-cli) on all 3 supported OSes.
I wonder what else could be done here :)