Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/release-0.5.2' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
dipinhora committed Aug 24, 2018
2 parents 217efed + cb172f7 commit 9406465
Show file tree
Hide file tree
Showing 120 changed files with 3,281 additions and 1,688 deletions.
23 changes: 18 additions & 5 deletions .ci-dockerfiles/ci-standard/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
FROM ubuntu:16.04

ENV PONYC_VERSION 0.24.4
ENV PONY_STABLE_VERSION 0.1.4-121.d8a403e
ENV PONY_STABLE_VERSION 0.1.4
ENV OTP_VERSION 1:20.2.2
ENV ELIXIR_VERSION 1.5.2-1

RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys "D401AB61 DBE1D0A2" \
&& echo "deb http://dl.bintray.com/pony-language/ponyc-debian pony-language main" >> /etc/apt/sources.list \
&& echo "deb http://dl.bintray.com/pony-language/pony-stable-debian /" >> /etc/apt/sources.list \
RUN apt-get update \
&& apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common \
&& apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "E04F0923 B3B48BDA" \
&& add-apt-repository "deb https://dl.bintray.com/pony-language/ponylang-debian $(lsb_release -cs) main" \
&& apt-get update \
&& apt-get install -y \
build-essential \
Expand All @@ -22,6 +28,9 @@ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys "D401AB61
python \
python-dev \
python-pip \
python3 \
python3-dev \
python3-pip \
wget

# install MonHub dependencies
Expand All @@ -41,10 +50,14 @@ RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en

# python testing dependencies
# python2 testing dependencies
RUN python2 -m pip install --upgrade pip enum34 \
&& python2 -m pip install pytest==3.2.2

# python3 testing dependencies
RUN python3 -m pip install --upgrade pip enum34 \
&& python3 -m pip install pytest==3.7.1

# install go
RUN wget https://dl.google.com/go/go1.9.2.linux-amd64.tar.gz \
&& tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz
Expand Down
8 changes: 4 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: 2
jobs:
build:
docker:
- image: wallaroolabs/wallaroo-ci:2018.07.30.1
- image: wallaroolabs/wallaroo-ci:2018.08.13.1
steps:
- checkout
- run: .circleci/clone_tracker.sh
Expand All @@ -16,21 +16,21 @@ jobs:
- run: changelog-tool verify CHANGELOG.md
integration-tests:
docker:
- image: wallaroolabs/wallaroo-ci:2018.07.30.1
- image: wallaroolabs/wallaroo-ci:2018.08.13.1
steps:
- checkout
- run: .circleci/clone_tracker.sh
- run: make integration-tests debug=true
integration-tests-with-resilience:
docker:
- image: wallaroolabs/wallaroo-ci:2018.07.30.1
- image: wallaroolabs/wallaroo-ci:2018.08.13.1
steps:
- checkout
- run: .circleci/clone_tracker.sh
- run: make integration-tests-testing-correctness-tests-all resilience=on debug=true
unit-tests:
docker:
- image: wallaroolabs/wallaroo-ci:2018.07.30.1
- image: wallaroolabs/wallaroo-ci:2018.08.13.1
steps:
- checkout
- run: .circleci/clone_tracker.sh
Expand Down
6 changes: 0 additions & 6 deletions .for_maintainers/UPDATING_PONYC.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,10 @@ The following files have a reference to a specific version of Ponyc and will nee

- `.release/bootstrap.sh`: version referenced in the following variable declaration `export PONYC_VERSION=`

- `Dockerfile`: version referenced following the `ENV` declaration of `PONYC_VERSION`

- `.travis.yml`: version referenced following the `PONYC_VERSION` declaration under `env: global:`

- `.ci-dockerfiles/ci-standard/Dockerfile`: version referenced following the `ENV` declaration of `PONYC_VERSION`

- `book/getting-started/linux-setup.md`: version referenced in the `sudo apt-get -V install ponyc=` command.

## Updating the Circle CI Docker Image

After updating the `.ci-dockerfiles/ci-standard/Dockerfile`, you should follow the [README](/.ci-dockerfiles/ci-standard/README.md) to build, test and push the latest Docker image.
Expand All @@ -26,6 +22,4 @@ Once the CI Docker image has been successfully pushed, you will need to update t

The following files reference a specific Ponyc version but are tied to a specific commit in Wallaroo. Due to this, the Ponyc version should only be updated once the commit in Wallaroo that is referenced is on an updated version of Ponyc.

- `vagrant/bootstrap.sh`: version referenced in the following variable declaration `export PONYC_VERSION=`

- `demos/bootstrap.sh`: version referenced in the `apt-get install -y ...` command after `ponyc=`
50 changes: 50 additions & 0 deletions .for_maintainers/release/BINTRAY_ARTIFACTS_RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Releasing the Wallaroo source archive and Metrics UI AppImage for a release candidate or release branch

