Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#127 Provide instructions for verifying release #129

Merged
merged 5 commits into from Feb 27, 2018
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
106 changes: 106 additions & 0 deletions pages/release-process.md
Expand Up @@ -144,6 +144,112 @@ When the vote passes on a release candidate, follow the steps below to complete

8. Send an email to `dev@fluo.apache.org` announcing new release.

### Test a Fluo release

#### Set up your environment

Set up required for all tests:

1. Set the release version, staging repo, and path to release Maven settings:
```shell
export RC_VERSION=1.2.0
export RC_STAGING=https://repository.apache.org/content/repositories/orgapachefluo-1023/
export FLUO_MAVEN=/tmp/fluo-maven.xml
```
1. Create Maven settings
```shell
$ cat <<EOF >$FLUO_MAVEN
<settings>
<profiles>
<profile>
<id>fluoRC</id>
<repositories>
<repository>
<id>fluorc</id>
<name>fluorc</name>
<url>\${env.RC_STAGING}</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>fluorcp</id>
<name>fluorcp</name>
<url>\${env.RC_STAGING}</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>fluoRC</activeProfile>
</activeProfiles>
</settings>
EOF
```
1. If a new release candidate is made, update your staging repo.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since these instructions show using /tmp, there's no reason to suspect that the previous file will still exist against the new RC. It'd probably be better to just have them start over. That could simplify some of this, because there'd be no reason to put the filename in a variable, or to use \${env.RC_STAGING} (could use $RC_STAGING) instead... or better yet... put most of the URL in the file, and just the number in the variable.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can do that RC_STAGING will just be the number (i.e 1023)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the idea of using the staging repo number. I pushed a commit that does this.

```shell
$ export RC_STAGING=https://repository.apache.org/content/repositories/orgapachefluo-1024/
```

Set up required to run example Fluo applications

1. Clone [Uno] and fetch Fluo dependencies
```shell
git clone https://github.com/astralway/uno.git
cd uno
./bin/uno fetch fluo
```
1. Download release tarball and calculate hash
```shell
wget -P downloads/ ${RC_STAGING}/org/apache/fluo/fluo/${RC_VERSION}/fluo-${RC_VERSION}-bin.tar.gz
shasum -a 256 downloads/fluo-${RC_VERSION}-bin.tar.gz
```
1. Set `FLUO_VERSION` and `FLUO_HASH` in `conf/uno.conf`.
```shell
vim conf/uno.conf
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A sed command would be better here than vim instructions.

```
1. Set up Fluo and your shell
```shell
./bin/uno setup fluo
eval "$(./bin/uno env)"
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there more to test here, or just testing that uno can setup fluo?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is set up instructions for uno which is need to run example applications. I pushed a commit to make this more clear


### Run the integration tests of projects that use Fluo
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this section should go after the phrasecount example with uno. It's really a separate test case, and it is breaking up the uno test case with phrasecount.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reorganized it a little better. I move this before the the uno / phrasecount examples.


1. Clone the [Fluo Recipes] project:
```shell
$ git clone https://github.com/apache/fluo-recipes.git
```
1. Run the integration test
```shell
$ mvn -s $FLUO_MAVEN clean verify -Dfluo.version=$RC_VERSION
```
Below are more projects with integration tests:
* [Phrasecount] - `https://github.com/astralway/phrasecount.git`
* [Stresso] - `https://github.com/astralway/stresso.git`
* [Webindex] - `https://github.com/astralway/webindex.git`

### Run Phrasecount example application

1. Clone project
```shell
git clone https://github.com/astralway/phrasecount.git
cd phrasecount
```
1. Create sample data
```shell
mkdir data
cp README.md data/README.txt
```
1. Run phrasecount
```shell
./bin/run.sh data/
```

[Fluo Recipes]: https://github.com/apache/fluo-recipes
[Phrasecount]: https://github.com/astralway/phrasecount
[Uno]: https://github.com/astralway/uno
[Stresso]: https://github.com/astralway/stresso
[Webindex]: https://github.com/astralway/webindex
[website README]: https://github.com/apache/fluo-website/blob/master/README.md
[example-email]: https://lists.apache.org/thread.html/8b6ec5f17e277ed2d01e8df61eb1f1f42266cd30b9e114cb431c1c17@%3Cdev.fluo.apache.org%3E
[KEYS]: https://www.apache.org/dist/fluo/KEYS
Expand Down