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

skeema / skeema / 5649721901
92%

Build:
DEFAULT BRANCH: main
Ran 24 Jul 2023 09:03PM UTC
Jobs 1
Files 73
Run time 2s
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

24 Jul 2023 08:54PM UTC coverage: 93.176% (+0.02%) from 93.153%
5649721901

push

github

evanelias
docker: use Docker CLI instead of API

This commit replaces the implementation of Skeema's Docker interactions.
Previously, Skeema used Docker's API via a Golang Docker client library. This
commit switches to shelling out to the `docker` CLI, instead of bundling a
Docker client package and its dependencies.

For background, Skeema interacts with Docker in two places:

1. The workspace=docker option, which uses ephemeral Docker containers for
   all temporary scratch-space database operations

2. Integration test suites, which extensively test Skeema end-to-end against
   containerized databases of different flavors/versions

This commit affects both of these touch-points. Item 1 affects end users,
while item 2 only affects Skeema developers.

Motivations for this change include:

* 40% reduction in Skeema Community Edition binary size, due to massive
  reduction in Skeema's third-party package dependency graph

* Prevention of spurious security warnings: the previous Docker client's own
  dependencies often have CVEs, despite the relevant code paths not being used
  in that Docker client, let alone in Skeema

* Potential compatibility with alternative container engines which provide
  daemonless rootless drop-in replacements for the `docker` binary

However, there is one user-facing downside to this change: users who run
`skeema` inside a container environment, while also using workspace=docker,
may have to adjust their containers to ensure the `docker` CLI binary is now
present. This is in addition to the previous complexities discussed in #89:
either bind-mounting the Docker socket, or using a privileged Docker-in-Docker
image. The `docker` CLI binary can easily be obtained from the docker:cli
image or from a package manager.

RFC / tracking issue #186 has been open for a year, and has not yielded
significant community concerns, so this downside is deemed acceptable.

In the Premium Edition, the temp-schema-environment option also presents an
altern... (continued)

232 of 232 new or added lines in 2 files covered. (100.0%)

9189 of 9862 relevant lines covered (93.18%)

1.11 hits per line

Jobs
ID Job ID Ran Files Coverage
1 5649721901.1 24 Jul 2023 09:03PM UTC 0
93.18
GitHub Action Run
Source Files on build 5649721901
Detailed source file information is not available for this build.
  • Back to Repo
  • 2a2d8e31 on github
  • Prev Build on main (#5548833118)
  • Next Build on main (#5662526119)
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