mirror of
https://github.com/typesense/typesense.git
synced 2025-05-19 21:22:25 +08:00
Merge pull request #18 from wreally/circle-ci
Setup tests to run on CircleCI [WIP]
This commit is contained in:
commit
325fa95da3
32
.circleci/config.yml
Normal file
32
.circleci/config.yml
Normal file
@ -0,0 +1,32 @@
|
||||
version: 2
|
||||
jobs:
|
||||
build:
|
||||
docker:
|
||||
- image: typesense/typesense-development:latest
|
||||
environment:
|
||||
- PROJECT_DIR: /typesense
|
||||
- TYPESENSE_VERSION: $CIRCLE_BRANCH-$CIRCLE_SHA1
|
||||
working_directory: /typesense
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: generate cache key source
|
||||
command: git log --pretty=format:'%H' -n 1 -- cmake CMakeLists.txt build.sh > last-changed-git-sha-for-dependency-listing
|
||||
- restore_cache:
|
||||
keys:
|
||||
- external-Linux-cache-{{ .Branch }}-{{ checksum "last-changed-git-sha-for-dependency-listing" }}
|
||||
- external-Linux-cache-{{ .Branch }}
|
||||
- external-Linux-cache
|
||||
- run:
|
||||
name: build
|
||||
command: $PROJECT_DIR/build.sh
|
||||
- save_cache:
|
||||
key: external-Linux-cache-{{ .Branch }}-{{ checksum "last-changed-git-sha-for-dependency-listing" }}
|
||||
paths:
|
||||
- /typesense/external-Linux
|
||||
- store_artifacts:
|
||||
path: /typesense/build
|
||||
destination: build
|
||||
- run:
|
||||
name: test
|
||||
command: $PROJECT_DIR/build/typesense_test
|
@ -1,30 +1,37 @@
|
||||
FROM typesense/ubuntu-10-04-gcc:6.4.0
|
||||
# docker build --file $PROJECT_DIR/docker/development.Dockerfile --tag typesense/typesense-development:latest $PROJECT_DIR/docker
|
||||
#
|
||||
# $ docker push typesense/typesense-development:latest
|
||||
|
||||
FROM typesense/ubuntu-10.04-gcc:6.5.0
|
||||
|
||||
ENV PATH /usr/local/gcc-6.4.0/bin/:$PATH
|
||||
ENV LD_LIBRARY_PATH /usr/local/gcc-6.4.0/lib64
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y python-software-properties \
|
||||
&& add-apt-repository ppa:git-core/ppa \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y \
|
||||
zlib1g-dev \
|
||||
liblist-compare-perl \
|
||||
libidn11 \
|
||||
git
|
||||
|
||||
RUN apt-get install -y zlib1g-dev
|
||||
RUN apt-get install -y liblist-compare-perl
|
||||
|
||||
RUN curl -o /opt/cmake-3.3.2-Linux-x86_64.tar.gz -L https://cmake.org/files/v3.3/cmake-3.3.2-Linux-x86_64.tar.gz
|
||||
ADD https://cmake.org/files/v3.3/cmake-3.3.2-Linux-x86_64.tar.gz /opt/
|
||||
RUN tar -C /opt -xvzf /opt/cmake-3.3.2-Linux-x86_64.tar.gz
|
||||
RUN cp -r /opt/cmake-3.3.2-Linux-x86_64/* /usr
|
||||
|
||||
RUN apt-get install libidn11
|
||||
RUN curl -o /opt/snappy_1.1.3.orig.tar.gz -L https://launchpad.net/ubuntu/+archive/primary/+files/snappy_1.1.3.orig.tar.gz
|
||||
ADD https://launchpad.net/ubuntu/+archive/primary/+files/snappy_1.1.3.orig.tar.gz /opt/
|
||||
RUN tar -C /opt -xf /opt/snappy_1.1.3.orig.tar.gz
|
||||
RUN mkdir /opt/snappy-1.1.3/build && cd /opt/snappy-1.1.3/build && ../configure && make && make install
|
||||
|
||||
RUN curl -o /opt/openssl-1.0.2k.tar.gz -L https://openssl.org/source/openssl-1.0.2k.tar.gz
|
||||
ADD https://openssl.org/source/openssl-1.0.2k.tar.gz /opt/
|
||||
RUN tar -C /opt -xvzf /opt/openssl-1.0.2k.tar.gz
|
||||
RUN cd /opt/openssl-1.0.2k && sh ./config --prefix=/usr --openssldir=/usr zlib-dynamic
|
||||
RUN make -C /opt/openssl-1.0.2k depend
|
||||
RUN make -C /opt/openssl-1.0.2k -j4
|
||||
RUN make -C /opt/openssl-1.0.2k install
|
||||
|
||||
RUN curl -L -o /opt/curl-7.55.1.tar.bz2 https://github.com/curl/curl/releases/download/curl-7_55_1/curl-7.55.1.tar.bz2
|
||||
ADD https://github.com/curl/curl/releases/download/curl-7_55_1/curl-7.55.1.tar.bz2 /opt/
|
||||
RUN tar -C /opt -xf /opt/curl-7.55.1.tar.bz2
|
||||
RUN cd /opt/curl-7.55.1 && ./configure && make && make install
|
||||
|
||||
|
@ -1,18 +1,26 @@
|
||||
# $ docker build --file $PROJECT_DIR/docker/ubuntu-10-04-gcc.Dockerfile --tag typesense/ubuntu-10.04-gcc:latest --tag typesense/ubuntu-10.04-gcc:6.5 $PROJECT_DIR/docker
|
||||
#
|
||||
# NOTE: Default build image is bloated. Before publishing, export from a container to squash the image:
|
||||
# $ docker run -it typesense/ubuntu-10-04-gcc:6.4.0 bash -c "exit"
|
||||
# $ docker run -it typesense/ubuntu-10.04-gcc:latest bash -c "exit"
|
||||
# $ docker ps -a | grep typesense
|
||||
# $ docker export <container_id> | docker import - typesense/ubuntu-10-04-gcc:6.4.0
|
||||
# $ docker export <container_id> | docker import - typesense/ubuntu-10.04-gcc:latest
|
||||
# $ docker push typesense/ubuntu-10.04-gcc
|
||||
|
||||
FROM ubuntu:10.04
|
||||
|
||||
RUN sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y build-essential
|
||||
RUN apt-get update && apt-get install -y \
|
||||
build-essential \
|
||||
tar \
|
||||
curl \
|
||||
libmpfr-dev \
|
||||
libgmp3-dev \
|
||||
libmpc-dev \
|
||||
flex \
|
||||
bison \
|
||||
zlib1g-dev
|
||||
|
||||
RUN apt-get -y install curl tar
|
||||
RUN apt-get -y install libmpfr-dev libgmp3-dev libmpc-dev flex bison zlib1g-dev
|
||||
|
||||
RUN curl -o /opt/gcc-6.4.0.tar.gz -L http://ftp.gnu.org/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.gz
|
||||
ADD https://ftp.gnu.org/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.gz /opt/
|
||||
RUN tar -C /opt -xf /opt/gcc-6.4.0.tar.gz
|
||||
|
||||
RUN mkdir /opt/gcc-6.4.0/build && cd /opt/gcc-6.4.0/build && ../configure --disable-checking --enable-languages=c,c++ \
|
||||
|
Loading…
x
Reference in New Issue
Block a user