-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* README rearrange * Version bump * Container build as default container task * Fix moved header
- Loading branch information
Showing
9 changed files
with
190 additions
and
125 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 |
---|---|---|
@@ -1,3 +1,3 @@ | ||
FAABRIC_VERSION=0.1.1 | ||
FAABRIC_CLI_IMAGE=faasm/faabric:0.1.1 | ||
FAABRIC_VERSION=0.1.2 | ||
FAABRIC_CLI_IMAGE=faasm/faabric:0.1.2 | ||
COMPOSE_PROJECT_NAME=faabric-dev |
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,122 +1,17 @@ | ||
# Faabric [![Faabric tests](https://github.com/faasm/faabric/workflows/Tests/badge.svg?branch=master)](https://github.com/faasm/faabric/actions) [![License](https://img.shields.io/github/license/faasm/faabric.svg)](https://github.com/faasm/faabric/blob/master/LICENSE.md) | ||
# Faabric [![Faabric tests](https://github.com/faasm/faabric/workflows/Tests/badge.svg?branch=master)](https://github.com/faasm/faabric/actions) [![License](https://img.shields.io/github/license/faasm/faabric.svg)](https://github.com/faasm/faabric/blob/master/LICENSE.md) | ||
|
||
Faabric is a messaging and state layer for serverless applications. | ||
Faabric is a library that provides scheduling, messaging and state for | ||
distributed serverless runtimes. | ||
|
||
## Building and Development | ||
It began life as part of [Faasm](https://github.com/faasm/faasm), but is now a | ||
stand-alone library that can be used as a base for other distributed runtimes. | ||
|
||
You can build Faabric natively or using the containerised environment. | ||
## Usage | ||
|
||
### Containerised (recommended) | ||
You can see a simple example in the [examples](examples) directory. | ||
|
||
Run the following: | ||
## Development | ||
|
||
```bash | ||
./bin/cli.sh | ||
``` | ||
See the [development docs](docs/development.md) for more information on | ||
developing Faabric. | ||
|
||
This container has everything you need, and the script will also mount your | ||
current checkout of the code. This means you can just run the following: | ||
|
||
```bash | ||
# Set up the build | ||
inv dev.cmake | ||
|
||
# Build the tests | ||
inv dev.cc faabric_tests | ||
|
||
# Run the tests | ||
faabric_tests | ||
``` | ||
|
||
To stop the `faabric`-related containers run: | ||
```bash | ||
docker-compose down | ||
``` | ||
|
||
### Native | ||
|
||
Most external dependencies are installed through CMake in | ||
[cmake/ExternalProjects.cmake](./cmake/ExternalProjects.cmake). | ||
The remaining installed packages can be inspected in the [`faabric-base`]( | ||
./docker/faabric-base.dockerfile) dockerfile. | ||
|
||
Use of Clang and Ninja is recommended. From the root of this project you can | ||
run: | ||
|
||
```bash | ||
mkdir build | ||
cd build | ||
|
||
cmake \ | ||
-GNinja \ | ||
-DCMAKE_C_COMPILER=clang \ | ||
-DCMAKE_CXX_COMPILER=clang++ \ | ||
-DCMAKE_BUILD_TYPE=Release \ | ||
.. | ||
|
||
ninja | ||
``` | ||
|
||
You can also run the CLI with: | ||
|
||
```bash | ||
# Set up env | ||
export FAABRIC_BUILD_DIR=<some dir> | ||
source bin/workon.sh | ||
|
||
# Install requirements | ||
pip install -r requirements.txt | ||
|
||
# Build Faabric | ||
inv dev.cc faabric | ||
``` | ||
|
||
## Releasing | ||
|
||
Create a new branch, then find and replace the current version with the relevant | ||
bumped version. Currently it's held in `VERSION`, `.env`, | ||
`mpi-native/mpi-native.env` and the Github Actions configuration. | ||
|
||
Once done, commit and push, then run: | ||
|
||
```bash | ||
source bin/workon.sh | ||
inv git.tag | ||
``` | ||
|
||
This will trigger the release build in Github Actions which will build all the | ||
containers. Once that's complete, create a PR from your branch and make sure the | ||
tests pass as normal. | ||
|
||
If you want to overwrite a tag, you can run: | ||
|
||
```bash | ||
inv git.tag --force | ||
``` | ||
|
||
### Building images manually | ||
|
||
Containers are built with Github Actions, so you should only need to build them | ||
yourself when diagnosing issues. | ||
|
||
To build the main container, run: | ||
|
||
```bash | ||
source bin/workon.sh | ||
|
||
# Build | ||
inv container.build | ||
|
||
# Push | ||
inv container.push | ||
|
||
# Build and push | ||
inv container.build --push | ||
``` | ||
|
||
## Additional documentation | ||
|
||
More detail on some key features and implementations can be found below: | ||
|
||
- [Native MPI builds](docs/mpi_native.md) - run native applications against | ||
Faabric's MPI library. |
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 +1 @@ | ||
0.1.1 | ||
0.1.2 |
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
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
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