Gather packages by 3 to reduce number of jobs

This commit is contained in:
Maxime Gimeno 2017-01-13 17:07:05 +01:00
parent a227eb920d
commit 470640bff6
4 changed files with 120 additions and 184 deletions

View File

@ -3,123 +3,45 @@ dist: trusty
sudo: required
env:
matrix:
- PACKAGE='AABB_tree'
- PACKAGE='Advancing_front_surface_reconstruction'
- PACKAGE='Algebraic_foundations'
- PACKAGE='Algebraic_kernel_d'
- PACKAGE='Algebraic_kernel_for_circles'
- PACKAGE='Algebraic_kernel_for_spheres'
- PACKAGE='Alpha_shapes_2'
- PACKAGE='Alpha_shapes_3'
- PACKAGE='Apollonius_graph_2'
- PACKAGE='Arithmetic_kernel'
- PACKAGE='Arrangement_on_surface_2'
- PACKAGE='Barycentric_coordinates_2'
- PACKAGE='BGL'
- PACKAGE='Boolean_set_operations_2'
- PACKAGE='Bounding_volumes'
- PACKAGE='Box_intersection_d'
- PACKAGE='CGAL_ImageIO'
- PACKAGE='CGAL_ipelets'
- PACKAGE='Circular_kernel_2'
- PACKAGE='Circular_kernel_3'
- PACKAGE='Circulator'
- PACKAGE='Combinatorial_map'
- PACKAGE='Cone_spanners_2'
- PACKAGE='Convex_decomposition_3'
- PACKAGE='Convex_hull_2'
- PACKAGE='Convex_hull_3'
- PACKAGE='Convex_hull_d'
- PACKAGE='Distance_2'
- PACKAGE='Distance_3'
- PACKAGE='Envelope_2'
- PACKAGE='Envelope_3'
- PACKAGE='Filtered_kernel'
- PACKAGE='Generalized_map'
- PACKAGE='Generator'
- PACKAGE='Geomview'
- PACKAGE='GraphicsView'
- PACKAGE='HalfedgeDS'
- PACKAGE='Hash_map'
- PACKAGE='Inscribed_areas'
- PACKAGE='Installation'
- PACKAGE='Interpolation'
- PACKAGE='Intersections_2'
- PACKAGE='Intersections_3'
- PACKAGE='Interval_skip_list'
- PACKAGE='Interval_support'
- PACKAGE='Inventor'
- PACKAGE='Jet_fitting_3'
- PACKAGE='Kernel_23'
- PACKAGE='Kernel_d'
- PACKAGE='Kinetic_data_structures'
- PACKAGE='Kinetic_framework'
- PACKAGE='Linear_cell_complex'
- PACKAGE='Matrix_search'
- PACKAGE='Mesh_2'
- PACKAGE='Mesh_3'
- PACKAGE='Minkowski_sum_2'
- PACKAGE='Minkowski_sum_3'
- PACKAGE='Modifier'
- PACKAGE='Modular_arithmetic'
- PACKAGE='Nef_2'
- PACKAGE='Nef_3'
- PACKAGE='Nef_S2'
- PACKAGE='NewKernel_d'
- PACKAGE='Number_types'
- PACKAGE='Operations_on_polyhedra'
- PACKAGE='Optimal_transportation_reconstruction_2'
- PACKAGE='Partition_2'
- PACKAGE='Periodic_2_triangulation_2'
- PACKAGE='Periodic_3_triangulation_3'
- PACKAGE='Point_set_2'
- PACKAGE='Point_set_3'
- PACKAGE='Point_set_processing_3'
- PACKAGE='Point_set_shape_detection_3'
- PACKAGE='Poisson_surface_reconstruction_3'
- PACKAGE='Polygon'
- PACKAGE='Polygon_mesh_processing'
- PACKAGE='Polyhedron'
- PACKAGE='Polyhedron_IO'
- PACKAGE='Polyline_simplification_2'
- PACKAGE='Polynomial'
- PACKAGE='Polytope_distance_d'
- PACKAGE='Principal_component_analysis'
- PACKAGE='Profiling_tools'
- PACKAGE='QP_solver'
- PACKAGE='Random_numbers'
- PACKAGE='Ridges_3'
- PACKAGE='Scale_space_reconstruction_3'
- PACKAGE='Segment_Delaunay_graph_2'
- PACKAGE='Segment_Delaunay_graph_Linf_2'
- PACKAGE='Skin_surface_3'
- PACKAGE='Snap_rounding_2'
- PACKAGE='Solver_interface'
- PACKAGE='Spatial_searching'
- PACKAGE='Spatial_sorting'
- PACKAGE='STL_Extension'
- PACKAGE='Straight_skeleton_2'
- PACKAGE='Stream_lines_2'
- PACKAGE='Stream_support'
- PACKAGE='Subdivision_method_3'
- PACKAGE='Surface_mesh'
- PACKAGE='Surface_mesh_deformation'
- PACKAGE='Surface_mesher'
- PACKAGE='Surface_mesh_parameterization'
- PACKAGE='Surface_mesh_segmentation'
- PACKAGE='Surface_mesh_shortest_path'
- PACKAGE='Surface_mesh_simplification'
- PACKAGE='Surface_mesh_skeletonization'
- PACKAGE='Sweep_line_2'
- PACKAGE='TDS_2'
- PACKAGE='TDS_3'
- PACKAGE='Three'
- PACKAGE='Triangulation'
- PACKAGE='Triangulation_2'
- PACKAGE='Triangulation_3'
- PACKAGE='Union_find'
- PACKAGE='Visibility_2'
- PACKAGE='Voronoi_diagram_2'
- PACKAGE='AABB_tree Advancing_front_surface_reconstruction Algebraic_foundations '
- PACKAGE='Algebraic_kernel_d Algebraic_kernel_for_circles Algebraic_kernel_for_spheres '
- PACKAGE='Alpha_shapes_2 Alpha_shapes_3 Apollonius_graph_2 '
- PACKAGE='Arithmetic_kernel Arrangement_on_surface_2 Barycentric_coordinates_2 '
- PACKAGE='BGL Boolean_set_operations_2 Bounding_volumes '
- PACKAGE='Box_intersection_d CGAL_ImageIO CGAL_ipelets '
- PACKAGE='Circular_kernel_2 Circular_kernel_3 Circulator '
- PACKAGE='Combinatorial_map Cone_spanners_2 Convex_decomposition_3 '
- PACKAGE='Convex_hull_2 Convex_hull_3 Convex_hull_d '
- PACKAGE='Distance_2 Distance_3 Envelope_2 '
- PACKAGE='Envelope_3 Filtered_kernel Generalized_map '
- PACKAGE='Generator Geomview GraphicsView '
- PACKAGE='HalfedgeDS Hash_map Inscribed_areas '
- PACKAGE='Installation Interpolation Intersections_2 '
- PACKAGE='Intersections_3 Interval_skip_list Interval_support '
- PACKAGE='Inventor Jet_fitting_3 Kernel_23 '
- PACKAGE='Kernel_d Kinetic_data_structures Kinetic_framework '
- PACKAGE='Linear_cell_complex Matrix_search Mesh_2 '
- PACKAGE='Mesh_3 Minkowski_sum_2 Minkowski_sum_3 '
- PACKAGE='Modifier Modular_arithmetic Nef_2 '
- PACKAGE='Nef_3 Nef_S2 NewKernel_d '
- PACKAGE='Number_types Operations_on_polyhedra Optimal_transportation_reconstruction_2 '
- PACKAGE='Partition_2 Periodic_2_triangulation_2 Periodic_3_triangulation_3 '
- PACKAGE='Point_set_2 Point_set_3 Point_set_processing_3 '
- PACKAGE='Point_set_shape_detection_3 Poisson_surface_reconstruction_3 Polygon '
- PACKAGE='Polygon_mesh_processing Polyhedron Polyhedron_IO '
- PACKAGE='Polyline_simplification_2 Polynomial Polytope_distance_d '
- PACKAGE='Principal_component_analysis Profiling_tools QP_solver '
- PACKAGE='Random_numbers Ridges_3 Scale_space_reconstruction_3 '
- PACKAGE='Segment_Delaunay_graph_2 Segment_Delaunay_graph_Linf_2 Skin_surface_3 '
- PACKAGE='Snap_rounding_2 Solver_interface Spatial_searching '
- PACKAGE='Spatial_sorting STL_Extension Straight_skeleton_2 '
- PACKAGE='Stream_lines_2 Stream_support Subdivision_method_3 '
- PACKAGE='Surface_mesh Surface_mesh_deformation Surface_mesher '
- PACKAGE='Surface_mesh_parameterization Surface_mesh_segmentation Surface_mesh_shortest_path '
- PACKAGE='Surface_mesh_simplification Surface_mesh_skeletonization Sweep_line_2 '
- PACKAGE='TDS_2 TDS_3 Three '
- PACKAGE='Triangulation Triangulation_2 Triangulation_3 '
- PACKAGE='Union_find Visibility_2 Voronoi_diagram_2 '
- PACKAGE='CHECK'
install:
before_script:
@ -129,6 +51,7 @@ before_script:
- make
- cd ..
script:
- cd ./.travis
- bash -x -e ./build_package.sh $PACKAGE
compiler:
- clang

