Commit Graph
32354 Commits
Author SHA1 Message Date
Jake Barnby 43f7c99039 Merge branch 'feat-mongodb' of github.com:appwrite/appwrite into feat-mongodb 2026-02-18 21:44:48 +13:00
Jake Barnby c584a72496 Update lock 2026-02-18 21:44:32 +13:00
Jake BarnbyandGitHub ce64011551 Merge branch '1.8.x' into feat-mongodb 2026-02-18 08:42:56 +00:00
Jake BarnbyandGitHub d118bb2c59 Merge pull request #11331 from appwrite/feat-schedules-endpoints
Add schedules API endpoints
2026-02-18 08:40:23 +00:00
Jake BarnbyandClaude Opus 4.6 a3503f4124 fix: revert accidentally committed working tree changes
Reverts composer.lock (database 5.3.0→5.2.1), Model.php TYPE_ID,
Document.php/Row.php $sequence type changes, and OpenAPI/Swagger
id type additions that were unintentionally included in dd1a3d82.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 20:58:54 +13:00
Prem Palanisamy bd2e788c2a Update utopia-php/database to 5.3.1 2026-02-18 07:31:37 +00:00
Jake BarnbyandClaude Opus 4.6 0d1a6e07b4 fix: use relative path for --log-junit so retry action can find JUnit XML
The retry action couldn't extract the container name from docker compose
exec commands to copy the JUnit XML. Using a relative path works because
CWD inside the container is /usr/src/code and the volume mount
./tests:/usr/src/code/tests makes the file accessible at the same
relative path on both container and host.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 20:30:48 +13:00
Chirag Aggarwal b2742ab932 glob changes 2026-02-18 12:58:39 +05:30
Chirag Aggarwal fe86578d3c try filtering examples 2026-02-18 12:39:37 +05:30
Jake BarnbyandClaude Opus 4.6 dd1a3d8222 fix: adjust testCreateIndexes index count for MongoDB maxIndexLength=1024
MongoDB's maxIndexLength (1024) allows the 512+512 index to succeed,
resulting in 5 indexes instead of 4. Use conditional count and
assertContains for position-independent key checks.

Verified: 830/830 Database tests pass locally on MongoDB with paratest.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 19:59:20 +13:00
Prem Palanisamy 63bb69dfb1 Update docs for directory change 2026-02-18 06:23:19 +00:00
Prem Palanisamy 4940239c99 Move schedules module into projects namespace 2026-02-18 06:23:19 +00:00
Prem Palanisamy c3e80296b1 coderabbit - Fix misleading resourceUpdatedAt description 2026-02-18 06:23:19 +00:00
Prem Palanisamy d6a3fd6242 Address review comments: nest in project namespace, refactor maps, remove auth skip 2026-02-18 06:23:19 +00:00
Prem Palanisamy e1c35c743c Add data field to Schedule response model and remove unused events 2026-02-18 06:23:19 +00:00
Prem Palanisamy 2c8b1fb98a Add parentheses to validator constructors in schedule Create 2026-02-18 06:23:19 +00:00
Prem Palanisamy d8987ad975 Fix schedule Create endpoint and tests 2026-02-18 06:23:19 +00:00
Prem Palanisamy 9dbd225118 Refactor schedule Create to use protected methods for extensibility 2026-02-18 06:23:19 +00:00
Prem Palanisamy 2c35b7a4b5 Fix testNoHostValidationWithDevKey: avoid external dependency on example.com 2026-02-18 06:23:19 +00:00
Prem Palanisamy 24b1a70646 Add AAA Certificate Services root cert to fix SSL verification 2026-02-18 06:23:19 +00:00
Prem Palanisamy 374b087980 Rename SchedulesCustomServerTest to SchedulesConsoleClientTest 2026-02-18 06:23:19 +00:00
Prem Palanisamy 63d2efdaac Move schedule endpoints to projects group (/v1/projects/:projectId/schedules) 2026-02-18 06:23:19 +00:00
Prem Palanisamy 3fde05e024 Add resource validation, admin scopes, and events for schedules 2026-02-18 06:23:19 +00:00
Prem Palanisamy 9b72b78338 Use Query class in schedules E2E test 2026-02-18 06:23:19 +00:00
Prem Palanisamy f57f78014e Fix query format in schedules E2E test 2026-02-18 06:23:19 +00:00
Prem Palanisamy 5c28e59a83 Add E2E tests for schedules API 2026-02-18 06:23:19 +00:00
Prem Palanisamy 0314d6cc15 Add schedules API endpoints (GET, XList, Create) 2026-02-18 06:23:19 +00:00
Jake BarnbyandClaude Opus 4.6 93bc3871df fix: MongoDB test compatibility and enable JUnit XML for paratest retry
- testCreateIndexes: conditionally check index length based on adapter's maxIndexLength (MongoDB 1024 vs SQL 768)
- testConcurrentTransactionConflicts: accept both 409 and 500 since MongoDB adapter doesn't map write conflicts to ConflictException
- testEnforceCollectionPermissions: add error body to assertion for debugging
- Enable --log-junit for paratest in both project and shared mode CI jobs so itznotabug/php-retry@v3 can identify and selectively retry failing tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 19:09:01 +13:00
Chirag Aggarwal 66cb7191c1 feat: add getPlatformsForPR and getSdksCommand overridable methods
Adds two overridable methods to Specs task:
- getPlatformsForPR(): controls which platforms are included when copying
  spec files to the repo and creating the PR (defaults to all platforms)
