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

MITLibraries / s3-bagit-validator
90%

Build:
DEFAULT BRANCH: main
Repo Added 18 Mar 2025 01:02PM UTC
Token Tg8qBmvISmVGy9L9VvQ0SIU82pYCn4NdA regen
Build 495 Last
Files 8
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 main
branch: main
CHANGE BRANCH
x
Reset
Sync Branches
  • main
  • IN-1203-scaffold-repository
  • IN-1454-batch-operations
  • INFRA-597-input-metadata-fix
  • IR-182-athena-util
  • IR-182-port-aip-validation
  • IR-182-port-poc-code
  • IR-182-s3-util
  • IR-183-lambda-handler
  • IR-191-cli-sidecar
  • IR-192-add-sentry
  • IR-193-parallelize-checksum-generation
  • IR-206-subtasks
  • IR-207-duckdb-instead-of-athena
  • IR-209-missing-or-empty-inventory
  • IR-210-large-file-checksumming
  • IR-219-app-limitations
  • IR-220
  • IR-220-manifests-and-error-details
  • IR-222-223
  • IR-228-resume-bulk-validation
  • IR-228-small-updates-and-aws-sam-cli
  • IR-233-validate-all
  • IR-238-multi-region
  • IR-240-aip-inventory
  • IR-240-inventory-csv
  • IR-247-record-aip-id-for-all-errors
  • IR-258-cloudshell
  • bug-unit-test-invokes-lambda
  • cli-errors-in-response
  • dependabot/pip/black-25.1.0
  • dependabot/pip/boto3-1.37.29
  • dependabot/pip/boto3-1.37.30
  • dependabot/pip/boto3-1.37.31
  • dependabot/pip/boto3-1.37.32
  • dependabot/pip/boto3-1.37.33
  • dependabot/pip/boto3-1.37.34
  • dependabot/pip/boto3-1.37.35
  • dependabot/pip/boto3-1.37.36
  • dependabot/pip/boto3-1.37.37
  • dependabot/pip/boto3-1.37.38
  • dependabot/pip/boto3-1.38.0
  • dependabot/pip/boto3-1.38.1
  • dependabot/pip/boto3-1.38.10
  • dependabot/pip/boto3-1.38.11
  • dependabot/pip/boto3-1.38.12
  • dependabot/pip/boto3-1.38.13
  • dependabot/pip/boto3-1.38.14
  • dependabot/pip/boto3-1.38.15
  • dependabot/pip/boto3-1.38.16
  • dependabot/pip/boto3-1.38.17
  • dependabot/pip/boto3-1.38.18
  • dependabot/pip/boto3-1.38.19
  • dependabot/pip/boto3-1.38.2
  • dependabot/pip/boto3-1.38.20
  • dependabot/pip/boto3-1.38.21
  • dependabot/pip/boto3-1.38.22
  • dependabot/pip/boto3-1.38.23
  • dependabot/pip/boto3-1.38.24
  • dependabot/pip/boto3-1.38.25
  • dependabot/pip/boto3-1.38.26
  • dependabot/pip/boto3-1.38.27
  • dependabot/pip/boto3-1.38.28
  • dependabot/pip/boto3-1.38.29
  • dependabot/pip/boto3-1.38.3
  • dependabot/pip/boto3-1.38.30
  • dependabot/pip/boto3-1.38.32
  • dependabot/pip/boto3-1.38.33
  • dependabot/pip/boto3-1.38.34
  • dependabot/pip/boto3-1.38.35
  • dependabot/pip/boto3-1.38.36
  • dependabot/pip/boto3-1.38.37
  • dependabot/pip/boto3-1.38.38
  • dependabot/pip/boto3-1.38.39
  • dependabot/pip/boto3-1.38.4
  • dependabot/pip/boto3-1.38.40
  • dependabot/pip/boto3-1.38.41
  • dependabot/pip/boto3-1.38.42
  • dependabot/pip/boto3-1.38.43
  • dependabot/pip/boto3-1.38.44
  • dependabot/pip/boto3-1.38.45
  • dependabot/pip/boto3-1.38.46
  • dependabot/pip/boto3-1.38.5
  • dependabot/pip/boto3-1.38.6
  • dependabot/pip/boto3-1.38.7
  • dependabot/pip/boto3-1.38.8
  • dependabot/pip/boto3-1.38.9
  • dependabot/pip/boto3-1.39.0
  • dependabot/pip/boto3-1.39.1
  • dependabot/pip/boto3-1.39.10
  • dependabot/pip/boto3-1.39.11
  • dependabot/pip/boto3-1.39.12
  • dependabot/pip/boto3-1.39.13
  • dependabot/pip/boto3-1.39.15
  • dependabot/pip/boto3-1.39.16
  • dependabot/pip/boto3-1.39.17
  • dependabot/pip/boto3-1.39.2
  • dependabot/pip/boto3-1.39.3
  • dependabot/pip/boto3-1.39.4
  • dependabot/pip/boto3-1.39.7
  • dependabot/pip/boto3-1.39.8
  • dependabot/pip/boto3-1.39.9
  • dependabot/pip/boto3-1.40.0
  • dependabot/pip/boto3-1.40.10
  • dependabot/pip/boto3-1.40.12
  • dependabot/pip/boto3-1.40.13
  • dependabot/pip/boto3-1.40.15
  • dependabot/pip/boto3-1.40.16
  • dependabot/pip/boto3-1.40.17
  • dependabot/pip/boto3-1.40.18
  • dependabot/pip/boto3-1.40.19
  • dependabot/pip/boto3-1.40.2
  • dependabot/pip/boto3-1.40.20
  • dependabot/pip/boto3-1.40.21
  • dependabot/pip/boto3-1.40.22
  • dependabot/pip/boto3-1.40.23
  • dependabot/pip/boto3-1.40.24
  • dependabot/pip/boto3-1.40.25
  • dependabot/pip/boto3-1.40.26
  • dependabot/pip/boto3-1.40.27
  • dependabot/pip/boto3-1.40.28
  • dependabot/pip/boto3-1.40.29
  • dependabot/pip/boto3-1.40.3
  • dependabot/pip/boto3-1.40.30
  • dependabot/pip/boto3-1.40.31
  • dependabot/pip/boto3-1.40.32
  • dependabot/pip/boto3-1.40.33
  • dependabot/pip/boto3-1.40.34
  • dependabot/pip/boto3-1.40.36
  • dependabot/pip/boto3-1.40.38
  • dependabot/pip/boto3-1.40.39
  • dependabot/pip/boto3-1.40.4
  • dependabot/pip/boto3-1.40.40
  • dependabot/pip/boto3-1.40.41
  • dependabot/pip/boto3-1.40.42
  • dependabot/pip/boto3-1.40.43
  • dependabot/pip/boto3-1.40.44
  • dependabot/pip/boto3-1.40.45
  • dependabot/pip/boto3-1.40.46
  • dependabot/pip/boto3-1.40.47
  • dependabot/pip/boto3-1.40.48
  • dependabot/pip/boto3-1.40.49
  • dependabot/pip/boto3-1.40.5
  • dependabot/pip/boto3-1.40.50
  • dependabot/pip/boto3-1.40.51
  • dependabot/pip/boto3-1.40.52
  • dependabot/pip/boto3-1.40.53
  • dependabot/pip/boto3-1.40.54
  • dependabot/pip/boto3-1.40.55
  • dependabot/pip/boto3-1.40.56
  • dependabot/pip/boto3-1.40.57
  • dependabot/pip/boto3-1.40.58
  • dependabot/pip/boto3-1.40.59
  • dependabot/pip/boto3-1.40.6
  • dependabot/pip/boto3-1.40.60
  • dependabot/pip/boto3-1.40.61
  • dependabot/pip/boto3-1.40.62
  • dependabot/pip/boto3-1.40.8
  • dependabot/pip/boto3-1.40.9
  • dependabot/pip/boto3-stubs-1.37.20
  • dependabot/pip/boto3-stubs-1.37.21
  • dependabot/pip/boto3-stubs-1.37.22
  • dependabot/pip/boto3-stubs-1.37.23
  • dependabot/pip/boto3-stubs-1.37.24
  • dependabot/pip/boto3-stubs-1.37.25
  • dependabot/pip/boto3-stubs-1.37.26
  • dependabot/pip/boto3-stubs-1.37.27
  • dependabot/pip/boto3-stubs-1.37.28
  • dependabot/pip/boto3-stubs-1.37.29
  • dependabot/pip/boto3-stubs-1.37.30
  • dependabot/pip/boto3-stubs-1.37.31
  • dependabot/pip/boto3-stubs-1.37.32
  • dependabot/pip/boto3-stubs-1.37.33
  • dependabot/pip/boto3-stubs-1.37.34
  • dependabot/pip/boto3-stubs-1.37.35
  • dependabot/pip/boto3-stubs-1.37.36
  • dependabot/pip/boto3-stubs-1.37.37
  • dependabot/pip/boto3-stubs-1.37.38
  • dependabot/pip/boto3-stubs-1.38.0
  • dependabot/pip/boto3-stubs-1.38.1
  • dependabot/pip/boto3-stubs-1.38.10
  • dependabot/pip/boto3-stubs-1.38.11
  • dependabot/pip/boto3-stubs-1.38.12
  • dependabot/pip/boto3-stubs-1.38.13
  • dependabot/pip/boto3-stubs-1.38.14
  • dependabot/pip/boto3-stubs-1.38.15
  • dependabot/pip/boto3-stubs-1.38.16
  • dependabot/pip/boto3-stubs-1.38.17
  • dependabot/pip/boto3-stubs-1.38.18
  • dependabot/pip/boto3-stubs-1.38.19
  • dependabot/pip/boto3-stubs-1.38.2
  • dependabot/pip/boto3-stubs-1.38.20
  • dependabot/pip/boto3-stubs-1.38.21
  • dependabot/pip/boto3-stubs-1.38.22
  • dependabot/pip/boto3-stubs-1.38.23
  • dependabot/pip/boto3-stubs-1.38.24
  • dependabot/pip/boto3-stubs-1.38.25
  • dependabot/pip/boto3-stubs-1.38.26
  • dependabot/pip/boto3-stubs-1.38.27
  • dependabot/pip/boto3-stubs-1.38.29
  • dependabot/pip/boto3-stubs-1.38.3
  • dependabot/pip/boto3-stubs-1.38.30
  • dependabot/pip/boto3-stubs-1.38.31
  • dependabot/pip/boto3-stubs-1.38.32
  • dependabot/pip/boto3-stubs-1.38.33
  • dependabot/pip/boto3-stubs-1.38.34
  • dependabot/pip/boto3-stubs-1.38.35
  • dependabot/pip/boto3-stubs-1.38.36
  • dependabot/pip/boto3-stubs-1.38.38
  • dependabot/pip/boto3-stubs-1.38.39
  • dependabot/pip/boto3-stubs-1.38.4
  • dependabot/pip/boto3-stubs-1.38.40
  • dependabot/pip/boto3-stubs-1.38.41
  • dependabot/pip/boto3-stubs-1.38.42
  • dependabot/pip/boto3-stubs-1.38.43
  • dependabot/pip/boto3-stubs-1.38.44
  • dependabot/pip/boto3-stubs-1.38.45
  • dependabot/pip/boto3-stubs-1.38.46
  • dependabot/pip/boto3-stubs-1.38.5
  • dependabot/pip/boto3-stubs-1.38.6
  • dependabot/pip/boto3-stubs-1.38.7
  • dependabot/pip/boto3-stubs-1.38.8
  • dependabot/pip/boto3-stubs-1.38.9
  • dependabot/pip/boto3-stubs-1.39.0
  • dependabot/pip/boto3-stubs-1.39.1
  • dependabot/pip/boto3-stubs-1.39.10
  • dependabot/pip/boto3-stubs-1.39.11
  • dependabot/pip/boto3-stubs-1.39.12
  • dependabot/pip/boto3-stubs-1.39.13
  • dependabot/pip/boto3-stubs-1.39.15
  • dependabot/pip/boto3-stubs-1.39.16
  • dependabot/pip/boto3-stubs-1.39.17
  • dependabot/pip/boto3-stubs-1.39.2
  • dependabot/pip/boto3-stubs-1.39.3
  • dependabot/pip/boto3-stubs-1.39.4
  • dependabot/pip/boto3-stubs-1.39.7
  • dependabot/pip/boto3-stubs-1.39.8
  • dependabot/pip/boto3-stubs-1.39.9
  • dependabot/pip/boto3-stubs-1.40.0
  • dependabot/pip/boto3-stubs-1.40.10
  • dependabot/pip/boto3-stubs-1.40.12
  • dependabot/pip/boto3-stubs-1.40.13
  • dependabot/pip/boto3-stubs-1.40.14
  • dependabot/pip/boto3-stubs-1.40.15
  • dependabot/pip/boto3-stubs-1.40.16
  • dependabot/pip/boto3-stubs-1.40.17
  • dependabot/pip/boto3-stubs-1.40.18
  • dependabot/pip/boto3-stubs-1.40.19
  • dependabot/pip/boto3-stubs-1.40.2
  • dependabot/pip/boto3-stubs-1.40.21
  • dependabot/pip/boto3-stubs-1.40.22
  • dependabot/pip/boto3-stubs-1.40.23
  • dependabot/pip/boto3-stubs-1.40.24
  • dependabot/pip/boto3-stubs-1.40.25
  • dependabot/pip/boto3-stubs-1.40.26
  • dependabot/pip/boto3-stubs-1.40.27
  • dependabot/pip/boto3-stubs-1.40.28
  • dependabot/pip/boto3-stubs-1.40.29
  • dependabot/pip/boto3-stubs-1.40.3
  • dependabot/pip/boto3-stubs-1.40.30
  • dependabot/pip/boto3-stubs-1.40.31
  • dependabot/pip/boto3-stubs-1.40.32
  • dependabot/pip/boto3-stubs-1.40.33
  • dependabot/pip/boto3-stubs-1.40.34
  • dependabot/pip/boto3-stubs-1.40.35
  • dependabot/pip/boto3-stubs-1.40.36
  • dependabot/pip/boto3-stubs-1.40.38
  • dependabot/pip/boto3-stubs-1.40.39
  • dependabot/pip/boto3-stubs-1.40.4
  • dependabot/pip/boto3-stubs-1.40.40
  • dependabot/pip/boto3-stubs-1.40.41
  • dependabot/pip/boto3-stubs-1.40.42
  • dependabot/pip/boto3-stubs-1.40.43
  • dependabot/pip/boto3-stubs-1.40.44
  • dependabot/pip/boto3-stubs-1.40.45
  • dependabot/pip/boto3-stubs-1.40.46
  • dependabot/pip/boto3-stubs-1.40.47
  • dependabot/pip/boto3-stubs-1.40.48
  • dependabot/pip/boto3-stubs-1.40.49
  • dependabot/pip/boto3-stubs-1.40.5
  • dependabot/pip/boto3-stubs-1.40.50
  • dependabot/pip/boto3-stubs-1.40.51
  • dependabot/pip/boto3-stubs-1.40.52
  • dependabot/pip/boto3-stubs-1.40.53
  • dependabot/pip/boto3-stubs-1.40.54
  • dependabot/pip/boto3-stubs-1.40.55
  • dependabot/pip/boto3-stubs-1.40.56
  • dependabot/pip/boto3-stubs-1.40.57
  • dependabot/pip/boto3-stubs-1.40.58
  • dependabot/pip/boto3-stubs-1.40.59
  • dependabot/pip/boto3-stubs-1.40.6
  • dependabot/pip/boto3-stubs-1.40.60
  • dependabot/pip/boto3-stubs-1.40.61
  • dependabot/pip/boto3-stubs-1.40.62
  • dependabot/pip/boto3-stubs-1.40.7
  • dependabot/pip/boto3-stubs-1.40.8
  • dependabot/pip/boto3-stubs-1.40.9
  • dependabot/pip/click-8.2.0
  • dependabot/pip/click-8.2.1
  • dependabot/pip/duckdb-1.2.2
  • dependabot/pip/duckdb-1.3.1
  • dependabot/pip/ipython-9.1.0
  • dependabot/pip/ipython-9.4.0
  • dependabot/pip/ipython-9.5.0
  • dependabot/pip/ipython-9.6.0
  • dependabot/pip/mypy-1.15.0
  • dependabot/pip/mypy-1.16.0
  • dependabot/pip/pandas-stubs-2.2.3.250527
  • dependabot/pip/pip-25.2
  • dependabot/pip/pre-commit-4.1.0
  • dependabot/pip/pre-commit-4.2.0
  • dependabot/pip/pytest-8.3.5
  • dependabot/pip/requests-2.32.4
  • dependabot/pip/ruff-0.11.0
  • dependabot/pip/ruff-0.11.1
  • dependabot/pip/ruff-0.11.10
  • dependabot/pip/ruff-0.11.12
  • dependabot/pip/ruff-0.11.13
  • dependabot/pip/ruff-0.11.2
  • dependabot/pip/ruff-0.11.3
  • dependabot/pip/ruff-0.11.4
  • dependabot/pip/ruff-0.11.5
  • dependabot/pip/ruff-0.11.6
  • dependabot/pip/ruff-0.11.7
  • dependabot/pip/ruff-0.11.8
  • dependabot/pip/ruff-0.11.9
  • dependabot/pip/ruff-0.12.1
  • dependabot/pip/ruff-0.12.10
  • dependabot/pip/ruff-0.12.11
  • dependabot/pip/ruff-0.12.12
  • dependabot/pip/ruff-0.12.2
  • dependabot/pip/ruff-0.12.3
  • dependabot/pip/ruff-0.12.4
  • dependabot/pip/ruff-0.12.5
  • dependabot/pip/ruff-0.12.7
  • dependabot/pip/ruff-0.12.8
  • dependabot/pip/ruff-0.12.9
  • dependabot/pip/ruff-0.13.0
  • dependabot/pip/ruff-0.13.1
  • dependabot/pip/ruff-0.13.2
  • dependabot/pip/ruff-0.13.3
  • dependabot/pip/ruff-0.14.0
  • dependabot/pip/ruff-0.14.1
  • dependabot/pip/ruff-0.14.2
  • dependabot/pip/sentry-sdk-2.24.0
  • dependabot/pip/sentry-sdk-2.24.1
  • dependabot/pip/sentry-sdk-2.25.0
  • dependabot/pip/sentry-sdk-2.25.1
  • dependabot/pip/sentry-sdk-2.26.0
  • dependabot/pip/sentry-sdk-2.26.1
  • dependabot/pip/sentry-sdk-2.27.0
  • dependabot/pip/sentry-sdk-2.28.0
  • dependabot/pip/sentry-sdk-2.29.1
  • dependabot/pip/sentry-sdk-2.31.0
  • dependabot/pip/sentry-sdk-2.32.0
  • dependabot/pip/sentry-sdk-2.33.0
  • dependabot/pip/sentry-sdk-2.33.1
  • dependabot/pip/sentry-sdk-2.33.2
  • dependabot/pip/sentry-sdk-2.34.0
  • dependabot/pip/sentry-sdk-2.34.1
  • dependabot/pip/sentry-sdk-2.35.0
  • dependabot/pip/sentry-sdk-2.35.1
  • dependabot/pip/sentry-sdk-2.35.2
  • dependabot/pip/sentry-sdk-2.36.0
  • dependabot/pip/sentry-sdk-2.37.0
  • dependabot/pip/sentry-sdk-2.37.1
  • dependabot/pip/sentry-sdk-2.38.0
  • dependabot/pip/sentry-sdk-2.39.0
  • dependabot/pip/sentry-sdk-2.40.0
  • dependabot/pip/sentry-sdk-2.41.0
  • dependabot/pip/sentry-sdk-2.42.0
  • dependabot/pip/sentry-sdk-2.42.1
  • dependabot/pip/sentry-sdk-2.43.0
  • dependabot/pip/setuptools-78.1.0
  • dependabot/pip/setuptools-80.1.0
  • dependabot/pip/setuptools-80.3.1
  • dependabot/pip/setuptools-80.8.0
  • dependabot/pip/setuptools-80.9.0
  • dependabot/pip/types-requests-2.32.4.20250611
  • dependabot/pip/urllib3-2.5.0
  • ecr-updates
  • feature-branch-readme-update
  • lambda-response-exception
  • readme-typo
  • rework-and-init-sentry
  • stage-test
  • v0.1.0
  • v0.1.1
  • v0.1.2
  • v0.1.3
  • v0.1.4
  • v0.1.6

