{"id":24792339,"url":"https://github.com/emscripten-core/emscripten-ci","last_synced_at":"2025-08-22T00:12:31.806Z","repository":{"id":71886571,"uuid":"212440021","full_name":"emscripten-core/emscripten-ci","owner":"emscripten-core","description":"Dockerfile for Emscripten's own CI","archived":false,"fork":false,"pushed_at":"2025-02-11T21:04:48.000Z","size":5,"stargazers_count":9,"open_issues_count":0,"forks_count":3,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-24T15:29:23.118Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emscripten-core.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-02T20:58:22.000Z","updated_at":"2025-02-17T12:00:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"4d5cf977-84ea-4d03-813d-a88f1a9c9987","html_url":"https://github.com/emscripten-core/emscripten-ci","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/emscripten-core%2Femscripten-ci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emscripten-core%2Femscripten-ci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emscripten-core%2Femscripten-ci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emscripten-core%2Femscripten-ci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emscripten-core","download_url":"https://codeload.github.com/emscripten-core/emscripten-ci/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248262300,"owners_count":21074283,"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":"2025-01-29T20:32:21.480Z","updated_at":"2025-04-10T17:44:21.174Z","avatar_url":"https://github.com/emscripten-core.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Emscripten CI\n\nThe main purpose of this repository is hosting the [Dockerfile](./Dockerfile)\nfor building the Docker image used for the\n[Emscripten CircleCI build](https://circleci.com/gh/emscripten-core/emscripten).\n\n## :whale: Pre-built Docker Image\nThis [Dockerfile](./Dockerfile) allows to build a Docker image, with the tools\nrequired for the Emscripten CI build. The image is hosted at\n[Docker Hub](https://hub.docker.com/r/emscripten/emscripten-ci) and used\nby the [CircleCI Emscripten Project](https://circleci.com/gh/emscripten-core/emscripten).\n\nThe following sections describe the important parts of the [Dockerfile](./Dockerfile).\n### Base Image\nThe `FROM` instruction sets the base image for the final Docker image. Also, all subsequent instructions are executed using this base image.\n\nSee [FROM](https://docs.docker.com/engine/reference/builder/#from) (Docker Reference).\n\n### Package Installation (apt-get)\nAdditional packages/tools required by the Emscripten CI build are installed via apt-get using the `RUN` instruction.\n\nIt is good practice to execute `apt-get update \u0026\u0026 apt-get install * \u0026\u0026 apt-get clean cache` using a single `RUN` instruction, as each docker instruction is creating a new read-only layer. Running `apt-get clean` helps keeping the resulting image size low (which would not be the case if `apt-get install` was executed as a separate `RUN` instruction).\n\nIt's recommended to sort the package names alphabetically. For better traceability we created separate package sections for build, docs and test packages.\n\nSee [best practices for writing Dockerfiles](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/).\n\n### Package Installation (pip)\n\nPip packages required by the Emscripten CI build are installed in a similar manner as described in the previous section. For example, the `--no-cache-dir` parameter is used in order to keep the size of the final image low.\n\n### Building the image and pushing it to Docker Hub\n\nUse the following commands for updating the `emscripten-ci` pre-built Docker image:\n\n:warning: Write access to the [Docker Hub repository](https://hub.docker.com/r/emscripten/emscripten-ci) is required.\n\n1. Clone/pull the latest version of this repository\n\n1. Build docker image locally from the repository root (location of [Dockerfile](/Dockerfile)):\n\n    `docker build . --tag emscripten/emscripten-ci`\n\n1. Login to your Docker Hub account (if not logged in already):\n\n    `docker login`\n\n1. Push docker image to Docker Hub:\n\n    `docker push emscripten/emscripten-ci`\n\nSee [Docker CLI reference](https://docs.docker.com/engine/reference/commandline/cli/) for further details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femscripten-core%2Femscripten-ci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femscripten-core%2Femscripten-ci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femscripten-core%2Femscripten-ci/lists"}