Commit graph

531 commits

Author SHA1 Message Date
Levi van Noort
79a4eac82f
Merge pull request #12241 from appwrite/migrate-away-from-blacksmith-based-runners
refactor: migrate to different ci runners
2026-05-08 10:19:12 +02:00
Levi van Noort
bd0e7456a7 refactor: update ci runners to use volume instead of disk 2026-05-08 09:08:42 +02:00
Levi van Noort
6a0d2d5314 chore: add bigger disks to the provisioned setup 2026-05-08 09:01:36 +02:00
Levi van Noort
b2080fb8f9 refactor: migrate to different ci runners 2026-05-07 17:07:13 +02:00
Jake Barnby
708aea2532
chore: pin github actions to sha and bump to latest
Pin every third-party action in .github/workflows/ to a full commit SHA
with a trailing version comment, and bump to the latest stable release.
Defends against tag-rewrite supply-chain attacks while keeping versions
legible.
2026-05-08 01:07:12 +12:00
Chirag Aggarwal
cccafeff0c Add nightly SARIF upload guards 2026-04-29 16:02:41 +05:30
Chirag Aggarwal
360d08f087 Preserve CI image for job retries 2026-04-29 16:01:15 +05:30
Chirag Aggarwal
d13e6d75f0 Fix Trivy SARIF categories on nightly scan 2026-04-29 15:58:59 +05:30
Chirag Aggarwal
701f557755 ci: clean up GHCR CI image after pipeline finishes
Every CI run pushes ghcr.io/<repo>/appwrite-dev:<sha> and nothing
removes it. On an active repo with many PRs the GHCR storage grows
without bound. Add a cleanup job that runs after all consumer jobs
complete (always, even if some fail) and deletes the SHA-tagged
package version via the Packages API.

Addresses Greptile feedback on appwrite/appwrite#12176.
2026-04-29 15:23:05 +05:30
Chirag Aggarwal
ec3aa2b54f ci: share docker image via GHCR instead of upload-artifact
The build job uploads the appwrite-dev image as an actions artifact
(~hundreds of MB), and 30+ E2E test jobs all pull it concurrently with
actions/download-artifact. GitHub Actions' artifact storage struggles
with that many parallel downloads and intermittently fails with
BlobNotFound or 'Artifact download failed after 5 retries'.

Push the built image to ghcr.io/<repo>/appwrite-dev:<sha> in the build
job and pull from GHCR in each test job. GHCR handles parallel image
fetches without throttling.

