Skip to content

exercism/tooling-invoker

Repository files navigation

Tooling Invoker

Tests Maintainability 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 stack

# to run bundle exec rake test
./docker/test

Or to jump into a console, then just run commands as normal:

./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

About

WIP temporary extraction from analyzer-pipeline

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published