View File

@ -1,64 +1,68 @@
#!/bin/bash
set -e
EXAMPLES="$1/examples/$1"
TEST="$1/test/$1"
DEMO="$1/demo/$1"
ROOT="$PWD"
if [ -d "$ROOT/$EXAMPLES" ]
then
cd $ROOT/$EXAMPLES
mkdir -p build
cd build
cmake -DCGAL_DIR="$ROOT/build" -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" ..
make -j2
fi
if [ -d "$ROOT/$TEST" ]
then
cd $ROOT/$TEST
mkdir -p build
cd build
cmake -DCGAL_DIR="$ROOT/build" -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" ..
make -j2
fi
if [ "$1" == "CHECK" ]
then
#parse current matrix and check that no package has been forgotten
old_IFS=$IFS
IFS=$'\n'
COPY=0
MATRIX=()
for LINE in $(cat "$PWD/packages.txt")
do
MATRIX+="$LINE "
done
PACKAGES=()
cd ..
for f in *
do
if [ -d "$f/examples/$f" ] || [ -d "$f/test/$f" ] || [ -d "$f/demo/$f" ]
then
PACKAGES+="$f "
fi
done
DIFFERENCE=$(echo ${MATRIX[@]} ${PACKAGES[@]} | tr ' ' '\n' | sort | uniq -u)
IFS=$old_IFS
if [ "${DIFFERENCE[0]}" != "" ]
then
echo "Some packages are missing in the matrix."
exit 1
fi
echo "Matrix is up to date."
fi
exit 0
#if [ "$1" != Polyhedron ]
#then
# cd $ROOT/$DEMO
# mkdir -p build
# cd build
# cmake -DCGAL_DIR="$ROOT/build" ..
# make
#fi
IFS=$' '
ROOT="$PWD/../"
for ARG in $(echo "$@")
do
if [ "$ARG" == "CHECK" ]
then
#parse current matrix and check that no package has been forgotten
old_IFS=$IFS
IFS=$'\n'
COPY=0
MATRIX=()
for LINE in $(cat "$PWD/packages.txt")
do
MATRIX+="$LINE "
done
PACKAGES=()
cd ..
for f in *
do
if [ -d "$f/examples/$f" ] || [ -d "$f/test/$f" ] || [ -d "$f/demo/$f" ]
then
PACKAGES+="$f "
fi
done
DIFFERENCE=$(echo ${MATRIX[@]} ${PACKAGES[@]} | tr ' ' '\n' | sort | uniq -u)
IFS=$old_IFS
if [ "${DIFFERENCE[0]}" != "" ]
then
echo "Some packages are missing in the matrix."
exit 1
fi
echo "Matrix is up to date."
exit 0
fi
EXAMPLES="$ARG/examples/$ARG"
TEST="$ARG/test/$ARG"
DEMO="$ARG/demo/$ARG"
if [ -d "$ROOT/$EXAMPLES" ]
then
cd $ROOT/$EXAMPLES
mkdir -p build
cd build
cmake -DCGAL_DIR="$ROOT/build" -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" ..
make -j2
fi
if [ -d "$ROOT/$TEST" ]
then
cd $ROOT/$TEST
mkdir -p build
cd build
cmake -DCGAL_DIR="$ROOT/build" -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" ..
make -j2
fi
#if [ "$ARG" != Polyhedron ]
#then
# cd $ROOT/$DEMO
# mkdir -p build
# cd build
# cmake -DCGAL_DIR="$ROOT/build" ..
# make
#fi
done

