• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

decentraland / builder-server
72%
master: 72%

Build:
Build:
LAST BUILD BRANCH: 5.21.0
DEFAULT BRANCH: master
Repo Added 22 Sep 2021 06:51PM UTC
Token cczSCRT2GDczUah4EMMQqfm6DhsxMlbIz regen
Build 2273 Last
Files 192
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH 5.21.0
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • 5.19.2
  • 5.19.3
  • 5.19.4
  • 5.20.0
  • 5.20.1
  • 5.21.0
  • add/realm-name-about
  • chore/add-documentation
  • chore/change-node-version
  • chore/decrease-default-value-of-max-video-size
  • chore/docs
  • chore/enable-coverall
  • chore/expose-with-cloudflare
  • chore/extract-and-refactor-collection-exceptions
  • chore/faster-tests
  • chore/fix-docs-action
  • chore/log-peer-api-response-times
  • chore/merge
  • chore/merge-master
  • chore/prettier-issue
  • chore/reafactor-collection-errors
  • chore/remove-assset-pack-uploading
  • chore/remove-collection-factory-version-env
  • chore/remove-legacy-emotes-support
  • chore/rollback-dockerfile
  • chore/trigger-deploy
  • chore/trigger-deployment
  • chore/trigger-docs-deployment
  • chore/unnecessary-omit
  • chore/update-dockerfile
  • chore/update-node-24
  • chore/update-node-to-24
  • chore/update-readme
  • chore/update-test-names
  • chore/upgrade-common-schemas
  • chore/upgrade-docker-image
  • dependabot/npm_and_yarn/ansi-regex-4.1.1
  • dependabot/npm_and_yarn/babel/traverse-7.23.2
  • dependabot/npm_and_yarn/braces-3.0.3
  • dependabot/npm_and_yarn/cookiejar-2.1.4
  • dependabot/npm_and_yarn/dot-ci/minimatch-3.1.2
  • dependabot/npm_and_yarn/dot-ci/minimist-1.2.6
  • dependabot/npm_and_yarn/dot-ci/minimist-1.2.8
  • dependabot/npm_and_yarn/dot-ci/protobufjs-6.11.3
  • dependabot/npm_and_yarn/dot-ci/semver-5.7.2
  • dependabot/npm_and_yarn/dot-ci/xml2js-and-aws-sdk-0.5.0
  • dependabot/npm_and_yarn/express-4.17.3
  • dependabot/npm_and_yarn/express-4.19.2
  • dependabot/npm_and_yarn/glob-parent-5.1.2
  • dependabot/npm_and_yarn/grpc/grpc-js-and-pulumi/pulumi-1.7.1
  • dependabot/npm_and_yarn/hosted-git-info-2.8.9
  • dependabot/npm_and_yarn/http-cache-semantics-4.1.1
  • dependabot/npm_and_yarn/json5-2.2.3
  • dependabot/npm_and_yarn/minimatch-3.1.2
  • dependabot/npm_and_yarn/minimist-1.2.6
  • dependabot/npm_and_yarn/minimist-1.2.8
  • dependabot/npm_and_yarn/node-fetch-and-isomorphic-fetch-2.6.7
  • dependabot/npm_and_yarn/normalize-url-4.5.1
  • dependabot/npm_and_yarn/path-parse-1.0.7
  • dependabot/npm_and_yarn/protobufjs-6.11.3
  • dependabot/npm_and_yarn/protobufjs-6.11.4
  • dependabot/npm_and_yarn/qs-6.11.0
  • dependabot/npm_and_yarn/shell-quote-1.7.3
  • dependabot/npm_and_yarn/simple-get-2.8.2
  • dependabot/npm_and_yarn/tar-4.4.19
  • dependabot/npm_and_yarn/xml2js-0.5.0
  • feat/about-endpoint
  • feat/accept-new-rarity
  • feat/add-allow-filtering-by-third-party-collections
  • feat/add-block-vrm-export
  • feat/add-cache-headers-tag-addresses-endpoint
  • feat/add-cache-headers-tag-endpoint
  • feat/add-catalyst-content-hash
  • feat/add-collections-sorting
  • feat/add-content-hash
  • feat/add-dcl-crypto
  • feat/add-error-logging-to-forum-post
  • feat/add-get-third-party-endpoint
  • feat/add-granular-cors
  • feat/add-is-mapping-complete-to-item
  • feat/add-issue-template
  • feat/add-item-utility
  • feat/add-mapping-completion-in-curations
  • feat/add-mapping-filters-to-items
  • feat/add-missing-newsletter-source
  • feat/add-more-data-to-terms-of-services
  • feat/add-outline-support
  • feat/add-polygon-amoy-support
  • feat/add-programmatic-property
  • feat/add-props-metric
  • feat/add-qeury-params-collections
  • feat/add-release-job
  • feat/add-retries-on-migration
  • feat/add-search-item-by-name
  • feat/add-sepolia-support
  • feat/add-skin-category
  • feat/add-social-emotes
  • feat/add-support-for-deleting-tpw-items
  • feat/add-support-for-mappings
  • feat/add-text-patter-to-item-name-and-description
  • feat/add-tiers-endpoint
  • feat/add-urn-to-collection-and-item
  • feat/add-virtual-third-parties
  • feat/address-collections-status-filter
  • feat/allow-list-of-cors-origins
  • feat/analytics-sdk7
  • feat/approval-data-all-items
  • feat/approve-endpoint
  • feat/better-content-filtering
  • feat/bigger-files
  • feat/change-deployment
  • feat/change-local-hash
  • feat/change-node-version
  • feat/check-for-duplicated-urn-suffixes
  • feat/check-publish-blockchain-first
  • feat/check-publish-signed-address
  • feat/check-signer
  • feat/cheque-signature-column
  • feat/collection-curation-assignee
  • feat/collection-items-synced-parameter
  • feat/compute-hash-on-item-upsert
  • feat/create-slot-cheques
  • feat/create-templates-endpoint
  • feat/curation-list
  • feat/delete-and-get-endpoints-for-newsletter
  • feat/deletion-of-tpc
  • feat/different-client-for-addresses
  • feat/distinct-on-item-curations
  • feat/emote-entity-type
  • feat/emotes
  • feat/emotes-metrics
  • feat/enable-rarities-w-oracle-stg
  • feat/enable-rarities-with-oracle-dev
  • feat/enable-rarities-with-oracle-prd-stg
  • feat/endpoint-improvements
  • feat/enforce-item-schema-validation
  • feat/fetch-third-party
  • feat/filter-collections-by-type
  • feat/filter-third-party-id-response
  • feat/filter_published_collections
  • feat/fix-vuln
  • feat/fuzzy-search
  • feat/get-collection-addresses-by-item-tag
  • feat/goerli-for-dev
  • feat/handle-smart-wearables
  • feat/hash-migration-script
  • feat/improve-wearables-approval-flow
  • feat/increase-sign-expiration
  • feat/ipfs-on-server
  • feat/is-approved
  • feat/is-published-item-id
  • feat/is-tpw-manager
  • feat/item-curation
  • feat/item-curation-content-hash
  • feat/item-service-upsert
  • feat/items-pagination
  • feat/items-per-address-filter
  • feat/link-collections
  • feat/makes-templates-endpoint-sortable
  • feat/migrate-old-emote-data
  • feat/move-items-to-another-collection
  • feat/new-assignee-forum-post
  • feat/new-curation-iterations
  • feat/new-hashes
  • feat/newsletter
  • feat/only-allow-one-default-cache-update-at-the-time
  • feat/only-approved-third-parties
  • feat/open-sea-proxy
  • feat/opensea-v2
  • feat/opensea-v2-url
  • feat/paginate-collections-endpoint
  • feat/peer-fetch-emotes
  • feat/preview-endpoint
  • feat/publish-rollback
  • feat/put-by-urn
  • feat/queyr-by-contract-address
  • feat/rarity-endpoints-in-mana-converted
  • feat/redeploy
  • feat/redirect-head-content
  • feat/remote-emotes-ff
  • feat/remove-matic-vigil-rpc
  • feat/remove-programmatic-fragment-restriction
  • feat/remove-rarities-with-oracle-ff
  • feat/remove-tpw-managers-env
  • feat/removes-hiding-default
  • feat/replace-network-mapping
  • feat/reset-items-script
  • feat/return-curation-item-upsert
  • feat/return-full-updated-item-after-upsert
  • feat/return-item-count-on-collection-upsert
  • feat/return-item-curations
  • feat/return-merkle-root-on-approval-data-request
  • feat/return-third-party-contracts
  • feat/revert-allowance-of-new-urns
  • feat/save-crdt
  • feat/scene-required-permissions
  • feat/schemas-bump
  • feat/sdk7
  • feat/set-content-hash-script
  • feat/set-programmatic-on-third-party
  • feat/simplify-approval-data
  • feat/spring-bones-metadata
  • feat/stop-serving-js
  • feat/store-sw-video-preview
  • feat/store-third-party-id
  • feat/support-emotes-in-local-content-hash
  • feat/support-fuzzy-search-collections
  • feat/tags-validation
  • feat/templates-manifest
  • feat/third-party-review
  • feat/tp-approval-data
  • feat/tp-available-slots-endpoint
  • feat/tp-is-publish-computation
  • feat/tp-publish
  • feat/tpw-is-published
  • feat/tpw-item-upsert-support
  • feat/trigger-deploy
  • feat/updagrable-collections-prod
  • feat/update-codehash
  • feat/update-codehash-matic
  • feat/update-common-schema-hands
  • feat/update-item-content-endpoint
  • feat/update-item-curation-on-item-edit
  • feat/update-max-video-file-size
  • feat/update-nft-endpoints
  • feat/update-node-version
  • feat/update-project-model
  • feat/update_collections_schema
  • feat/upgrade_dcl_crypto_lib
  • feat/upload-assets-web-editor
  • feat/upsert-items-with-own-date
  • feat/upsert-third-party-collection-checks
  • feat/urn-duplication-check
  • feat/use-asset-packs
  • feat/use-ecr-registry
  • feat/validate-through-middleware
  • feat/verify-signature-logs
  • feat/virtual-collection-curation
  • fix/add-is-programmatic-only-when-on-dev
  • fix/add-prod-tpr-graph
  • fix/address-items-ep
  • fix/allow-land-coords-with-0
  • fix/allow-null-urns
  • fix/allow-posting-tp-collections-to-forum-after-publishing
  • fix/allow-tp-approval-flow-without-cheque
  • fix/approval-data-auth
  • fix/asset-packs-insert
  • fix/asset-packs-router
  • fix/assignee-committee-check
  • fix/broken-images-in-forum-post
  • fix/build-item-metadata
  • fix/build-thrid-party-collection-urn
  • fix/builder-canonical-signer-validation
  • fix/builder-server-preview
  • fix/calculate-sw-contents-hash
  • fix/catch-errors-when-uploading-files
  • fix/catch-wrong-uuids
  • fix/change-tp-content-hash-adr-62
  • fix/check-migration-time
  • fix/check-tp-available-slots
  • fix/collection-creation
  • fix/collection-isPublishedQuery
  • fix/collection-tests
  • fix/collections-collabs
  • fix/collections-filter-query
  • fix/contract-addresses-null
  • fix/creator-from-graph
  • fix/creatorship-change
  • fix/crypto-middleware-6
  • fix/curation-alias
  • fix/curation-patch-assignee
  • fix/curation-showing-unpublished-items
  • fix/curators-tab-loading-time
  • fix/dcl-item-url-upsert
  • fix/dcl-repeated-items
  • fix/default-asset-packs-cache-to-one-day
  • fix/dont-throw-on-multer-error
  • fix/duplicated-collections-filtering-by-tag
  • fix/emote-category-hash
  • fix/emote-metrics-hash
  • fix/fetch-templates
  • fix/fetch-wearables-by-pointers
  • fix/filter-approved-collections
  • fix/find-third-party-ids-query
  • fix/fix-upsert-to-pool
  • fix/forum-post-put
  • fix/forum-post-wrong-id
  • fix/get-collecitons
  • fix/hash-computation
  • fix/increase-collection-name-length
  • fix/increase-instances-count
  • fix/is-mapping-complete
  • fix/item-endpoint
  • fix/item-isowned-check
  • fix/item-update
  • fix/item-urn-suffix-must-be-unique
  • fix/itemCurationEndpoint
  • fix/items-by-address-no-tp-manager
  • fix/items-consolidation-without-urn
  • fix/items-pending-query
  • fix/layout
  • fix/limit-utility-to-64-chars
  • fix/looped-emotes
  • fix/lowercase-address-and-return-completion-on-creation
  • fix/managers-upserting-items
  • fix/mapping-collection-completion
  • fix/migrations
  • fix/migrations-oom-transpile-only
  • fix/modify-unique-constraint-linked-contract-address-network
  • fix/move-items-to-published-collections
  • fix/node24-heap-limit
  • fix/old-emotes-data
  • fix/open-sea-api-owner-null
  • fix/order-by-ambiguos
  • fix/order-by-null
  • fix/prevent-cheques-with-wrong-quantity
  • fix/pride-elements
  • fix/readme
  • fix/redeploy
  • fix/remove-create-extesion-from-migration
  • fix/remove-emojis-from-title
  • fix/remove-isApproved-tps
  • fix/remove-old-infra
  • fix/remove-trgm-migration
  • fix/remove-unpin-from-ipfs
  • fix/remove-unused-endpoint
  • fix/remove-utm_campaign-field-for-subscriptions
  • fix/return-owner-on-tp-create
  • fix/sanitize-item-directory-and-empty-content
  • fix/save-locked-items
  • fix/scene-required-permissions
  • fix/schema-sdk7
  • fix/search-collections
  • fix/search-collections-case-insenstively
  • fix/show-collection
  • fix/show-collections-managers
  • fix/show-collections-minters
  • fix/show-items
  • fix/signature-validation
  • fix/simplify-curation-access
  • fix/skipped-test
  • fix/slots-count
  • fix/spring-bones-metadata
  • fix/third-parties-endpoint-without-manager
  • fix/third-party-queries
  • fix/thumbnail-cors-error
  • fix/tp-approval-data
  • fix/tp-collections-status
  • fix/tp-manager-check
  • fix/tp-publish-forum-link
  • fix/tps-not-showing
  • fix/tpw-collection-upsert-manager-check
  • fix/trigger-deploy
  • fix/trigger-deployment
  • fix/trigger-redeployment
  • fix/unordered-published-collections
  • fix/update-deps-remove-unused-code
  • fix/update-model-file
  • fix/update-sw-video-field
  • fix/update-tp-curation
  • fix/upload-local-race-condition
  • fix/upsert-broken-wearable-representations
  • fix/use-json-instead-of-jsonb
  • fix/use-older-hash-for-standard-items
  • fix/use-platform-crypto-middleware
  • fix/user-cannot-upsert-item
  • fix/verify-sign-api-version
  • fix/verify-sign-api-version-missing
  • hardening/third-party-manager-resolution
  • master
  • menduz-patch-1
  • redeploy
  • refactor/enhance-post-after-publishing-tp-collections
  • refactor/item-router-tests
  • refactor/move-extra-util
  • refactor/parallelize-script
  • refactor/reset-script
  • refs/heads/feat/bigger-files
  • refs/pull/684/merge
  • refs/pull/690/merge
  • refs/pull/691/merge
  • refs/pull/692/merge
  • refs/pull/693/merge
  • refs/pull/694/merge
  • refs/pull/695/merge
  • refs/pull/696/merge
  • refs/pull/697/merge
  • refs/pull/699/merge
  • refs/pull/700/merge
  • refs/pull/701/merge
  • refs/pull/704/merge
  • refs/pull/705/merge
  • refs/pull/706/merge
  • refs/pull/707/merge
  • refs/pull/708/merge
  • refs/pull/710/merge
  • refs/pull/711/merge
  • refs/pull/712/merge
  • refs/pull/713/merge
  • refs/pull/716/merge
  • refs/pull/717/merge
  • refs/tags/2.10.1
  • refs/tags/2.11.0
  • refs/tags/3.0.0
  • refs/tags/4.0.0
  • refs/tags/4.1.0
  • refs/tags/4.10.0
  • refs/tags/4.10.1
  • refs/tags/4.10.2
  • refs/tags/4.10.3
  • refs/tags/4.11.0
  • refs/tags/4.11.1
  • refs/tags/4.12.0
  • refs/tags/4.12.1
  • refs/tags/4.12.2
  • refs/tags/4.12.3
  • refs/tags/4.12.4
  • refs/tags/4.12.5
  • refs/tags/4.12.6
  • refs/tags/4.13.0
  • refs/tags/4.14.0
  • refs/tags/4.15.0
  • refs/tags/4.16.0
  • refs/tags/4.17.0
  • refs/tags/4.17.1
  • refs/tags/4.17.2
  • refs/tags/4.17.3
  • refs/tags/4.17.4
  • refs/tags/4.17.5
  • refs/tags/4.2.0
  • refs/tags/4.2.1
  • refs/tags/4.2.2
  • refs/tags/4.3.0
  • refs/tags/4.4.0
  • refs/tags/4.5.0
  • refs/tags/4.5.1
  • refs/tags/4.6.0
  • refs/tags/4.7.0
  • refs/tags/4.8.0
  • refs/tags/4.8.1
  • refs/tags/4.8.2
  • refs/tags/4.9.0
  • refs/tags/4.9.1
  • refs/tags/5.0.0
  • refs/tags/5.0.1
  • refs/tags/5.0.2
  • refs/tags/5.1.0
  • refs/tags/5.10
  • refs/tags/5.10.0
  • refs/tags/5.11.0
  • refs/tags/5.12.0
  • refs/tags/5.12.1
  • refs/tags/5.13.0
  • refs/tags/5.14.0
  • refs/tags/5.14.1
  • refs/tags/5.14.2
  • refs/tags/5.15.0
  • refs/tags/5.15.1
  • refs/tags/5.16.0
  • refs/tags/5.17.0
  • refs/tags/5.18.0
  • refs/tags/5.19.0
  • refs/tags/5.19.1
  • refs/tags/5.2.0
  • refs/tags/5.3.0
  • refs/tags/5.4.0
  • refs/tags/5.4.1
  • refs/tags/5.5.0
  • refs/tags/5.6.0
  • refs/tags/5.7.0
  • refs/tags/5.8.0
  • refs/tags/5.8.1
  • refs/tags/5.8.2
  • refs/tags/5.8.3
  • refs/tags/5.8.4
  • refs/tags/5.8.5
  • refs/tags/5.9.0
  • refs/tags/5.9.1
  • release
  • revert-600-fix/thumbnail-cors-error
  • revert-741-feat/add-granular-cors
  • revert-742-revert-741-feat/add-granular-cors
  • revert/collections-endpoint
  • security/pin-github-actions-sha
  • staging

