Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/exercism/tooling-invoker
WIP temporary extraction from analyzer-pipeline
https://github.com/exercism/tooling-invoker
community-contributions-paused
Last synced: about 1 month ago
JSON representation
WIP temporary extraction from analyzer-pipeline
- Host: GitHub
- URL: https://github.com/exercism/tooling-invoker
- Owner: exercism
- License: agpl-3.0
- Created: 2020-07-08T22:33:14.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-01T14:10:19.000Z (10 months ago)
- Last Synced: 2024-05-01T11:25:33.975Z (8 months ago)
- Topics: community-contributions-paused
- Language: Ruby
- Size: 251 KB
- Stars: 2
- Watchers: 4
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Tooling Invoker
![Tests](https://github.com/exercism/tooling-invoker/workflows/Tests/badge.svg)
[![Maintainability](https://api.codeclimate.com/v1/badges/c203fecce87e38343289/maintainability)](https://codeclimate.com/github/exercism/tooling-invoker/maintainability)
[![Test Coverage](https://api.codeclimate.com/v1/badges/c203fecce87e38343289/test_coverage)](https://codeclimate.com/github/exercism/tooling-invoker/test_coverage)## Local Setup
The production version of this code uses `runc`.
This only works on Linux and not within Docker.
However, there is a local version available which runs off a locally checked out piece of tooling.To use this, do the following:
- Clone a tooling repo to the directory parallel for this (e.g. `ruby-test-runner`)
- Set a AWS profile called `exercism_tooling_invoker` with an access key and secret.Tests can be run locally on any system.
To build the Dockerfile, run:
```
docker build -f Dockerfile.dev -t exercism-tooking-invoker .
```To execute the Dockerfile, run the following with your AWS keys:
```
./bin/run-docker $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY
```### Running Tests inside Docker
Note: Tests can be run without the full [v3-docker-compose](https://github.com/exercism/v3-docker-compose/) stack
```bash
# to run bundle exec rake test
./docker/test
```Or to jump into a console, then just run commands as normal:
```bash
./docker/console
{^_^} tooling-invoker
/usr/src/app % bundle exec rake test
```## Filesystem Layout
_This is WIP_
The containers live in a directory (currently `CONTAINERS_DIR` but will be in config).
Each iteration is then hosted as follows:
```
- containers
- ruby
- releases
- xxx
- current (symlink to a releases sha)
- runs
- iteration_xxx-iteration_slug-xxx (iteration_dir)
- code
- ...user's code
- config.json (symlink to invocation_config.json)
```Within the runc environment we have:
```
- /opt
- container_tools
- runc
- test-runner (or /opt/analyzer or /opt/representer)```
## Layout within containers