{"id":20821893,"url":"https://github.com/flycheck/docker-tools","last_synced_at":"2025-03-12T06:26:35.216Z","repository":{"id":53782394,"uuid":"132947180","full_name":"flycheck/docker-tools","owner":"flycheck","description":"Dockerfiles for Flycheck continuous integration","archived":false,"fork":false,"pushed_at":"2021-03-14T12:55:31.000Z","size":34,"stargazers_count":2,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-18T16:49:27.543Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flycheck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-10T19:47:34.000Z","updated_at":"2021-03-14T12:55:34.000Z","dependencies_parsed_at":"2022-09-02T12:30:38.594Z","dependency_job_id":null,"html_url":"https://github.com/flycheck/docker-tools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flycheck%2Fdocker-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flycheck%2Fdocker-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flycheck%2Fdocker-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flycheck%2Fdocker-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flycheck","download_url":"https://codeload.github.com/flycheck/docker-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243168414,"owners_count":20247334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T22:13:22.116Z","updated_at":"2025-03-12T06:26:35.199Z","avatar_url":"https://github.com/flycheck.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"This repository contains the Dockerfiles used for running Flycheck's unit and\nintegration tests on Travis CI.\n\n- `all-tools` creates a container (based on Ubuntu 20.04) installing all the\n  tools that Flycheck supports.  The full image is around 4.5GB uncompressed.\n- `emacs-cask` creates a container (still on Ubuntu 20.04) with Emacs, Cask, and\n  Make installed.  This is used to run Flycheck's unit tests.  It is\n  configurable: we can build with different Emacs versions.\n\nThese two images are scheduled to build monthly (or whenever there is a commit\nto master), and uploaded to [flycheck/all-tools][hub:all-tools] and\n[flycheck/emacs-cask][hub:emacs-cask] respectively.\n\nThere is a third image in [flycheck/flycheck][],\n`all-tools-and-emacs-cask`. This one is never pushed anywhere; it is built and\nused directly on Travis in order to run our integration tests.  See the\n[Flycheck manual][manual:run-integ] on how to use that image to run the\nintegration tests locally.\n\n## How to add a tool\n\nWhenever a new checker is added to Flycheck, there should be at least one\nintegration test for it.  For the integration test to run, the tools needs to be\nadded to the `all-tools` image.\n\nTo add a new tool to the image:\n\n1. Edit `all-tools/Dockerfile` to install the tool.  Consider adding a line to\n   the language-specific sections (Ruby Gems, Go get, Python pip, npm...) if\n   your tool can be installed with them.  Otherwise, you may need to add a new\n   `RUN` command.  The [official Docker documentation][docker-man] may be\n   helpful.\n\n   You can test the image locally with `docker build`.  Note that the build can\n   take around ten minutes or more, depending on your Internet connection.\n   There are many packages to download and to build.  If you don't test locally\n   and make a pull request, the Travis integration will build it anyway.\n\n2. Edit `all-tools/check-tools` to add a line to output the new tool version.\n   This script is a basic check to ensure the tool is correctly installed and\n   found in the image.  It doubles as a useful reference to know which versions\n   of the tools are in the image.\n\n   You should add a line that outputs the tool version *on a single line*.  The\n   output format should be:\n\n   ```\n   LANGUAGE-CHECKER: VERSION\n   ```\n\n   E.g.:\n\n   ```\n   python-flake8: 3.5.0 (mccabe: 0.6.1, pycodestyle: 2.3.1, pyflakes: 1.6.0) CPython 2.7.15rc1 on Linux\n   ```\n\n   `LANGUAGE-CHECKER` should be the same as in the variable `flycheck-checkers`\n   from `flycheck.el`.  The `check-tools` script follows the same order as\n   `flycheck-checkers`: there is one line per entry `flycheck-checkers`.\n   `VERSION` can contain other identifying information, as in the example above.\n   Use `head -n1`, `cut` or `sed` to ensure all relevant information stays on a\n   single line.\n\n   Some tools output their version number to `stderr`; use `2\u003e\u00261` to redirect\n   that to `stdout` instead (this is useful to easily check for errors when\n   using `docker build` locally, as `stderr` appears in red).\n\n[hub:all-tools]: https://hub.docker.com/r/flycheck/all-tools/\n[hub:emacs-cask]: https://hub.docker.com/r/flycheck/emacs-cask/\n[flycheck/flycheck]: https://www.github.com/flycheck/flycheck\n[docker-man]: https://docs.docker.com/engine/reference/builder/#run\n[manual:run-integ]: http://www.flycheck.org/en/latest/contributor/contributing.html#running-all-the-integration-tests\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflycheck%2Fdocker-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflycheck%2Fdocker-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflycheck%2Fdocker-tools/lists"}