02 Sep 2026 03:37PM UTC coverage: 72.428% (+0.1%) from 72.294%
33655803817

push

github

web-flow
fix: harden third-party manager resolution and read scoping (#811)

* fix: harden third-party manager resolution and read scoping

Resolve third-party managers virtual-first: while a virtual (draft) record
exists, its managers are authoritative; the indexed on-chain record governs
only once it is the sole record.

- Scope GET /thirdParties to the authenticated wallet instead of a
  client-supplied manager filter.
- Require authentication and manager membership for reads of virtual
  (unpublished) records on GET /thirdParties/:id; keep indexed records public.
- Route the collection create/upsert manager check through the shared
  resolution.
- Match manager addresses case-insensitively across resolution, reads and
  reconciliation via a shared hasManager helper and a case-insensitive
  findByManager query.
- Add unit tests and a ManagerContinuity integration spec covering the
  end-to-end resolution.

* fix: prioritize approved on-chain managers and fail closed on lookup errors

Address review feedback on the third-party manager resolution hardening:

- Prioritize the approved on-chain (indexed) managers over the virtual ones.
  Virtual managers are authoritative only while the third party is still a
  draft, i.e. the indexed record is not yet approved (empty root); a rooted
  on-chain record governs regardless of any lingering virtual record.
- Fail closed in the collection create/upsert path: only create a virtual
  third party after a confirmed NonExistentThirdPartyError, and rethrow
  transient lookup errors so a graph/API failure can no longer create a
  caller-owned record.
- Return 404 instead of 401 when a virtual record is requested by a
  non-manager on GET /thirdParties/:id, so the response is indistinguishable
  from a genuine miss.
- Drop the standalone ManagerContinuity integration spec; its scenarios are
  covered by the collection router tests and the manager-resolution unit
  tests.

* fix: require authentication on GET /thirdParties/:... (continued)

1476 of 2252 branches covered (65.54%)

Branch coverage included in aggregate %.

33 of 38 new or added lines in 5 files covered. (86.84%)

1 existing line in 1 file now uncovered.

3360 of 4425 relevant lines covered (75.93%)

49.79 hits per line

Relevant lines Covered
Build:
Build:
4425 RELEVANT LINES 3360 COVERED LINES
49.79 HITS PER LINE
Source Files on master
  • Tree
  • List 192
  • Changed 108
  • Source Changed 5
  • Coverage Changed 108
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
33655803817 5.21.0 fix: harden third-party manager resolution and read scoping (#811) * fix: harden third-party manager resolution and read scoping Resolve third-party managers virtual-first: while a virtual (draft) record exists, its managers are authoritative; t... push 02 Sep 2026 04:36PM UTC web-flow github
72.43
33649736915 master fix: harden third-party manager resolution and read scoping (#811) * fix: harden third-party manager resolution and read scoping Resolve third-party managers virtual-first: while a virtual (draft) record exists, its managers are authoritative; t... push 02 Sep 2026 03:38PM UTC web-flow github
72.43
33645238428 hardening/third-party-manager-resolution fix: gate on-chain manager precedence on isApproved instead of root Use the third party's isApproved flag as the signal for when the indexed on-chain managers take precedence over the virtual ones, rather than the presence of a root. isApproved i... Pull #811 02 Sep 2026 02:57PM UTC cyaiox github
72.43
33644299866 hardening/third-party-manager-resolution fix: require authentication on GET /thirdParties/:id and simplify resolution - Require authentication on GET /thirdParties/:id (strict), removing the unauthenticated surface. Unpublished records return 404 to non-managers; indexed records are... Pull #811 02 Sep 2026 02:48PM UTC cyaiox github
72.43
33642596023 hardening/third-party-manager-resolution fix: prioritize approved on-chain managers and fail closed on lookup errors Address review feedback on the third-party manager resolution hardening: - Prioritize the approved on-chain (indexed) managers over the virtual ones. Virtual managers ... Pull #811 02 Sep 2026 02:32PM UTC cyaiox github
72.39
33639961407 hardening/third-party-manager-resolution fix: harden third-party manager resolution and read scoping Resolve third-party managers virtual-first: while a virtual (draft) record exists, its managers are authoritative; the indexed on-chain record governs only once it is the sole record. -... Pull #811 02 Sep 2026 02:08PM UTC cyaiox github
72.41
33617014485 master Harden collection and item write endpoints: ignore server-managed fields, validate input push 02 Sep 2026 10:00AM UTC cyaiox github
72.29
33517173190 master feat: support status filter on GET /:address/collections (#810) push 01 Sep 2026 02:05PM UTC web-flow github
72.29
33516412194 feat/address-collections-status-filter fix: address decentraland-bot review findings - Add test asserting status=pending maps to non-approved remote ids, covering the remaining non-approved status path suggested by review Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Pull #810 01 Sep 2026 01:57PM UTC RocioCM github
72.24
33512995330 feat/address-collections-status-filter fix: address decentraland-bot review findings - Add test asserting all authorized remote ids are passed when no status filter is sent - Add test asserting under_review maps to non-approved remote ids like rejected Co-Authored-By: Claude Fable 5 ... Pull #810 01 Sep 2026 01:23PM UTC RocioCM github
72.24
See All Builds (1181)

Badge your Repo: builder-server

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc