exercism / exercism/arm64-assembly-test-runner

Reduce image size

Open
#29 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
0
Forks
4
Avg merge
7h 15m
Merged PRs (30d)
1

Description

The current runner image was the best compromise of reasonable size and low effort for setting it up. However, it is still ~350 MB, which is a lot for what it does. It should be possible to bring it down to under 100 MB by using something like alpine as a base and building a custom GCC. Maybe we could even use something like [tcc](https://bellard.org/tcc/) to get it even smaller. After all, we only need C for the tests, so tcc would most probably suffice.

Also, we add > 40 MB for Python which we only use to read the test output and turn it into the expected JSON format. Using some compiled language to produce a binary we should get away with much less. C++ would be quite easy for this, we could even keep the regular expressions we currently have in Python. This could happen in a two-stage image build, so only the final executable would end up in runner image.

@keiravillekode What do you think?

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue does not name files or tests. Start by locating the runner image definition and the Python step that reads test output and produces expected JSON; compare the current image contents with the proposed compiler and conversion approaches. Done means reducing the runner image below 100 MB while preserving the existing test behavior and JSON output.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, docker, python
Domain
build-system, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.