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

New release #8113

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ jobs:
- name: Wait
run: |
export CID=`cat ${LANGUAGE}/${FRAMEWORK}/cid-${ENGINE}.txt`
until [ "`docker inspect -f {{.State.Health.Status}} ${CID}`" = "healthy" ]; do
until [ "`docker inspect -f {{.State.Health.Status}} ${CID}`" = "healthy" ]; do
echo "Wait for container to be healthy"
sleep 1
sleep 1
done
timeout-minutes: 2
env:
Expand Down
64 changes: 46 additions & 18 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,73 @@

## Our pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of
experience, nationality, personal appearance, race, religion, or sexual identity
and orientation.

## Our standards

Examples of behavior that contributes to creating a positive environment include:
Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
- The use of sexualized language or imagery and unwelcome sexual attention or
advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic
address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
Project maintainers have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, or to ban temporarily or permanently any
contributor for other behaviors that they deem inappropriate, threatening,
offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team members. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team members. The project team will review
and investigate all complaints, and will respond in a way that it deems
appropriate to the circumstances. The project team is obligated to maintain
confidentiality with regard to the reporter of an incident. Further details of
specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 1.4, available at [http://contributor-covenant.org/version/1/4][version]

<p align="center" style="margin:25px 0 10px">
:zap:
Expand Down
23 changes: 12 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,25 @@

Contributions of any kind a :heart: accepted

+ Adding new frameworks
+ Fix some frameworks
+ Update dependencies
+ Discuss best practices
- Adding new frameworks
- Fix some frameworks
- Update dependencies
- Discuss best practices

## Adding a framework

+ All frameworks **SHOULD** follow this rules :
- All frameworks **SHOULD** follow this rules :

| HTTP | Route | Status code | Response body |
| ------ | ----------- | ----------- | --------------------- |
| `GET` | `/` | `200` | **Empty** |
| `GET` | `/user/:id` | `200` | **id** given as param |
| `POST` | `/user` | `200` | **Empty**
| `POST` | `/user` | `200` | **Empty** |

+ All framework **SHOULD** contain a `Dockerfile`
- All framework **SHOULD** contain a `Dockerfile`

+ All framework **SHOULD** be referenced in :
+ `Makefile`, a target group for the language, and a target for the framework
+ `neph.yaml`, a target group for the language, and a target for the framework
+ `benchmarker.cr`, a hash for language containing all frameworks an repository information
- All framework **SHOULD** be referenced in :
- `Makefile`, a target group for the language, and a target for the framework
- `neph.yaml`, a target group for the language, and a target for the framework
- `benchmarker.cr`, a hash for language containing all frameworks an
repository information
31 changes: 19 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,38 @@
+ `ruby`, all tools are made in `ruby`
- `ruby`, all tools are made in `ruby`

```sh
sudo dnf install ruby
```
+ `wrk`, results are collected using `wrk`

- `wrk`, results are collected using `wrk`

```sh
cd `mktemp -d` && git clone https://github.com/wg/wrk -b 4.2.0 . && make && sudo mv cp /usr/bin
cd `mktemp -d` && git clone https://github.com/wg/wrk -b 4.2.0 . && make && sudo mv cp /usr/bin
```
+ `postgresql`, results are stored in `postgresql`

- `postgresql`, results are stored in `postgresql`

```sh
sudo dn install postgresql{,-server}
```
+ `docker`, each implementation is implemented in an isolated **container**
+ `jq`, processing `docker` metadata
+ `docker-machine` if you are on `macos`

- `docker`, each implementation is implemented in an isolated **container**
- `jq`, processing `docker` metadata
- `docker-machine` if you are on `macos`

## Usage

+ Setup
- Setup

```
bundle install
bundle exec rake config
```

+ Build
- Build

:warning: On `macos`, you need to use `docker-machine` to allow `docker` usage for each framework :warning:
:warning: On `macos`, you need to use `docker-machine` to allow `docker` usage
for each framework :warning:

```
docker-machine rm default --force
Expand All @@ -36,10 +43,10 @@ eval $(docker-machine env default)
```
export FRAMEWORK=php/lumen
cd ${FRAMEWORK}
make -f .Makefile build
make -f .Makefile build
```

+ Run
- Run

```
make -f ${FRAMEWORK}/.Makefile collect
Expand Down
59 changes: 33 additions & 26 deletions clojure/luminus/resources/docs/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ This page will help guide you through the first steps of building your site.

<p class="title is-5">Why are you seeing this page?</p>

The `home-routes` handler in the `luminus.routes.home` namespace
defines the route that invokes the `home-page` function whenever an HTTP
request is made to the `/` URI using the `GET` method.
The `home-routes` handler in the `luminus.routes.home` namespace defines the
route that invokes the `home-page` function whenever an HTTP request is made to
the `/` URI using the `GET` method.

```
(defroutes home-routes
Expand All @@ -23,25 +23,27 @@ to render the HTML content:
"home.html" {:docs (-> "docs/docs.md" io/resource slurp)}))
```

The `render` function will render the `home.html` template found in the `resources/templates`
folder using a parameter map containing the `:docs` key. This key points to the
contents of the `resources/docs/docs.md` file containing these instructions.
The `render` function will render the `home.html` template found in the
`resources/templates` folder using a parameter map containing the `:docs` key.
This key points to the contents of the `resources/docs/docs.md` file containing
these instructions.

The HTML templates are written using [Selmer](https://github.com/yogthos/Selmer) templating engine.
The HTML templates are written using [Selmer](https://github.com/yogthos/Selmer)
templating engine.

```
<div class="content">
{{docs|markdown}}
</div>
```

<a class="level-item button" href="http://www.luminusweb.net/docs/html_templating.md">learn more about HTML templating »</a>


<a class="level-item button" href="http://www.luminusweb.net/docs/html_templating.md">learn
more about HTML templating »</a>

<p class="title is-5">Organizing the routes</p>

The routes are aggregated and wrapped with middleware in the `luminus.handler` namespace:
The routes are aggregated and wrapped with middleware in the `luminus.handler`
namespace:

```
(defstate app
Expand All @@ -57,30 +59,35 @@ The routes are aggregated and wrapped with middleware in the `luminus.handler` n
:title "page not found"}))))))
```

The `app` definition groups all the routes in the application into a single handler.
A default route group is added to handle the `404` case.
The `app` definition groups all the routes in the application into a single
handler. A default route group is added to handle the `404` case.

<a class="level-item button" href="http://www.luminusweb.net/docs/routes.md">learn more about routing »</a>
<a class="level-item button" href="http://www.luminusweb.net/docs/routes.md">learn
more about routing »</a>

The `home-routes` are wrapped with two middleware functions. The first enables CSRF protection.
The second takes care of serializing and deserializing various encoding formats, such as JSON.
The `home-routes` are wrapped with two middleware functions. The first enables
CSRF protection. The second takes care of serializing and deserializing various
encoding formats, such as JSON.

<p class="title is-5">Managing your middleware</p>

Request middleware functions are located under the `luminus.middleware` namespace.

This namespace is reserved for any custom middleware for the application. Some default middleware is
already defined here. The middleware is assembled in the `wrap-base` function.

Middleware used for development is placed in the `luminus.dev-middleware` namespace found in
the `env/dev/clj/` source path.

<a class="level-item button" href="http://www.luminusweb.net/docs/middleware.md">learn more about middleware »</a>
Request middleware functions are located under the `luminus.middleware`
namespace.

This namespace is reserved for any custom middleware for the application. Some
default middleware is already defined here. The middleware is assembled in the
`wrap-base` function.

Middleware used for development is placed in the `luminus.dev-middleware`
namespace found in the `env/dev/clj/` source path.

<a class="level-item button" href="http://www.luminusweb.net/docs/middleware.md">learn
more about middleware »</a>

<p class="title is-5">Need some help?</p>

Visit the [official documentation](http://www.luminusweb.net/docs) for examples
on how to accomplish common tasks with Luminus. The `#luminus` channel on the [Clojurians Slack](http://clojurians.net/) and [Google Group](https://groups.google.com/forum/#!forum/luminusweb) are both great places to seek help and discuss projects with other users.
on how to accomplish common tasks with Luminus. The `#luminus` channel on the
[Clojurians Slack](http://clojurians.net/) and
[Google Group](https://groups.google.com/forum/#!forum/luminusweb) are both
great places to seek help and discuss projects with other users.
6 changes: 2 additions & 4 deletions clojure/luminus/resources/html/about.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
{% extends "base.html" %}
{% block content %}
<img src="/img/warning_clojure.png"></img>
{% endblock %}
{% extends "base.html" %} {% block content %}
<img src="/img/warning_clojure.png"></img> {% endblock %}
69 changes: 35 additions & 34 deletions clojure/luminus/resources/html/error.html
Original file line number Diff line number Diff line change
@@ -1,49 +1,50 @@
<!DOCTYPE html>
<html>
<head>
<head>
<title>Something Bad Happened</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{% style "/assets/bulma/css/bulma.min.css" %}
<style type="text/css">
html {
height: 100%;
min-height: 100%;
min-width: 100%;
overflow: hidden;
width: 100%;
}
html body {
height: 100%;
margin: 0;
padding: 0;
width: 100%;
}
html .container-fluid {
display: table;
height: 100%;
padding: 0;
width: 100%;
}
html .row-fluid {
display: table-cell;
height: 100%;
vertical-align: middle;
}
html {
height: 100%;
min-height: 100%;
min-width: 100%;
overflow: hidden;
width: 100%;
}
html body {
height: 100%;
margin: 0;
padding: 0;
width: 100%;
}
html .container-fluid {
display: table;
height: 100%;
padding: 0;
width: 100%;
}
html .row-fluid {
display: table-cell;
height: 100%;
vertical-align: middle;
}
</style>
</head>
<body>
<div class="container is-fluid">
<div class="has-text-centered">
<h1><span class="is-size-4 has-text-danger">Error: {{status}}</span></h1>
</head>
<body>
<div class="container is-fluid">
<div class="has-text-centered">
<h1>
<span class="is-size-4 has-text-danger">Error: {{status}}</span>
</h1>
<hr>
{% if title %}
<h2 class="without-margin">{{title}}</h2>
{% endif %}
{% if message %}
{% endif %} {% if message %}
<h4 class="text-danger">{{message}}</h4>
{% endif %}
</div>
</div>
</div>
</body>
</body>
</html>
Loading
Loading