This document is aimed at members of the Wallaroo team who might be releasing the Wallaroo source archive and Metrics UI AppImage for a release candidate or release branch. It serves as a checklist that can take your through the Bintray artifacts release process step-by-step.

To learn more about our release process, see [RELEASE.md](RELEASE.md).

## Prerequisites for releasing the Bintray Artifacts

In order to release the Bintray artifacts, you absolutely must have:

* Provisioned the Wallaroo Release Vagrant box as described in [PROVISION_VAGRANT.md](PROVISION_VAGRANT.md) and ssh'ed into it.

## Releasing the Bintray Artifacts

Please note that this document was written with the assumption that you are using a clone of the `wallaroolabs/wallaroo` repo. This process will not work without modification if you try to use a fork rather than a clone of the repo. The `bintray-artifacts-release.sh` script assumes you are using the `release` branch or a release candidate branch that follows the `release-*` format.

### Pull latest changes for your branch

From within the Wallaroo Vagrant box, you'll want to run a `git pull` for the branch you plan to use to release the Wallaroo source archive and Metrics UI AppImage like so:

```bash
cd ~/wallaroo
git checkout origin/RELEASE_BRANCH
git pull
```

So if you were going to release the Bintray artifacts using `release-0.4.0`, you'd run the following:

```bash
cd ~/wallaroo
git checkout origin/release-0.4.0
git pull
```

### Releasing the Wallaroo source archive and Metrics UI AppImage

From within the Wallaroo Vagrant box run the following:

```bash
cd /users/ubuntu/wallaroo
bash .release/bintray-artifacts-release.sh RELEASE_VERSION RELEASE_COMMIT
```

So, for example, if you are releasing version `0.4.0` from commit `8a8ee28` then your command would be:

```bash
bash .release/bintray-artifacts-release.sh 0.4.0 8a8ee28
```

This will then build and upload the Wallaroo source archive and Metrics UI AppImage for the provided version and commit to Bintray. If using the `release` branch, images will be uploaded to `https://bintray.com/wallaroo-labs/wallaroolabs-rc/wallaroo` and if using a `release-*` branch, images will be uploaded to `https://bintray.com/wallaroo-labs/wallaroolabs-ftp/wallaroo`
35 changes: 2 additions & 33 deletions .for_maintainers/release/DOCKER_RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,18 @@

This document is aimed at members of the Wallaroo team who might be releasing the Wallaroo and Metrics UI Docker images for a release candidate or release branch. It serves as a checklist that can take your through the Docker image release process step-by-step.

To learn more about our release process, see [RELEASE.md].
To learn more about our release process, see [RELEASE.md](RELEASE.md).

## Prerequisites for releasing the Docker images

In order to release the Docker images, you absolutely must have:

* Vagrant installed
* Provisioned the Wallaroo Release Vagrant box as described in [PROVISION_VAGRANT.md](PROVISION_VAGRANT.md).
* Provisioned the Wallaroo Release Vagrant box as described in [PROVISION_VAGRANT.md](PROVISION_VAGRANT.md) and ssh'ed into it.

## Releasing the Docker images

Please note that this document was written with the assumption that you are using a clone of the `wallaroolabs/wallaroo` repo. This process will not work without modification if you try to use a fork rather than a clone of the repo. The `docker-release.sh` script assumes you are using the `release` branch or a release candidate branch that follows the `release-*` format.

### Start up the Wallaroo Vagrant box

From the top level `wallaroo` directory run the following:

```bash
cd .release
vagrant up
```

This command will bring up a vagrant box with Wallaroo's build and release dependencies installed and with the `wallaroo` repo cloned to `/users/ubuntu/wallaroo`.

### SSH into Wallaroo Vagrant box

From within the `.release` directory run:

```bash
vagrant ssh
```

This will `ssh` you into the running Wallaroo box.

### Pull latest changes for your branch

