Skip to content

Commit 18d6ae5

Browse files
committed
Updated CircleCI build/test image.
1 parent 9971666 commit 18d6ae5

File tree

6 files changed

+43
-29
lines changed

6 files changed

+43
-29
lines changed

.circleci/.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
*
22
!requirements-conda.txt
3+
!fix-permissions

.circleci/Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,14 @@ RUN \
1919
ENV CONDA_DIR=/opt/conda
2020
ENV PATH=$CONDA_DIR/bin:$PATH
2121

22-
COPY requirements-conda.txt /tmp
22+
COPY requirements-conda.txt fix-permissions /tmp
2323
RUN \
2424
conda install --quiet --yes --channel=conda-forge --file=/tmp/requirements-conda.txt && \
2525
echo "$CONDA_DIR/lib" > /etc/ld.so.conf.d/conda.conf && \
2626
ldconfig && \
27-
conda clean --all --force-pkgs-dirs --yes --quiet
27+
conda clean --all --force-pkgs-dirs --yes --quiet && \
28+
sh /tmp/fix-permissions $CONDA_DIR
29+
2830

2931
# Work-around for pyproj issue https://github.com/pyproj4/pyproj/issues/415
3032
ENV PROJ_LIB=/opt/conda/share/proj

.circleci/Makefile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
IMAGE_NAME=circleci-openjdk-conda-gdal
22
SHA=$(shell git log -n1 --format=format:"%H" | cut -c 1-7)
33
VERSION?=$(SHA)
4-
HOST=docker.pkg.github.com
5-
REPO=$(HOST)/locationtech/rasterframes
4+
HOST=docker.io
5+
REPO=$(HOST)/s22s
66
FULL_NAME=$(REPO)/$(IMAGE_NAME):$(VERSION)
7-
GIT_USER?=metasim
8-
KEY?=$(HOME)/.github/repo-publish-key.txt
97

108
.DEFAULT_GOAL := help
119
help:
@@ -20,7 +18,7 @@ build: ## Build the docker image
2018
docker build . -t ${FULL_NAME}
2119

2220
login: ## Login to the docker registry
23-
cat $(KEY) | docker login $(HOST) -u $(GIT_USER) --password-stdin
21+
docker login
2422

2523
push: login ## Push docker image to registry
2624
docker push ${FULL_NAME}

.circleci/config.yml

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@ orbs:
66
executors:
77
default:
88
docker:
9-
- image: s22s/miniconda-gdal:latest
9+
- image: s22s/circleci-openjdk-conda-gdal:b8e30ee
1010
working_directory: ~/repo
1111
environment:
12-
SBT_VERSION: 1.3.8
13-
SBT_OPTS: -Xmx768m
12+
SBT_OPTS: "-Xms64m -Xmx1536m -Djava.awt.headless=true -Dsun.io.serialization.extendedDebugInfo=true"
1413
commands:
1514
setup:
1615
description: Setup for sbt build
@@ -24,8 +23,7 @@ orbs:
2423
steps:
2524
- run:
2625
name: "Compile Scala via sbt"
27-
command: |-
28-
sbt -v -batch compile test:compile it:compile
26+
command: sbt -v -batch compile test:compile it:compile
2927

3028
python:
3129
commands:
@@ -60,6 +58,7 @@ orbs:
6058
mkdir -p /tmp/core_dumps
6159
ls -lh /tmp
6260
cp core.* *.hs /tmp/core_dumps 2> /dev/null || true
61+
cp core/* /tmp/core_dumps/ 2> /dev/null || true
6362
cp -r /tmp/hsperfdata* /tmp/*.hprof /tmp/core_dumps 2> /dev/null || true
6463
when: on_fail
6564

@@ -125,24 +124,23 @@ jobs:
125124

126125
- run:
127126
name: "Scala Tests: core"
128-
command: sbt -batch core/test
127+
command: sbt -v -batch core/test
129128

130129
- run:
131130
name: "Scala Tests: datasource"
132-
command: sbt -batch datasource/test
131+
command: sbt -v -batch datasource/test
133132

134133
- run:
135134
name: "Scala Tests: experimental"
136-
command: sbt -batch experimental/test
135+
command: sbt -v -batch experimental/test
137136

138137
- run:
139138
name: "Create PyRasterFrames package"
140-
command: |-
141-
sbt -v -batch pyrasterframes/package
139+
command: sbt -v -batch pyrasterframes/package
142140

143141
- run:
144142
name: "Python Tests"
145-
command: sbt -batch pyrasterframes/test
143+
command: sbt -v -batch pyrasterframes/test
146144

147145
- rasterframes/save-artifacts
148146
- rasterframes/save-cache
@@ -249,4 +247,4 @@ workflows:
249247
- test
250248
- it
251249
- it-no-gdal
252-
- docs
250+
- docs

.circleci/fix-permissions

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
GID=3434 # circleci
6+
7+
for d in "$@"; do
8+
find "$d" \
9+
! \( \
10+
-group $GID \
11+
-a -perm -g+rwX \
12+
\) \
13+
-exec chgrp $GID {} \; \
14+
-exec chmod g+rwX {} \;
15+
# setuid,setgid *on directories only*
16+
find "$d" \
17+
\( \
18+
-type d \
19+
-a ! -perm -6000 \
20+
\) \
21+
-exec chmod +6000 {} \;
22+
done

project/RFAssemblyPlugin.scala

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,26 +52,19 @@ object RFAssemblyPlugin extends AutoPlugin {
5252
val shadePrefixes = Seq(
5353
"shapeless",
5454
"com.github.mpilquist",
55-
"cats.kernel",
5655
"com.amazonaws",
5756
"org.apache.avro",
5857
"org.apache.http",
5958
"com.google.guava",
6059
"com.google.common",
6160
"com.typesafe.config",
6261
"com.fasterxml.jackson",
63-
"io.netty"
62+
"io.netty",
63+
"spire",
64+
"cats.kernel"
6465
)
6566
shadePrefixes.map(p => ShadeRule.rename(s"$p.**" -> s"shaded.rasterframes.$p.@1").inAll)
6667
},
67-
assembly / assemblyShadeRules ++= Seq(
68-
ShadeRule.rename("cats.kernel.**" -> s"shaded.rasterframes.cats.kernel.@1")
69-
.inLibrary(RFDependenciesPlugin.autoImport.geotrellis("raster").value)
70-
.inAll,
71-
ShadeRule.rename("cats.kernel.**" -> s"shaded.spire.cats.kernel.@1")
72-
.inLibrary("org.typelevel" %% "spire" % "0.17.0")
73-
.inAll,
74-
),
7568
assembly / assemblyOption :=
7669
(assembly / assemblyOption).value.withIncludeScala(false),
7770
assembly / assemblyJarName := s"${normalizedName.value}-assembly-${version.value}.jar",

0 commit comments

Comments
 (0)