- getSdksCommand(): builds the CLI command for SDK example regeneration,
  allowing subclasses to customise flags like platform, sdk, and mode
2026-02-18 11:10:44 +05:30
Chirag AggarwalandGitHub 460639233b Merge pull request #11349 from appwrite/feat/specs-push-to-repo
feat: add git push and PR support to specs task
2026-02-18 10:45:07 +05:30
Jake BarnbyandClaude Opus 4.6 ca01ec7b6b fix: increase SchemaPolling default timeout to 240s for CI stability
120s was insufficient for attribute processing under parallel CI load,
causing spurious timeout failures in spatial, transaction, and attribute tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 16:28:24 +13:00
Jake BarnbyandClaude Opus 4.6 d6d12d818c fix: use getContainerIdResponseKey() instead of hardcoded $collectionId in upsert test
TablesDB uses $tableId not $collectionId in data payloads.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 16:03:46 +13:00
Jake BarnbyandClaude Opus 4.6 442a8d86d6 fix: use getRecordResource() instead of hardcoded 'documents' in testUpsertDocument
TablesDB uses 'rows' not 'documents' for the list records response key.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 15:44:41 +13:00
Jake BarnbyandClaude Opus 4.6 84c40cea41 fix: resolve testCreateAttributes, testUpsertDocument, and SchemaPolling timeouts
- Fix testCreateAttributes: use $actorsAttr instead of undefined $actors variable,
  and use $this->getSchemaResource() instead of hardcoded 'attributes' for TablesDB compat
- Fix testUpsertDocument: add missing 'data' => $upsertData in PUT request body
- Increase SchemaPolling default timeout from 60s to 120s for CI stability with
  spatial attributes under parallel load

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 15:25:45 +13:00
Jake BarnbyandClaude Opus 4.6 9796c46975 fix: misplaced assertion in testUpdateAttributeEnum and reduce timeouts
- Move maxLength/assertStringContainsString from testUpdateAttributeEnum
  back to testPatchAttribute where $attribute is defined
- Fix remaining $data['moviesId'] -> $moviesId in testCreateAttributes
- Reduce WebSocket timeout from 30s to 15s for faster failure detection
- Reduce Realtime helper assertEventually from 30s to 15s

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 15:07:05 +13:00
Jake BarnbyandClaude Opus 4.6 ae4e79518b fix: remaining testCreateAttributes undefined variable references
- Change $data['moviesId'] to $moviesId at integers2 attribute creation
- Change $data['actorsId'] to $actorsId at relationship assertion

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 14:59:25 +13:00
Jake BarnbyandClaude Opus 4.6 2c1919140f fix: resolve additional test failures from CI results
DatabasesBase:
- testCreateAttributes: use local $moviesId/$actorsId instead of $data['...']
- testValidateOperators: add missing setupOneToManyRelationship() call
- testSelectQueries: add missing setupOneToManyRelationship() call
- testUniqueIndexDuplicate: define missing $serverHeaders variable
- testListDocuments: change return type from array to void (no callers)

RealtimeConsoleClientTest:
- testAttributesCollectionsAPI: create database/collection before opening
  WebSocket to prevent their events from interfering with attribute events
- testAttributesTablesAPI: same restructuring for TablesDB variant

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 14:42:41 +13:00
Jake BarnbyandClaude Opus 4.6 acad17f3b8 fix: resolve test failures and reduce excessive timeouts
- DatabasesBase: fix 5 merge corruption issues (missing integers2 attr,
  undefined vars, wrong assertion, wrong setup method)