From within the Wallaroo Vagrant box, you'll want to run a `git pull` for the branch you plan to use to release the Wallaroo and Metrics UI Docker images like so:
Expand Down Expand Up @@ -70,12 +48,3 @@ bash .release/docker-release.sh 0.4.0 8a8ee28
```

This will then build and push the Wallaroo and Metrics UI images for the provided version and commit to Bintray. If using the `release` branch, images will be hosted under `wallaroo-labs-docker-wallaroolabs.bintray.io/release` and if using a `release-*` branch, images will be hosted under `wallaroo-labs-docker-wallaroolabs.bintray.io/dev`


### Stop the Wallaroo Vagrant Box

Once you've successfully built and pushed the Wallaroo and Metrics UI Docker images, you can stop the Wallaroo Vagrant box with the following command from within the `.release` directory on your local machine:

```bash
vagrant halt
```
35 changes: 2 additions & 33 deletions .for_maintainers/release/GITBOOK_RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,18 @@

This document is aimed at members of the Wallaroo team who might be building and pushing the Wallaroo Documentation Gitbook for a release candidate, release, or master branch. It serves as a checklist that can take your through the gitbook release process step-by-step.

To learn more about our release process, see [RELEASE.md].
To learn more about our release process, see [RELEASE.md](RELEASE.md).

## Prerequisites for building and pushing Wallaroo Documentation Gitbook

In order to build and push the Wallaroo Documentation Gitbook, you absolutely must have:

* Vagrant installed
* Provisioned the Wallaroo Release Vagrant box as described in [PROVISION_VAGRANT.md](PROVISION_VAGRANT.md).
* Provisioned the Wallaroo Release Vagrant box as described in [PROVISION_VAGRANT.md](PROVISION_VAGRANT.md) and ssh'ed into it.

## Building and pushing Wallaroo Documentation Gitbook

Please note that this document was written with the assumption that you are using a clone of the `wallaroolabs/wallaroo` repo. This process will not work without modification if you try to use a fork rather than a clone of the repo. The `github-release.sh` script assumes you are using the `release` branch, `master` branch, or a release candidate branch that follows the `release-*` format.

### Start up the Wallaroo Vagrant box

From the top level `wallaroo` directory run the following:

```bash
cd .release
vagrant up
```

This command will bring up a vagrant box with Wallaroo's build and release dependencies installed and with the `wallaroo` repo cloned to `/users/ubuntu/wallaroo`.

### SSH into Wallaroo Vagrant box

From within the `.release` directory run:

```bash
vagrant ssh
```

This will `ssh` you into the running Wallaroo box.

### Pull latest changes for your branch

From within the Wallaroo Vagrant box, you'll want to run a `git pull` for the branch you plan to use to build and release the Wallaroo Documentation Gitbook like so:
Expand Down Expand Up @@ -70,12 +48,3 @@ bash .release/gitbook-release.sh release-0.4.0 0xa0ece
```

This will then build and push the Wallaroo Documentation Gitbook to the `wallaroolabs/docs.wallaroolabs.com` Github repository.


### Stop the Wallaroo Vagrant Box

Once you've successfully built and pushed the Wallaroo Documentation Gitbook, you can stop the Wallaroo Vagrant box with the following command from within the `.release` directory on your local machine:

```bash
vagrant halt
```
2 changes: 1 addition & 1 deletion .for_maintainers/release/POST_RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This document is aimed at members of the Wallaroo team who might be completing the Wallaroo release process. It serves as a checklist that can take your through the post release process step-by-step.

To learn more about our release process, see [RELEASE.md].
To learn more about our release process, see [RELEASE.md](RELEASE.md).

## Drafting a new Github Release

Expand Down
2 changes: 1 addition & 1 deletion .for_maintainers/release/PROVISION_VAGRANT.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ in order to properly provision the Vagrant box used for the Wallaroo release pro

- **`~/.gitconfig` file:** the `.release/Vagrantfile` expects a `.gitconfig` file to exist under `~/.gitconfig` on the host, which will be shared with the Vagrant box for committing purposes.