12 Dec 2025 09:30PM UTC coverage: 90.21% (+0.3%) from 89.944%
20180422371

push

github

web-flow
INFRA-597-input-metadata-fix (#390)

Why these changes are being introduced:
* Input metadata was not being added to valid items as it was with invalid items

How this addresses that need:
* Update validate_aip_bulk_worker to include all input metadata for valid items
* Add TestValidateAipBulkWorker class with associated unit tests
* Update test_validate_secret_mismatch to address linting error
* Update dependencies

Side effects of this change:
* None

Relevant ticket(s):
* https://mitlibraries.atlassian.net/browse/INFRA-597

3 of 3 new or added lines in 1 file covered. (100.0%)

645 of 715 relevant lines covered (90.21%)

0.9 hits per line

Relevant lines Covered
Build:
Build:
715 RELEVANT LINES 645 COVERED LINES
0.9 HITS PER LINE
Source Files on main
  • Tree
  • List 8
  • Changed 2
  • Source Changed 1
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
20180422371 main INFRA-597-input-metadata-fix (#390) Why these changes are being introduced: * Input metadata was not being added to valid items as it was with invalid items How this addresses that need: * Update validate_aip_bulk_worker to include all input met... push 12 Dec 2025 09:31PM UTC web-flow github
90.21
15859218505 main IR-258-readme-update (#186) * Update README.md to describe local usage of the IR-258-cloudshell feature branch * Update dependencies * Miscellaneous fixes due to changing ruff rules push 24 Jun 2025 07:03PM UTC web-flow github
89.94
15642679842 main record-aip-id-for-lambda-response-exceptions (#159) Why these changes are being introduced: * After the last update to bulk-validate, it was discovered that if an exception occurred while parsing the lambda response, the uuid or S3 URI would not ... push 13 Jun 2025 07:42PM UTC web-flow github
89.94
15347184743 main IR-219 Add technical limitations to README.md (#145) * Add section to README.md describing the app's potential limitations with examples push 30 May 2025 12:52PM UTC web-flow github
88.94
15301527299 main IR-247-record-aip-id-for-all-errors (#136) * IR-247-record-aip-id-for-all-errors Why these changes are being introduced: * Some errors during bulk-validate were recorded in the results CSV without the AIP UUID which complicated troubleshooting. ... push 28 May 2025 01:33PM UTC web-flow github
88.94
15075836615 main Fix README.md typo (#120) * Fix typo in inventory CLI command section of README.md * Update dependencies push 16 May 2025 07:21PM UTC web-flow github
88.34
14979381569 main Merge pull request #104 from MITLibraries/IR-238-multi-region Multi-Region Deployment Automation push 12 May 2025 06:08PM UTC web-flow github
88.34
14978764825 main IR-240-inventory-csv (#106) * IR-240-inventory-csv Why these changes are being introduced: * Updating lambda and sidecar CLI to support providing an inventory CSV How this addresses that need: * Add inventory CLI command and corresponding CLI t... push 12 May 2025 05:35PM UTC web-flow github
88.34
14907463329 main Ir 233 validate all (#96) * Add pip-audit and update dependencies * IR-233 validate all Why these changes are being introduced: * Add CLI command to validate all AIPs in a given AWS environment How this addresses that need: * Add validate-all ... push 08 May 2025 01:19PM UTC web-flow github
88.5
14798719851 main Merge pull request #75 from MITLibraries/IR-206-subtasks IR 206 subtasks - IR 231 and IR 232 push 02 May 2025 03:58PM UTC web-flow github
88.09
See All Builds (494)

Badge your Repo: s3-bagit-validator

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 · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc