Skip to content

Commit

Permalink
Merge pull request #38 from juanjux/feature/semantic
Browse files Browse the repository at this point in the history
Semantic
  • Loading branch information
juanjux authored Aug 9, 2018
2 parents f5706ed + 70e923c commit a9e5245
Show file tree
Hide file tree
Showing 84 changed files with 393,097 additions and 254,203 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ build
native/.gradle
native/build
native/vendor
vendor/
fixtures/*_got
20 changes: 14 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
language: go

go:
- 1.9
- '1.10'

services:
- docker

env:
- BBLFSHD_VERSION=v2.6.1

before_script:
- go get -v gopkg.in/bblfsh/sdk.v1/...
- bblfsh-sdk prepare-build .
- go get -v -t ./driver/...
- curl -L https://github.com/golang/dep/releases/download/v0.4.1/dep-linux-amd64 > $GOPATH/bin/dep
- chmod +x $GOPATH/bin/dep
- dep ensure --vendor-only
- go get ./vendor/gopkg.in/bblfsh/sdk.v2/cmd/...
- go install ./vendor/gopkg.in/bblfsh/sdk.v2/cmd/...
- docker pull bblfsh/bblfshd:$BBLFSHD_VERSION

script:
- make test integration-test
- bblfsh-sdk update --dry-run
- bblfsh-sdk build ci-build
- bblfsh-sdk test --bblfshd $BBLFSHD_VERSION ci-build

after_success:
- make push
- bblfsh-sdk push ci-build
80 changes: 80 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Prerequisites:
# dep ensure --vendor-only
# bblfsh-sdk release

#==============================
# Stage 1: Native Driver Build
#==============================
FROM openjdk:8-slim as native

# install build dependencies
RUN apt-get update && apt-get install -y make bash wget gradle


ADD native /native
WORKDIR /native

# build native driver
RUN make
RUN gradle shadowJar


#================================
# Stage 1.1: Native Driver Tests
#================================
FROM native as native_test
# run native driver tests
RUN gradle test --info --stacktrace


#=================================
# Stage 2: Go Driver Server Build
#=================================
FROM golang:1.10-alpine as driver

ENV DRIVER_REPO=github.com/bblfsh/bash-driver
ENV DRIVER_REPO_PATH=/go/src/$DRIVER_REPO

ADD vendor $DRIVER_REPO_PATH/vendor
ADD driver $DRIVER_REPO_PATH/driver

WORKDIR $DRIVER_REPO_PATH/

# build server binary
RUN go build -o /tmp/driver ./driver/main.go
# build tests
RUN go test -c -o /tmp/fixtures.test ./driver/fixtures/

#=======================
# Stage 3: Driver Build
#=======================
FROM openjdk:8-jre-alpine



LABEL maintainer="source{d}" \
bblfsh.language="bash"

WORKDIR /opt/driver

# copy static files from driver source directory
ADD ./native/src/main/sh/native.sh ./bin/native


# copy build artifacts for native driver
COPY --from=native /native/build/libs/native-jar-with-dependencies.jar ./bin/


# copy driver server binary
COPY --from=driver /tmp/driver ./bin/

# copy tests binary
COPY --from=driver /tmp/fixtures.test ./bin/
# move stuff to make tests work
RUN ln -s /opt/driver ../build
VOLUME /opt/fixtures

# copy driver manifest and static files
ADD .manifest.release.toml ./etc/manifest.toml

ENTRYPOINT ["/opt/driver/bin/driver"]
Loading

0 comments on commit a9e5245

Please sign in to comment.