- WebhooksBase: increase deployment build timeout from 10s to 120s
- RealtimeBase: reduce WebSocket timeout 120s→30s, fix deprecated nullable
- RealtimeConsoleClientTest: reduce assertEventually 120s→30s
- SchemaPolling: reduce all default timeouts 600s→60s
- SitesBase: reduce build timeout 300s→120s, activation 200s→60s

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 14:23:42 +13:00
Jake BarnbyandClaude Opus 4.6 a70e94a67b fix: resolve merge corruption in tests.yml workflow
The e2e_service_test job's command block had corrupted shell syntax from
a bad merge - orphaned elif/else without matching if, and duplicate
if-elif blocks for DB adapter env vars. The set-db-env step already sets
these via GITHUB_ENV, making the inline exports redundant.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 13:41:08 +13:00
Jake Barnby ec9cb430af CI 2026-02-18 13:34:50 +13:00
Chirag Aggarwal 764f4dc563 ci: add workflow_dispatch GitHub Action for specs generation
Allows manually triggering spec generation from the Actions tab with
version selection and optional push to appwrite/specs repo.
2026-02-17 23:10:30 +05:30
Luke B. SilverandGitHub 93b542db9b Merge pull request #11346 from appwrite/perf/domain-cache
Replace per-worker hostname cache with shared Swoole Table
2026-02-17 17:33:45 +00:00
Luke B. SilverandGitHub bed3ef828b Merge branch '1.8.x' into perf/domain-cache 2026-02-17 16:59:26 +00:00
Chirag Aggarwal b9d7788d38 feat: add git push and PR support to specs task, add examples-only mode to SDKs task
- Specs task now supports --git, --message, and --branch params to push
  generated specs and SDK examples to the appwrite/specs repo and create a PR
- SDKs task now supports --mode=examples to only generate and copy examples
  without git push or releases
- Specs task invokes SDKs in examples mode to regenerate examples before
  including them in the specs PR
2026-02-17 22:01:40 +05:30
HemachandarandGitHub a1fb492292 Change CNAME for functions custom domains (#11348)
* Change CNAME for functions custom domains

* fix test
2026-02-17 22:00:26 +05:30
Jake BarnbyandClaude Opus 4.6 9e628072eb fix: resolve additional merge corruptions in test files
- DatabasesBase.php: fix array indentation for 'library' key inside 'data' array
- SitesBase.php: fix corrupted while-loop/assertEventually merge in
  activation check
- DatabasesStringTypesTest.php: remove return $data from void methods,
  convert @depends chain to use setupDatabaseAndCollection()

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 04:11:37 +13:00
HemachandarandGitHub 6850ae9be6 Add array support for DNS A records (#11343)
* Add array support for DNS A records

* feedback
2026-02-17 20:36:42 +05:30
Jake BarnbyandClaude Opus 4.6 6c29f4e285 fix: resolve merge corruptions in DatabasesBase.php from feat-db-tests merge
- Replace all hardcoded Legacy-style URLs with API-agnostic helpers
  (getContainerUrl, getSchemaUrl, getRecordUrl, getIndexUrl)
- Replace hardcoded param keys (collectionId, documentSecurity,
  relatedCollectionId, attributes) with helper methods
- Replace hardcoded response keys ($collectionId, relatedCollection)
  with getContainerIdResponseKey() and getRelatedResourceKey()
- Fix structural merge corruptions where code from different methods
  got interleaved (testCreateAttributes, testCreateIndexes,
  testGetDocumentWithQueries, testOperators, testUniqueIndexDuplicate)
- Remove orphaned code fragments and stale return statements
- Fix void methods incorrectly returning $data
- Add proper setup calls in relationship test methods
- Update composer.lock to match composer.json

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 03:55:39 +13:00
Jake Barnby 64a368ba3d Merge remote-tracking branch 'origin/feat-db-tests' into feat-mongodb
# Conflicts:
#	.github/workflows/tests.yml
#	src/Appwrite/Utopia/Response.php
#	src/Appwrite/Utopia/Response/Model/AttributeList.php
#	tests/e2e/Client.php
#	tests/e2e/Scopes/ProjectCustom.php
#	tests/e2e/Services/Databases/DatabasesBase.php
#	tests/e2e/Services/Databases/Legacy/DatabasesCustomClientTest.php
#	tests/e2e/Services/Databases/Legacy/DatabasesCustomServerTest.php
#	tests/e2e/Services/Databases/Legacy/DatabasesStringTypesTest.php
#	tests/e2e/Services/Databases/TablesDB/DatabasesBase.php
#	tests/e2e/Services/Databases/TablesDB/DatabasesCustomClientTest.php
#	tests/e2e/Services/Databases/TablesDB/DatabasesCustomServerTest.php
#	tests/e2e/Services/Databases/TablesDB/DatabasesStringTypesTest.php
#	tests/e2e/Services/Databases/Transactions/TransactionsBase.php
#	tests/e2e/Services/GraphQL/Legacy/DatabaseServerTest.php
#	tests/e2e/Services/GraphQL/TablesDB/DatabaseServerTest.php
#	tests/e2e/Services/Messaging/MessagingBase.php
#	tests/e2e/Services/Sites/SitesBase.php
#	tests/e2e/Services/Sites/SitesCustomServerTest.php
2026-02-18 03:27:23 +13:00
Luke B. SilverandGitHub 6f80419d65 Merge branch '1.8.x' into perf/domain-cache 2026-02-17 13:32:24 +00:00