Skip to content

Commit

Permalink
Merge branch 'workshop'
Browse files Browse the repository at this point in the history
  • Loading branch information
devernay committed Mar 11, 2016
2 parents 57995c8 + 8afd0c8 commit 7f0fa6a
Show file tree
Hide file tree
Showing 1,617 changed files with 307,929 additions and 84,341 deletions.
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Please ask questions ("how do I...?") on the [forum](http://forum.natron.fr), not by filing issues.

Make concrete suggestions for fixing the code ("here is a patch") by filing
a [pull request](https://github.com/MrKepzie/Natron/pull/new/workshop), not an issue.


### Problem

Describe the problem or suggestion here.

**Expected behavior:** [What you expected to happen]

**Actual behavior:** [What actually happened]

* If your problem is a broken release/snapshot, please include verbose output from the application
and as much information as possible. If you also submitted a crash report add CrashID if possible.

* If your problem is a broken build, please create a [gist](https://gist.github.com)
that contains the _full_ verbose build log.

* If your problem is a crash in a custom build, please create a [gist](https://gist.github.com)
that contains a _full_ backtrace.

* If you are reporting a problem about a release branch, have you tried the current head of `workshop`
to see if the problem has been fixed?

### Steps to Reproduce

1. [First Step]
2. [Second Step]
3. [and so on...]


### Versions

* **Natron version/commit:**
* **OS version:**


6 changes: 6 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Please read the [contribution guidelines](https://github.com/MrKepzie/Natron/blob/workshop/CONTRIBUTING.md), and be sure we have a [Contributor License Agreement](http://natron.fr/cla) on record with the project.

## Description

Please provide a description of what this PR is meant to fix,
and how it works (if it's not going to be very clear from the code).
30 changes: 29 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,28 @@
*.com
*.DS_Store
*_moc.cpp
*_resource.rc
moc*.cpp
*moc
*MINGW-packages*
build
build32
build64
*build_*
sed*
*latex*
DerivedData
Natron.xcodeproj
Natron-bin.xcodeproj
NatronRenderer-bin.xcodeproj
NatronRenderer.xcodeproj
NatronCrashReporter.xcodeproj
BreakpadClient.xcodeproj
CrashReporter/NatronCrashReporter
NatronRendererCrashReporter.xcodeproj
Tests.xcodeproj
HostSupport.xcodeproj
LibMV.xcodeproj
Gui.xcodeproj
Engine.xcodeproj
Project.xcodeproj
Expand Down Expand Up @@ -201,6 +214,21 @@ Tests/Plugins
pch
*.filters

# Python
*.pyc

Renderer/NatronRenderer

*.pyc
*tmp*
*commits-hash.sh*

CrashReporterCLI/NatronRendererCrashReporter
*repo.sh*
*local.sh*
OpenColorIO-Configs
PortIndex
PortIndex.quick
*.7z*
*.exe*
tools/Windows/src/*
tools/linux/src/*
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
[submodule "Tests/google-mock"]
path = Tests/google-mock
url = https://github.com/MrKepzie/google-mock
[submodule "Gui/Resources/OpenColorIO-Configs"]
path = Gui/Resources/OpenColorIO-Configs
url = https://github.com/MrKepzie/OpenColorIO-Configs.git
[submodule "libs/SequenceParsing"]
path = libs/SequenceParsing
url = https://github.com/MrKepzie/SequenceParsing
[submodule "google-breakpad"]
path = google-breakpad
url = https://github.com/MrKepzie/google-breakpad
33 changes: 22 additions & 11 deletions .travis-coverity-scan-build.sh
Original file line number Diff line number Diff line change
@@ -1,20 +1,27 @@
#!/bin/sh
# Modified coverity scan build script
# Original script available at https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh
# Additions (see corresponding sections below):
# - Verify Coverity Scan run condition
# - Verify Coverity Scan script test mode
# - set TOOL_BASE to a writable directory with more than 1Gb free space

set -e

# Environment check
echo -e "\033[33;1mNote: PROJECT_NAME and COVERITY_SCAN_TOKEN are available on Project Settings page on scan.coverity.com\033[0m"
echo -e "\033[33;1mNote: COVERITY_SCAN_PROJECT_NAME and COVERITY_SCAN_TOKEN are available on Project Settings page on scan.coverity.com\033[0m"
[ -z "$COVERITY_SCAN_PROJECT_NAME" ] && echo "ERROR: COVERITY_SCAN_PROJECT_NAME must be set" && exit 1
#[ -z "$COVERITY_SCAN_NOTIFICATION_EMAIL" ] && echo "ERROR: COVERITY_SCAN_NOTIFICATION_EMAIL must be set" && exit 1
[ -z "$COVERITY_SCAN_NOTIFICATION_EMAIL" ] && echo "ERROR: COVERITY_SCAN_NOTIFICATION_EMAIL must be set" && exit 1
[ -z "$COVERITY_SCAN_BRANCH_PATTERN" ] && echo "ERROR: COVERITY_SCAN_BRANCH_PATTERN must be set" && exit 1
[ -z "$COVERITY_SCAN_BUILD_COMMAND" ] && echo "ERROR: COVERITY_SCAN_BUILD_COMMAND must be set" && exit 1
[ -z "$COVERITY_SCAN_TOKEN" ] && echo "ERROR: COVERITY_SCAN_TOKEN must be set" && exit 1

PLATFORM=`uname`
TOOL_ARCHIVE=/tmp/cov-analysis-${PLATFORM}.tgz
TOOL_URL=https://scan.coverity.com/download/${PLATFORM}
TOOL_BASE=/tmp/coverity-scan-analysis
UPLOAD_URL="http://scan5.coverity.com/cgi-bin/travis_upload.py"
#TOOL_BASE=/tmp/coverity-scan-analysis
TOOL_BASE=/home/travis/coverity-scan-analysis
UPLOAD_URL="https://scan.coverity.com/builds"
SCAN_URL="https://scan.coverity.com"

# Verify Coverity Scan run condition
Expand Down Expand Up @@ -54,7 +61,7 @@ else
else
WHEN=`echo $AUTH_RES | ruby -e "require 'rubygems'; require 'json'; puts JSON[STDIN.read]['next_upload_permitted_at']"`
echo -e "\033[33;1mCoverity Scan analysis NOT authorized until $WHEN.\033[0m"
exit 1
exit 0
fi
fi

Expand Down Expand Up @@ -83,13 +90,13 @@ COV_BUILD_OPTIONS=""
RESULTS_DIR="cov-int"
eval "${COVERITY_SCAN_BUILD_COMMAND_PREPEND}"
COVERITY_UNSUPPORTED=1 cov-build --dir $RESULTS_DIR $COV_BUILD_OPTIONS $COVERITY_SCAN_BUILD_COMMAND
cov-import-scm --dir $RESULTS_DIR --scm git --log $RESULTS_DIR/scm_log.txt 2>&1

# Upload results
echo -e "\033[33;1mTarring Coverity Scan Analysis results...\033[0m"
RESULTS_ARCHIVE=analysis-results.tgz
tar czf $RESULTS_ARCHIVE $RESULTS_DIR
SHA=`git rev-parse --short HEAD`
#VERSION_SHA=$(cat VERSION)#$SHA

# Verify Coverity Scan script test mode
if [ "$coverity_scan_script_test_mode" = true ]; then
Expand All @@ -98,14 +105,18 @@ if [ "$coverity_scan_script_test_mode" = true ]; then
fi

echo -e "\033[33;1mUploading Coverity Scan Analysis results...\033[0m"
curl \
--progress-bar \
response=$(curl \
--silent --write-out "\n%{http_code}\n" \
--form project=$COVERITY_SCAN_PROJECT_NAME \
--form token=$COVERITY_SCAN_TOKEN \
--form email=$COVERITY_SCAN_NOTIFICATION_EMAIL \
--form file=@$RESULTS_ARCHIVE \
--form version=$SHA \
--form description="Travis CI build" \
$UPLOAD_URL

# --form description="$VERSION_SHA" \
$UPLOAD_URL)
status_code=$(echo "$response" | sed -n '$p')
if [ "$status_code" != "201" ]; then
TEXT=$(echo "$response" | sed '$d')
echo -e "\033[33;1mCoverity Scan upload failed: $TEXT.\033[0m"
exit 1
fi
109 changes: 84 additions & 25 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,87 @@ compiler:
- clang

python:
- "3.4"
- "2.7"

addons:
apt:
sources:
# Natron requires boost >= 1.49 to compile in C++11 mode
# see http://stackoverflow.com/questions/11302758/error-while-copy-constructing-boostshared-ptr-using-c11
# we use the ppa:boost-latest/ppa for that purpose
- boost-latest
# kubuntu-ppa/backports contains OpenCV
- kubuntu-backports
# the PPA xorg-edgers contains cairo 1.12 (required for rotoscoping)
- ppa:xorg-edgers/ppa
# ubuntu-toolchain-r/test contains recent versions of gcc
- ubuntu-toolchain-r-test
# get a recent ffmpeg (>=2.5) for precise from ppa:archivematica/externals(2.5.1) or ppa:pavlyshko/precise(2.6.1)
- ppa:archivematica/externals
- kalakris-cmake
- pythonxy-devel
packages:
- gcc-4.9
- g++-4.9
- libqt4-dev
- libglew-dev
- libboost-serialization-dev
- libexpat1-dev
- gdb
- libcairo2-dev
- python-dev
- python-pyside
- libpyside-dev
- libshiboken-dev
# packages for building openfx-io:
- libavcodec-dev
- libavformat-dev
- libswscale-dev
- libavutil-dev
- libswresample-dev
- libtinyxml-dev
- liblcms2-dev
- libyaml-cpp-dev
- libboost-dev
- libopenexr-dev
- libilmbase-dev
- libopenjpeg-dev
- libtiff4-dev
- libjpeg-dev
- libpng-dev
- libboost-filesystem-dev
- libboost-regex-dev
- libboost-thread-dev
- libboost-system-dev
- libwebp-dev
- libfreetype6-dev
- libssl-dev
coverity_scan:
# customized build script URL
# TRAVIS_REPO_SLUG: owner_name/repo_name of repository currently being built
# TRAVIS_BRANCH: name of the branch currently being built
build_script_url: https://raw.githubusercontent.com/$TRAVIS_REPO_SLUG/$TRAVIS_BRANCH/.travis-coverity-scan-build.sh
# project metadata
project:
name: $TRAVIS_REPO_SLUG
# Where email notification of build analysis results will be sent
notification_email: [email protected]
# Commands to prepare for build_command
#build_command_prepend: ./configure
# This command will be added as an argument to "cov-build" to compile
# the project for analysis
build_command: "tools/travis/build.sh"
# Pattern to match selecting branches that will run analysis
branch_pattern: coverity_scan

matrix:
exclude:
- os: osx
compiler: gcc
allow_failures:
- os: osx # we exceed the time limit
fast_finish: true
# Uncomment the following if OSX build times out (happens when building with python3)
# allow_failures:
# - os: osx # we exceed the time limit
# fast_finish: true

cache:
apt: true
Expand All @@ -41,20 +113,25 @@ cache:
before_install:
- date -u
- uname -a
- export J='-j3'
- export J='-j2'

install:
- . tools/travis/coverity_env.sh
- if [[ ${COVERITY_BUILD_DISABLED} == 1 ]];
then
exit 0;
fi
- tools/travis/install_dependencies.sh > install_dependencies.log 2>&1
- tools/travis/install_dependencies.sh
- curl -k -L https://github.com/MrKepzie/OpenColorIO-Configs/archive/Natron-v2.0.tar.gz | tar zxf -
- mv OpenColorIO-Configs-Natron-v2.0 OpenColorIO-Configs

# OSX build will timeout if we redirect its output
#> install_dependencies.log 2>&1

script:
- if [[ ${COVERITY_SCAN_BRANCH} == 1 ]];
then
echo "Don't build on coverty_scan branch.";
echo "Don't build on coverity_scan branch.";
exit 0;
fi
- tools/travis/build.sh
Expand All @@ -66,21 +143,3 @@ after_success:
after_failure:
- cat install_dependencies.log || true

addons:
coverity_scan:
# customized build script URL
# TRAVIS_REPO_SLUG: owner_name/repo_name of repository currently being built
# TRAVIS_BRANCH: name of the branch currently being built
build_script_url: https://raw.githubusercontent.com/$TRAVIS_REPO_SLUG/$TRAVIS_BRANCH/.travis-coverity-scan-build.sh
# project metadata
project:
name: $TRAVIS_REPO_SLUG
# Where email notification of build analysis results will be sent
notification_email: [email protected]
# Commands to prepare for build_command
#build_command_prepend: ./configure
# This command will be added as an argument to "cov-build" to compile
# the project for analysis
build_command: "tools/travis/build.sh"
# Pattern to match selecting branches that will run analysis
branch_pattern: coverity_scan
Loading

0 comments on commit 7f0fa6a

Please sign in to comment.