Merge branch '0.8.x' of https://github.com/appwrite/appwrite into feat-upgrade-php-version

This commit is contained in:
Torsten Dittmann 2021-04-20 09:11:40 +02:00
commit d94ddf1ac5
9 changed files with 91 additions and 112 deletions

2
.env
View file

@ -25,7 +25,7 @@ _APP_INFLUXDB_PORT=8086
_APP_STATSD_HOST=telegraf
_APP_STATSD_PORT=8125
_APP_SMTP_HOST=maildev
_APP_SMTP_PORT=25
_APP_SMTP_PORT=1025
_APP_SMTP_SECURE=
_APP_SMTP_USERNAME=
_APP_SMTP_PASSWORD=

View file

@ -2,6 +2,7 @@ dist: xenial
arch:
- amd64
- arm64
os: linux
@ -10,9 +11,6 @@ language: shell
notifications:
email:
- team@appwrite.io
services:
- docker
before_install:
- curl -fsSL https://get.docker.com | sh
@ -27,6 +25,7 @@ before_install:
- docker --version
- docker buildx create --use
- chmod -R u+x ./.travis-ci
- export COMPOSE_INTERACTIVE_NO_CLI=1
install:
- docker-compose up -d

View file

@ -5,13 +5,14 @@
- Added Anonymous Login ([RFC-010](https://github.com/appwrite/rfc/blob/main/010-anonymous-login.md), #914)
- Added events for functions and executions (#971)
- Added JWT support
- Added ARM support
- Splited token & session models to become 2 different internal entities (#922)
- Added Dart 2.12 as a new Cloud Functions runtime (#989)
- Added Python 3.9 as a new Cloud Functions runtime
- Added Deno 1.8 as a new Cloud Functions runtime (#989)
- ClamAV is now disabled by default to allow lower min requirments for Appwrite (#1064)
- Added a new env var named `_APP_LOCALE` that allow to change the default `en` locale value (#1056)
- Updated all the console bottom control to be consistent. Dropped the `+` icon (#1062)
- Added runtime functions environment for Python 3.9
- Added runtime functions environment for Deno 1.8
## Bugs

View file

@ -86,7 +86,7 @@ $environments = [
'image' => 'appwrite/env-deno-1.2:1.0.0',
'build' => '/usr/src/code/docker/environments/deno-1.2',
'logo' => 'deno.png',
'supports' => [System::X86, System::PPC, System::ARM],
'supports' => [System::X86],
],
'deno-1.5' => [
'name' => 'Deno',
@ -95,7 +95,7 @@ $environments = [
'image' => 'appwrite/env-deno-1.5:1.0.0',
'build' => '/usr/src/code/docker/environments/deno-1.5',
'logo' => 'deno.png',
'supports' => [System::X86, System::PPC, System::ARM],
'supports' => [System::X86],
],
'deno-1.6' => [
'name' => 'Deno',
@ -104,7 +104,7 @@ $environments = [
'image' => 'appwrite/env-deno-1.6:1.0.0',
'build' => '/usr/src/code/docker/environments/deno-1.6',
'logo' => 'deno.png',
'supports' => [System::X86, System::PPC, System::ARM],
'supports' => [System::X86],
],
'deno-1.8' => [
'name' => 'Deno',
@ -113,7 +113,7 @@ $environments = [
'image' => 'appwrite/env-deno-1.8:1.0.0',
'build' => '/usr/src/code/docker/environments/deno-1.8',
'logo' => 'deno.png',
'supports' => [System::X86, System::PPC, System::ARM],
'supports' => [System::X86],
],
'dart-2.10' => [
'name' => 'Dart',
@ -140,7 +140,7 @@ $environments = [
'image' => 'appwrite/env-dotnet-3.1:1.0.0',
'build' => '/usr/src/code/docker/environments/dotnet-3.1',
'logo' => 'dotnet.png',
'supports' => [System::X86, System::ARM],
'supports' => [System::X86],
],
'dotnet-5.0' => [
'name' => '.NET',

View file

@ -423,7 +423,7 @@ services:
# - appwrite-uploads:/storage/uploads
influxdb:
image: influxdb:1.8-alpine
image: appwrite/influxdb:1.0.0
container_name: appwrite-influxdb
networks:
- appwrite
@ -431,7 +431,7 @@ services:
- appwrite-influxdb:/var/lib/influxdb:rw
telegraf:
image: appwrite/telegraf:1.0.0
image: appwrite/telegraf:1.1.0
container_name: appwrite-telegraf
networks:
- appwrite
@ -450,16 +450,16 @@ services:
# Webgrind - A nice UI for exploring and debugging code-level stuff
maildev: # used mainly for dev tests
image: djfarrelly/maildev
container_name: appwrite-maildev
image: appwrite/mailcatcher:1.0.0
container_name: appwrite-mailcatcher
ports:
- '9503:80'
- '9503:1080'
networks:
- appwrite
request-catcher: # used mainly for dev tests
image: smarterdm/http-request-catcher
container_name: appwrite-request-catcher
image: appwrite/requestcatcher:1.0.0
container_name: appwrite-requestcatcher
ports:
- '9504:5000'
networks:

View file

@ -43,7 +43,7 @@ echo 'Dart 2.12...'
docker buildx build --platform linux/amd64 -t appwrite/env-dart-2.12:1.0.0 ./docker/environments/dart-2.12/ --push
echo '.NET 3.1...'
docker buildx build --platform linux/amd64,linux/arm64 -t appwrite/env-dotnet-3.1:1.0.0 ./docker/environments/dotnet-3.1/ --push
docker buildx build --platform linux/amd64 -t appwrite/env-dotnet-3.1:1.0.0 ./docker/environments/dotnet-3.1/ --push
echo '.NET 5.0...'
docker buildx build --platform linux/amd64,linux/arm64 -t appwrite/env-dotnet-5.0:1.0.0 ./docker/environments/dotnet-5.0/ --push

View file

@ -0,0 +1,13 @@
# Multi Architecture Support
A list of Appwrite CPU architecture support status. We use this list to track the status of all Appwrite related Docker images and which architecture is supported by each image.
| | linux/amd64 | linux/arm64 | linux/arm/v6 | linux/arm/v7 | linux/arm64/v8 | linux/ppc64le | linux/s390x |
|---|---|---|---|---|---|---|---|
| appwrite/appwrite | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
| appwrite/mariadb | 🟢 | 🟢 | 🔴 | 🔴 | 🔴 | 🟢 | 🔴 |
| appwrite/influxdb | 🟢 | 🟢 | 🟢 | 🟢 | 🔴 | 🔴 | 🔴 |
| appwrite/telegraf | 🟢 | 🟢 | 🟢 | 🟢 | 🔴 | 🔴 | 🔴 |
| appwrite/clamav | 🟢 | 🟢 | 🟢 | 🟢 | 🔴 | 🟢 | 🟢 |
| traefik | 🟢 | 🔴 | 🟢 | 🔴 | 🟢 | 🔴 | 🔴 |
| redis | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |

View file

@ -35,7 +35,7 @@ abstract class Scope extends TestCase
{
sleep(10);
$emails = json_decode(file_get_contents('http://maildev/email'), true);
$emails = json_decode(file_get_contents('http://maildev:1080/email'), true);
if ($emails && is_array($emails)) {
return end($emails);

View file

@ -454,135 +454,101 @@ class FunctionsCustomServerTest extends Scope
public function testENVS():array
{
$functions = realpath(__DIR__ . '/../../../resources/functions');
$functionsDir = realpath(__DIR__ . '/../../../resources/functions');
$envs = require('app/config/environments.php');
/**
* Command for rebuilding code packages:
* bash tests/resources/functions/package-*.sh
*/
$envs = [
[
'language' => 'PHP',
'version' => '7.4',
'name' => 'php-7.4',
'code' => $functions.'/php.tar.gz',
'command' => 'php index.php',
'timeout' => 15,
],
[
'language' => 'PHP',
'version' => '8.0',
'name' => 'php-8.0',
'code' => $functions.'/php.tar.gz',
'command' => 'php index.php',
'timeout' => 15,
],
[
'language' => 'Python',
'version' => '3.8',
'name' => 'python-3.8',
'code' => $functions.'/python.tar.gz',
'command' => 'python main.py',
'timeout' => 15,
],
[
'language' => 'Python',
'version' => '3.9',
'name' => 'python-3.9',
'code' => $functions.'/python.tar.gz',
'command' => 'python main.py',
'timeout' => 15,
],
[
'language' => 'Node.js',
'version' => '14.5',
'name' => 'node-14.5',
'code' => $functions.'/node.tar.gz',
$functions = [
'node-14.5' => [
'code' => $functionsDir.'/node.tar.gz',
'command' => 'node index.js',
'timeout' => 15,
],
[
'language' => 'Node.js',
'version' => '15.5',
'name' => 'node-15.5',
'code' => $functions.'/node.tar.gz',
'node-15.5' => [
'code' => $functionsDir.'/node.tar.gz',
'command' => 'node index.js',
'timeout' => 15,
],
[
'language' => 'Ruby',
'version' => '2.7',
'name' => 'ruby-2.7',
'code' => $functions.'/ruby.tar.gz',
'php-7.4' => [
'code' => $functionsDir.'/php.tar.gz',
'command' => 'php index.php',
'timeout' => 15,
],
'php-8.0' => [
'code' => $functionsDir.'/php.tar.gz',
'command' => 'php index.php',
'timeout' => 15,
],
'ruby-2.7' => [
'code' => $functionsDir.'/ruby.tar.gz',
'command' => 'ruby app.rb',
'timeout' => 15,
],
[
'language' => 'Ruby',
'version' => '3.0',
'name' => 'ruby-3.0',
'code' => $functions.'/ruby.tar.gz',
'ruby-3.0' => [
'code' => $functionsDir.'/ruby.tar.gz',
'command' => 'ruby app.rb',
'timeout' => 15,
],
[
'language' => 'Deno',
'version' => '1.5',
'name' => 'deno-1.5',
'code' => $functions.'/deno.tar.gz',
'python-3.8' => [
'code' => $functionsDir.'/python.tar.gz',
'command' => 'python main.py',
'timeout' => 15,
],
'python-3.9' => [
'code' => $functionsDir.'/python.tar.gz',
'command' => 'python main.py',
'timeout' => 15,
],
'deno-1.2' => [
'code' => $functionsDir.'/deno.tar.gz',
'command' => 'deno run --allow-env index.ts',
'timeout' => 15,
],
[
'language' => 'Deno',
'version' => '1.6',
'name' => 'deno-1.6',
'code' => $functions.'/deno.tar.gz',
'deno-1.5' => [
'code' => $functionsDir.'/deno.tar.gz',
'command' => 'deno run --allow-env index.ts',
'timeout' => 15,
],
[
'language' => 'Deno',
'version' => '1.8',
'name' => 'deno-1.8',
'code' => $functions.'/deno.tar.gz',
'deno-1.6' => [
'code' => $functionsDir.'/deno.tar.gz',
'command' => 'deno run --allow-env index.ts',
'timeout' => 15,
],
[
'language' => 'Dart',
'version' => '2.10',
'name' => 'dart-2.10',
'code' => $functions.'/dart.tar.gz',
'deno-1.8' => [
'code' => $functionsDir.'/deno.tar.gz',
'command' => 'deno run --allow-env index.ts',
'timeout' => 15,
],
'dart-2.10' => [
'code' => $functionsDir.'/dart.tar.gz',
'command' => 'dart main.dart',
'timeout' => 15,
],
[
'language' => 'Dart',
'version' => '2.12',
'name' => 'dart-2.12',
'code' => $functions.'/dart.tar.gz',
'dart-2.12' => [
'code' => $functionsDir.'/dart.tar.gz',
'command' => 'dart main.dart',
'timeout' => 15,
],
[
'language' => '.NET',
'version' => '3.1',
'name' => 'dotnet-3.1',
'code' => $functions.'/dotnet-3.1.tar.gz',
'dotnet-3.1' => [
'code' => $functionsDir.'/dotnet-3.1.tar.gz',
'command' => 'dotnet dotnet.dll',
'timeout' => 15,
],
[
'language' => '.NET',
'version' => '5.0',
'name' => 'dotnet-5.0',
'code' => $functions.'/dotnet-5.0.tar.gz',
'dotnet-5.0' => [
'code' => $functionsDir.'/dotnet-5.0.tar.gz',
'command' => 'dotnet dotnet.dll',
'timeout' => 15,
],
]
];
foreach ($envs as $key => $env) {
$envs[$key] = array_merge($env, $functions[$key]);
}
sleep(count($envs) * 20);
fwrite(STDERR, ".");
@ -605,9 +571,9 @@ class FunctionsCustomServerTest extends Scope
$fileId = $file['body']['$id'] ?? '';
foreach ($envs as $key => $env) {
$language = $env['language'] ?? '';
$name = $key ?? '';
$language = $env['name'] ?? '';
$version = $env['version'] ?? '';
$name = $env['name'] ?? '';
$code = $env['code'] ?? '';
$command = $env['command'] ?? '';
$timeout = $env['timeout'] ?? 15;