-
-
Notifications
You must be signed in to change notification settings - Fork 161
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use Docker for isolated local testing
- Loading branch information
Showing
7 changed files
with
174 additions
and
61 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -69,18 +69,7 @@ We appreciate that. But before you do, please learn our basic rules: | |
|
||
## Bootstrap environment | ||
|
||
To get started with `aruba`, you just need to bootstrap the environment by | ||
running the following command. | ||
|
||
# Bootstrap environment | ||
script/bootstrap | ||
|
||
## Running tests | ||
|
||
Make sure you bootstrap the environment first. | ||
|
||
# Run the test suite | ||
script/test | ||
See [TESTING.md](TESTING.md) for details on setting up and running Aruba tests. | ||
|
||
## Installing your own gems used for development | ||
|
||
|
@@ -108,7 +97,7 @@ Now release it | |
git commit -m "Release X.Y.Z" | ||
rake release | ||
|
||
Now send a PR to https://github.com/cucumber/website adding an article about the with details of the new release and merge it - an aruba maintainer should normally allowed to merge PRs on `cucumber/website`. A copy of an old announcement can be used as basis for the new article. After this send an email with the link to the article to [email protected]. | ||
Now send a PR to https://github.com/cucumber/website adding an article about the with details of the new release and merge it - an aruba maintainer should normally allowed to merge PRs on `cucumber/website`. A copy of an old announcement can be used as basis for the new article. After this send an email with the link to the article to [email protected]. | ||
|
||
## Gaining Release Karma | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
FROM cucumber/aruba:latest | ||
|
||
USER root | ||
|
||
# Zsh (just for the sake of a handful of Cucumber scenarios) | ||
RUN apt-get update -qq && apt-get -y install zsh --no-install-recommends && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin | ||
|
||
# Python (just for the sake of a handful of Cucumber scenarios) | ||
RUN apt-get update -qq && apt-get -y install python --no-install-recommends && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin | ||
|
||
# Java (for javac - also for just a few Cucumber scenarios) | ||
RUN apt-get update -qq && apt-get -y install openjdk-7-jdk --no-install-recommends && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin | ||
|
||
# Cache needed gems - for faster test reruns | ||
ADD Gemfile Gemfile.lock aruba.gemspec /home/guest/cache/aruba/ | ||
ADD lib/aruba/version.rb /home/guest/cache/aruba/lib/aruba/version.rb | ||
RUN chown -R guest:guest /home/guest/cache | ||
USER guest | ||
|
||
# NOTE: It's best to setup your own gem mirror/server, because: | ||
# | ||
# 1. Faster gems installing (especially useful when rebuilding the Docker image) | ||
# 2. Less internet bandwidth used | ||
# 3. Lesser load on rubygems.org servers | ||
# | ||
# Info: http://guides.rubygems.org/run-your-own-gem-server/# | ||
|
||
RUN echo '---\n\ | ||
:sources:\n\ | ||
- http://172.17.0.1:8808\n\ | ||
gem: "--no-ri --no-rdoc --source http://172.17.0.1:8808"\n'\ | ||
>> /home/guest/.gemrc | ||
|
||
# Actually download | ||
RUN bash -l -c "cd cache/aruba && bundle install" | ||
|
||
|
||
WORKDIR /home/guest/aruba |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
FROM ubuntu:14.04 | ||
MAINTAINER Aruba Maintainers <[email protected]> | ||
|
||
# Packages needed to install RVM and run Bundler gem commands | ||
RUN apt-get update -qq && apt-get -y install ca-certificates curl git-core --no-install-recommends && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin | ||
|
||
# Create guest user early (before rvm) so uid:gid are 1000:000 | ||
RUN useradd -m -s /bin/bash guest | ||
|
||
# Temporarily install RVM as root - just for requirements | ||
RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 | ||
RUN curl -L get.rvm.io | bash -s stable | ||
RUN bash -l -c 'rvm requirements 2.2.1' | ||
RUN bash -l -c 'echo yes | rvm implode' | ||
|
||
# Fix locale | ||
ENV DEBIAN_FRONTEND noninteractive | ||
RUN dpkg-reconfigure locales && locale-gen en_US.UTF-8 && /usr/sbin/update-locale LANG=en_US.UTF-8 | ||
RUN echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && locale-gen | ||
ENV LC_ALL C.UTF-8 | ||
ENV LANG C.UTF-8 | ||
ENV LANGUAGE C.UTF-8 | ||
|
||
USER guest | ||
ENV HOME /home/guest | ||
WORKDIR /home/guest | ||
|
||
# Install RVM as guest | ||
RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 | ||
RUN /bin/bash -l -c "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc" | ||
RUN curl -L get.rvm.io | bash -s stable | ||
RUN /bin/bash -l -c "rvm install 2.3.0 && rvm cleanup all" | ||
RUN /bin/bash -l -c "gem install bundler --no-ri --no-rdoc" | ||
|
||
ONBUILD ENV USER guest | ||
ONBUILD WORKDIR /home/guest | ||
ONBUILD RUN /bin/bash -l -c "source /home/$USER/.rvm/scripts/rvm" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# To build the base image (official Aruba base for this), run: | ||
# | ||
# $ docker-compose build base | ||
# | ||
# To run the tests, run: | ||
# | ||
# $ docker-compose run tests | ||
# | ||
|
||
version: '2' | ||
services: | ||
base: | ||
image: 'cucumber/aruba' | ||
build: | ||
context: . | ||
dockerfile: Dockerfile.base | ||
args: &proxies | ||
http_proxy: "${http_proxy}" | ||
https_proxy: "${https_proxy}" | ||
HTTP_PROXY: "${HTTP_PROXY}" | ||
HTTPS_PROXY: "${HTTPS_PROXY}" | ||
|
||
tests: | ||
image: 'cucumber/aruba_cache' | ||
container_name: 'cucumber-aruba-1' | ||
build: | ||
context: . | ||
dockerfile: Dockerfile | ||
args: | ||
<<: *proxies | ||
working_dir: /home/guest/aruba | ||
command: bash -l -c "./script/bootstrap && ./script/test" | ||
volumes: | ||
- .:/home/guest/aruba |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,8 @@ | ||
#!/bin/sh | ||
#!/usr/bin/env bash | ||
|
||
bundle exec rake test $* | ||
if [ "$RUN_IN_DOCKER" == '1' ]; then | ||
bundle exec rake docker:run[$*] | ||
else | ||
bundle exec rake test $* | ||
echo bundle exec rake test $* | ||
fi |