Skip to content

Commit

Permalink
Merge tag '0.61.1.1' into hy-master
Browse files Browse the repository at this point in the history
  • Loading branch information
ericmehl committed Jan 3, 2022
2 parents 7da6314 + 4c7596f commit 813762b
Show file tree
Hide file tree
Showing 377 changed files with 23,636 additions and 5,352 deletions.
41 changes: 31 additions & 10 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ jobs:
os: ubuntu-20.04
buildType: RELEASE
publish: true
containerImage: gafferhq/build:1.2.0
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/3.1.0/gafferDependencies-3.1.0-Python2-linux.tar.gz
containerImage: ghcr.io/gafferhq/build/build:1.2.0
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/4.0.0/gafferDependencies-4.0.0-Python2-linux.tar.gz
# GitHub container builds run as root. This causes failures for tests that
# assert that filesystem permissions are respected, because root doesn't
# respect permissions. So we run the final test suite as a dedicated
Expand All @@ -54,8 +54,8 @@ jobs:
os: ubuntu-20.04
buildType: DEBUG
publish: false
containerImage: gafferhq/build:1.2.0
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/3.1.0/gafferDependencies-3.1.0-Python2-linux.tar.gz
containerImage: ghcr.io/gafferhq/build/build:1.2.0
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/4.0.0/gafferDependencies-4.0.0-Python2-linux.tar.gz
testRunner: su testUser -c
# Debug builds are ludicrously big, so we must use a larger cache
# limit. In practice this compresses down to 4-500Mb.
Expand All @@ -65,8 +65,8 @@ jobs:
os: ubuntu-20.04
buildType: RELEASE
publish: true
containerImage: gafferhq/build:1.2.0
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/3.1.0/gafferDependencies-3.1.0-Python3-linux.tar.gz
containerImage: ghcr.io/gafferhq/build/build:1.2.0
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/4.0.0/gafferDependencies-4.0.0-Python3-linux.tar.gz
testRunner: su testUser -c
sconsCacheMegabytes: 400

Expand All @@ -75,7 +75,7 @@ jobs:
buildType: RELEASE
publish: true
containerImage:
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/3.1.0/gafferDependencies-3.1.0-Python2-osx.tar.gz
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/4.0.0/gafferDependencies-4.0.0-Python2-osx.tar.gz
testRunner: bash -c
sconsCacheMegabytes: 400

Expand Down Expand Up @@ -108,6 +108,11 @@ jobs:

- name: Install toolchain (Linux)
run: |
# Install xcb libs necessary for running Qt 5.15.
# Todo : Update to the `ghcr.io/gafferhq/build/build:1.3.0`
# image, which provides the libs by default. We can't do that
# currently because it breaks `sphinx-build`.
yum install -y xcb-util-wm xcb-util-image xcb-util-keysyms xcb-util-renderutil
echo /opt/rh/devtoolset-6/root/bin >> $GITHUB_PATH
Xvfb :99 -screen 0 1280x1024x24 &
metacity&
Expand Down Expand Up @@ -139,9 +144,7 @@ jobs:
# below.
run: |
echo GAFFER_DEPENDENCIES_HASH=`python .github/workflows/main/installDependencies.py --archiveURL ${{ matrix.dependenciesURL }} --dependenciesDir ${{ env.GAFFER_BUILD_DIR }} --outputFormat "{archiveDigest}"` >> $GITHUB_ENV
./config/installArnold.sh
./config/installDelight.sh
echo ARNOLD_ROOT=$GITHUB_WORKSPACE/arnoldRoot >> $GITHUB_ENV
./.github/workflows/main/installDelight.sh
echo DELIGHT=$GITHUB_WORKSPACE/3delight >> $GITHUB_ENV
- name: Cache
Expand All @@ -166,6 +169,24 @@ jobs:
${{ matrix.testRunner }} "${{ env.GAFFER_BUILD_DIR }}/bin/gaffer test"
echo "::remove-matcher owner=unittest::"
- name: Build and test Arnold extension
run: |
for arnoldVersion in 6.2.0.1 7.0.0.0
do
# Install Arnold
./.github/workflows/main/installArnold.sh $arnoldVersion
export ARNOLD_ROOT=$GITHUB_WORKSPACE/arnoldRoot/$arnoldVersion
# Build Arnold extension
scons -j 2 build BUILD_TYPE=${{ matrix.buildType }} OPTIONS=.github/workflows/main/sconsOptions
# Test Arnold extension
echo "::add-matcher::./.github/workflows/main/problemMatchers/unittest.json"
${{ matrix.testRunner }} "${{ env.GAFFER_BUILD_DIR }}/bin/gaffer test IECoreArnoldTest GafferArnoldTest GafferArnoldUITest"
echo "::remove-matcher owner=unittest::"
# Publish ARNOLD_ROOT to the environment for subsequent steps,
# so we can build the docs for GafferArnold.
echo ARNOLD_ROOT=$ARNOLD_ROOT >> $GITHUB_ENV
done
- name: Build Docs and Package
# We currently experience sporadic hangs in the docs builds (mac), this
# aborts them in a more timely fashion than the default 6hr timeout.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,12 @@