View File

@ -9,11 +9,20 @@ fi
#find all the packages
PACKAGES=()
INDEX=0
i=0
for f in *
do
if [ -d "$f/examples/$f" ] || [ -d "$f/test/$f" ] || [ -d "$f/demo/$f" ]
then
PACKAGES+="$f "
PACKAGES[$INDEX]+="$f "
i=$[i+1]
if [ $i == 3 ]
then
i=0
#PACKAGES[$INDEX]+="\n"
INDEX=$[INDEX+1]
fi
echo "$f " >> ./.travis/packages.txt
fi
done
@ -25,8 +34,8 @@ then
rm .travis.yml
fi
#writes the first part of the file
old_IFS=$IFS
IFS=$'\n'
old_IFS=$IFS
IFS=$'\n'
for LINE in $(cat "$PWD/.travis/template.txt")
do
if [ "$LINE" != " matrix: " ]
@ -37,14 +46,13 @@ do
fi
done
echo " matrix: " >> .travis.yml
IFS=$' '
#writes the matrix
for package in ${PACKAGES[@]}
do
echo " - PACKAGE='$package' " >> .travis.yml
done
echo " - PACKAGE='CHECK' " >> .travis.yml
IFS=$'\n'
#writes the end of the file
COPY=0
for LINE in $(cat "$PWD/.travis/template.txt")

View File

@ -12,6 +12,7 @@ before_script:
- make
- cd ..
script:
- cd ./.travis
- bash -x -e ./build_package.sh $PACKAGE
compiler:
- clang