ci: run sync-info only on dev and keep i18n order stable (#332)

The Sync Plugin Info workflow ran on pushes to both `dev` and `main`
while always using the same `chore/sync-info` branch. A `dev` run
force-pushed that branch onto `dev`, so the `main` sync PR (#330)
suddenly showed the whole LDAP connector, and two bot PRs (#330, #331)
shared one branch. Separately, `sync-info.sh` iterated i18n files in
unsorted `find` order, so `zh_CN`/`en_US` could swap between runs and
produce large reorder-only diffs.

Changes:
- Trigger only on pushes to `dev` (changes reach `main` via dev); set
`base: dev` explicitly and `delete-branch: true`.
- Add a `concurrency` group so back-to-back pushes don't race on the
branch.
- Sort i18n files with `LC_ALL=C sort` so key order is deterministic
(`en_US`, then `zh_CN`, matching the current file).

Tested locally on `dev`: the regenerated `plugins_desc.json` only adds
the new LDAP and vector-search entries (+65/−0), with no reordering, and
two runs are byte-identical.

Co-authored-by: robinv8 <robinv8@users.noreply.github.com>
2 files changed
tree: dd6afabcd9f024eb062973c714ac440dee5dc106
  1. .github/
  2. .vaunt/
  3. cache-redis/
  4. captcha-basic/
  5. captcha-google-v2/
  6. cdn-aliyun/
  7. cdn-s3/
  8. connector-apache/
  9. connector-basic/
  10. connector-dingtalk/
  11. connector-github/
  12. connector-google/
  13. connector-ldap/
  14. connector-wallet/
  15. editor-chart/
  16. editor-formula/
  17. editor-stacks/
  18. embed-basic/
  19. notification-dingtalk/
  20. notification-lark/
  21. notification-slack/
  22. notification-wecom/
  23. quick-links/
  24. render-markdown-codehighlight/
  25. reviewer-akismet/
  26. reviewer-baidu/
  27. reviewer-basic/
  28. script/
  29. search-algolia/
  30. search-elasticsearch/
  31. search-meilisearch/
  32. storage-aliyunoss/
  33. storage-s3/
  34. storage-tencentyuncos/
  35. user-center-slack/
  36. user-center-wecom/
  37. util/
  38. vector-search-chromadb/
  39. vector-search-elasticsearch/
  40. vector-search-memory/
  41. vector-search-milvus/
  42. vector-search-pgvector/
  43. vector-search-qdrant/
  44. vector-search-weaviate/
  45. .asf.yaml
  46. .gitignore
  47. LICENSE
  48. licenserc.toml
  49. plugins_desc.json
  50. README.md
README.md

Apache Answer Official Plugins

Apache Answer Official Plugins are built to enhance the feature of Answer.

LICENSE Language Language Go Report Card Discord

Types of plugin

Our plugin is under development and the interface definition of the plugin can be viewed at this link.

Connector

The Connector plugin helps us to implement third-party login functionality. For example: Google or GitHub OAuth login.

Storage

The Storage plugin helps us to upload files to third-party storage. For example: Aliyun OSS or AWS S3.

Cache

Using the Cache plugin allows you to store cached data in a different location. For example: Redis or Memcached.

Search

Support using search plugin to speed up the search of question answers. For example: Elasticsearch or Meilisearch.

User Center

Using the third-party user system to manage users. For example: WeCom

Notification

The Notification plugin helps us to send messages to third-party notification systems. For example: Slack.

Sidebar

Add custom content on the sidebar navigation

Route

Support for custom routing.

Editor

Support for extending the markdown editor's toolbar.

Reviewer

Support for customizing the reviewer.

Filter (coming soon)

Render (coming soon)

Exporter (coming soon)

Importer (coming soon)

How to build the Answer with your need plugins?

Learn more about the plugin, please visit our docs.

Build Docker Image with plugins

Building the Answer docker image with plugins is easy, see here.