set -e

arnoldVersion=6.2.0.1
if [ -z $1 ] ; then
echo "Usage : installArnold.sh arnoldVersion" >&2
exit 1
fi

arnoldVersion=$1

if [[ `uname` = "Linux" ]] ; then
arnoldPlatform=linux
Expand All @@ -49,12 +54,11 @@ url=forgithubci.solidangle.com/arnold/Arnold-${arnoldVersion}-${arnoldPlatform}.

# Configure the login information, if this has been supplied.
login=""
# TODO: Remove the extra var checks (!= $) once we no longer need Azure support.
if [ ! -z "${ARNOLD_LOGIN}" ] && [ "${ARNOLD_LOGIN:0:1}" != "$" ] && [ -z "${ARNOLD_PASSWORD}" ] && [ "${ARNOLD_PASSWORD:0:1}" != "$" ]; then
if [ ! -z "${ARNOLD_LOGIN}" ] && [ ! -z "${ARNOLD_PASSWORD}" ] ; then
login="${ARNOLD_LOGIN}:${ARNOLD_PASSWORD}@"
fi

mkdir -p arnoldRoot && cd arnoldRoot
mkdir -p arnoldRoot/$arnoldVersion && cd arnoldRoot/$arnoldVersion

echo Downloading Arnold "https://${url}"
curl -L https://${login}${url} -o Arnold-${arnoldVersion}-${arnoldPlatform}.tgz
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion .github/workflows/main/installDependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
# Determine default archive URL.

platform = "osx" if sys.platform == "darwin" else "linux"
defaultURL = "https://github.com/GafferHQ/dependencies/releases/download/3.1.0/gafferDependencies-3.1.0-Python2-" + platform + ".tar.gz"
defaultURL = "https://github.com/GafferHQ/dependencies/releases/download/4.0.0/gafferDependencies-4.0.0-Python2-" + platform + ".tar.gz"

# Parse command line arguments.

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main/sconsOptions
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ ENV_VARS_TO_IMPORT = "PATH"

BUILD_CACHEDIR = os.environ["GAFFER_CACHE_DIR"]

ARNOLD_ROOT = os.environ["ARNOLD_ROOT"]
ARNOLD_ROOT = os.environ.get( "ARNOLD_ROOT", "" )
DELIGHT_ROOT = os.environ["DELIGHT"]

BUILD_DIR = os.environ["GAFFER_BUILD_DIR"]
Expand Down
17 changes: 17 additions & 0 deletions .github/workflows/main/setBuildVars.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,23 @@
releaseId = r.id
break

if releaseId :

# Check that the version specified by the SConstruct matches the
# version in the tag.
versions = {}
versionRe = re.compile( r"^gaffer(.*)Version = (\d+)")
with open( "SConstruct" ) as sconstruct :
for line in sconstruct.readlines() :
versionMatch = versionRe.match( line )
if versionMatch :
versions[versionMatch.group( 1 )] = versionMatch.group( 2 )

version = "{Milestone}.{Major}.{Minor}.{Patch}".format( **versions )
if version != tag :
sys.stderr.write( "Tag \"{}\" does not match SConstruct version \"{}\"\n".format( tag, version ) )
sys.exit( 1 )

## Build Name

# We have a couple of naming conventions for builds, depending on the nature of the trigger.
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
*.*~
*.dylib
*.os
*.moc
*.pyc
*.swp
*.so
Expand Down
Loading

0 comments on commit 813762b

Please sign in to comment.