Mirrors appwrite-labs/cloud#3906.
2026-04-29 15:09:39 +05:30
Matej Bačo
50d86c5b5d Update ci.yml 2026-04-27 17:45:52 +02:00
Matej Bačo
a588a62277 Prepare env for cicd integration with github oauth 2026-04-25 11:57:40 +02:00
Chirag Aggarwal
a8e6b1b683
Merge pull request #11963 from appwrite/chore/http-benchmark-comparison 2026-04-23 09:48:37 +05:30
Chirag Aggarwal
3d66078fe9 Increase benchmark iterations 2026-04-22 19:46:27 +05:30
Chirag Aggarwal
9a6a597710 Address benchmark hardening review 2026-04-22 19:38:48 +05:30
Chirag Aggarwal
c15e8d0126 Harden benchmark failure guard 2026-04-22 19:30:01 +05:30
Chirag Aggarwal
7b25d778d4 Trim benchmark scenarios 2026-04-22 19:21:51 +05:30
Chirag Aggarwal
b2d24080b9 Stabilize database e2e CI retries 2026-04-22 18:08:45 +05:30
Chirag Aggarwal
d1962dbc62 Shorten local benchmark command 2026-04-22 16:45:16 +05:30
Chirag Aggarwal
0f64f54221 Harden benchmark rerun metrics 2026-04-22 15:49:27 +05:30
Chirag Aggarwal
f75a7269c9 Address benchmark review simplifications 2026-04-22 15:23:35 +05:30
Chirag Aggarwal
dfd39d3946 Tolerate benchmark cleanup failures 2026-04-22 14:25:59 +05:30
Chirag Aggarwal
7d7fcea8c0 Ensure benchmark failures fail CI 2026-04-22 14:16:12 +05:30
Chirag Aggarwal
73a77b8dcc Show benchmark throughput 2026-04-22 13:45:50 +05:30
Matej Bačo
0d27c59cb8 Merge branch '1.9.x' into feat-public-project-policies 2026-04-22 09:57:48 +02:00
Matej Bačo
efc37c68ec Merge branch '1.9.x' into feat-project-smtp-endpoints 2026-04-22 09:50:08 +02:00
Chirag Aggarwal
a98b9f2319 Handle malformed optional benchmark summaries 2026-04-22 12:06:32 +05:30
Chirag Aggarwal
3b9c604eb8 Harden benchmark comparison run 2026-04-22 09:45:51 +05:30
Chirag Aggarwal
7c486ddcef Keep benchmark comment on missing summary 2026-04-22 09:26:36 +05:30
Chirag Aggarwal
cb7f2ec693 Show top benchmark request waits 2026-04-22 09:19:26 +05:30
Chirag Aggarwal
3cc7b833db Fix k6 benchmark diagnostics 2026-04-22 09:06:54 +05:30
Chirag Aggarwal
9ca84a56c9 Switch HTTP benchmark back to k6 2026-04-22 08:51:51 +05:30
Matej Bačo
06eb550e98 Finalize tests 2026-04-21 16:56:00 +02:00
Chirag Aggarwal
196b04a39c Polish benchmark comment details 2026-04-21 17:49:50 +05:30
Chirag Aggarwal
b9d01617a4 Address benchmark review hardening 2026-04-21 17:24:26 +05:30
Chirag Aggarwal
da4dcd8505
Merge branch '1.9.x' into chore/phpstan-level-4 2026-04-21 17:08:46 +05:30
Chirag Aggarwal
63b2a1fb7f Harden benchmark baseline reporting 2026-04-21 17:07:05 +05:30
Chirag Aggarwal
30cfbb2d99 Polish benchmark reporting 2026-04-21 16:58:31 +05:30
Chirag Aggarwal
ef08d5a04c Run before benchmark with base image 2026-04-21 16:33:09 +05:30
Chirag Aggarwal
51bc3dc1d5 Migrate HTTP benchmark to PHP 2026-04-21 16:22:04 +05:30
Chirag Aggarwal
83f182b444 Address benchmark review feedback 2026-04-21 16:10:08 +05:30
Chirag Aggarwal
dcd01a8fb0 Tidy benchmark PR comment 2026-04-21 16:06:30 +05:30
Chirag Aggarwal
6aeb2d2be0 Fix benchmark before branch comparison 2026-04-21 15:51:30 +05:30
Chirag Aggarwal
2cfe40e98e Compare benchmark against base branch 2026-04-21 15:11:24 +05:30
Chirag Aggarwal
15e45df81e Address HTTP benchmark review feedback 2026-04-21 15:07:20 +05:30
Chirag Aggarwal
e4f74a3fb1 Run curated HTTP benchmark in CI 2026-04-21 14:56:33 +05:30
Matej Bačo
ba4430801d Merge branch 'feat-project-templates-api' into feat-project-smtp-endpoints 2026-04-20 14:49:04 +02:00
Jake Barnby
db3d00b1da
Merge remote-tracking branch 'origin/1.9.x' into chore-remove-shared-v1 2026-04-20 18:04:26 +12:00
Chirag Aggarwal
adb4e4ef36 ci: fix benchmark by pulling compose from GitHub raw for the latest tag
`https://appwrite.io/install/compose` now returns a 308 redirect to the
HTML install docs (`/docs/advanced/self-hosting/installation`) instead
of serving the compose file, so the Benchmark job's "Installing latest
version" step was downloading 0 bytes and `docker compose up -d` died
with "empty compose file". This has been failing the Benchmark job on
every recent PR, not just this one.

Resolve the latest release tag via the GitHub API, then fetch the
compose file and `.env` from `raw.githubusercontent.com` at that tag.
Switched both curl calls to `-fsSL` so they fail loudly on non-2xx
responses or redirect loss instead of silently writing empty files.
2026-04-19 20:34:51 +05:30
Matej Bačo
2a95cfd5a3 Final template API rework 2026-04-19 10:35:57 +02:00