- **Github SSH access on host:** Pushing and pulling via Git/Github will occur via ssh forwarding between the host and Vagrant box. Due to this, it is assumed that your host can access Github via ssh.
- **Github SSH access on host:** Pushing and pulling via Git/Github will occur via ssh forwarding between the host and Vagrant box. Due to this, it is assumed that your host can access Github via ssh. (see: https://help.github.com/articles/connecting-to-github-with-ssh/)

## Provision the Wallaroo Release Vagrant Box

Expand Down
19 changes: 12 additions & 7 deletions .for_maintainers/release/RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,22 @@ Prior to starting the release process, it is expected that you have successfully

Our release process features a few primary steps

* Creation of the release issue (including the checklist for what needs testing, who is testing, dates, etc)
* Creation of the release notes
* Creation of a release candidate branch
* Building and releasing the Wallaroo and Metrics UI RC Docker images on Bintray
* Building and pushing RC Documentation Gitbook
* Building and releasing RC artifacts including:
* Building and releasing the Wallaroo RC source archive and Metrics UI RC AppImage to Bintray
* Building and releasing the Wallaroo and Metrics UI RC Docker images on Bintray
* Building and pushing RC Documentation Gitbook
* Testing of the release candidate
* Promoting of a release candidate to a release
* Building and releasing the Wallaroo and Metrics UI Docker images on Bintray
* Building and pushing Documentation Gitbook
* Building and releasing artifacts including:
* Building and releasing the Wallaroo source archive and Metrics UI AppImage to Bintray
* Building and releasing the Wallaroo and Metrics UI Docker images on Bintray
* Building and pushing Documentation Gitbook
* Post release process

- Release candidate branch creation is documented in [RELEASE_CANDIDATE.md](RELEASE_CANDIDATE.md).
- Promoting a release candidate to a release is documented in [RELEASE_PROMOTION.md](RELEASE_PROMOTION.md).
- Building and releasing the Wallaroo and Metrics UI Docker images on Bintray is documented in [DOCKER_RELEASE.md](DOCKER_RELEASE.md).
- Building and pushing Documentation Gitbook is documented in [GITBOOK_RELEASE.md](GITBOOK_RELEASE.md)
- Post release process is documented in [POST_RELEASE.md](POST_RELEASE.md)
- Building and releasing RC artifacts [UPDATE_RELEASE_ARTIFACTS.md](UPDATE_RELEASE_ARTIFACTS.md).
- Post release process is documented in [POST_RELEASE.md](POST_RELEASE.md).
2 changes: 1 addition & 1 deletion .for_maintainers/release/RELEASE_CANDIDATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This document is aimed at members of the Wallaroo team who might be creating a Wallaroo release candidate. It serves as a checklist that can take your through the creation process step-by-step.

To learn more about our release process, see [RELEASE.md].
To learn more about our release process, see [RELEASE.md](RELEASE.md).

## Prerequisites for creating any release candidate

Expand Down
2 changes: 1 addition & 1 deletion .for_maintainers/release/RELEASE_PROMOTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This document is aimed at members of the Wallaroo team who might be promoting a Wallaroo release candidate to a release. It serves as a checklist that can take your through the promotion process step-by-step.

To learn more about our release process, see [RELEASE.md].
To learn more about our release process, see [RELEASE.md](RELEASE.md).

## Prerequisites for promoting any release candidate to a release

Expand Down
54 changes: 54 additions & 0 deletions .for_maintainers/release/UPDATE_RELEASE_ARTIFACTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Releasing all the Wallaroo artifacts for a release

This document is aimed at members of the Wallaroo team who might be releasing the Wallaroo artifacts release candidate or release branch. It serves as a checklist that can take your through the Wallaroo artifacts release process step-by-step.

To learn more about our release process, see [RELEASE.md](RELEASE.md).

## Prerequisites for releasing the Wallaroo Artifacts

In order to release the Wallaroo artifacts, you absolutely must have:

* Provisioned the Wallaroo Release Vagrant box as described in [PROVISION_VAGRANT.md](PROVISION_VAGRANT.md) and ssh'ed into it.

## Releasing the Wallaroo Artifacts

Please note that this document was written with the assumption that you are using a clone of the `wallaroolabs/wallaroo` repo. This process will not work without modification if you try to use a fork rather than a clone of the repo. The `update-release-artifacts.sh` script assumes you are using the `release` branch or a release candidate branch that follows the `release-*` format.

### Pull latest changes for your branch

From within the Wallaroo Vagrant box, you'll want to run a `git pull` for the branch you plan to use to release the Wallaroo source archive and Metrics UI AppImage like so:

```bash
cd ~/wallaroo
git checkout origin/RELEASE_BRANCH
git pull
```

So if you were going to release the Wallaroo artifacts using `release-0.4.0`, you'd run the following:

```bash
cd ~/wallaroo
git checkout origin/release-0.4.0
git pull
```

### Releasing the updated artifacts

From within the Wallaroo Vagrant box run the following:

```bash
cd ~/wallaroo
bash .release/update-release-artifacts.sh RELEASE_VERSION RELEASE_COMMIT
```

So, for example, if you are releasing version `0.4.0` from commit `8a8ee28` then your command would be:

```bash
bash .release/update-release-artifacts.sh 0.4.0 8a8ee28
```

This will then ensure the following are built and released:

* the Wallaroo RC/release source archive and Metrics UI RC AppImage to Bintray (documented in [DOCKER_RELEASE.md](DOCKER_RELEASE.md)).
* the Wallaroo and Metrics UI RC/release Docker images on Bintray ([BINTRAY_ARTIFACTS_RELEASE.md](BINTRAY_ARTIFACTS_RELEASE.md)).
* the RC/release Documentation Gitbook ([GITBOOK_RELEASE.md](GITBOOK_RELEASE.md)).
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
.deps/
.cache/
.cache/*
.pytest_cache/
.pytest_cache/*
__pycache__/
__pycache__/*
.DS_Store
Expand Down
Loading

0 comments on commit 9406465

Please sign in to comment.