{"id":18122947,"url":"https://github.com/wikimedia/mediawiki-tools-scap","last_synced_at":"2025-04-14T22:52:04.905Z","repository":{"id":13825066,"uuid":"16521674","full_name":"wikimedia/mediawiki-tools-scap","owner":"wikimedia","description":"Mirror of https://gitlab.wikimedia.org/repos/releng/scap :ship: scap is a tool for putting code in places and for other purposes","archived":false,"fork":false,"pushed_at":"2025-04-08T15:11:45.000Z","size":5733,"stargazers_count":9,"open_issues_count":0,"forks_count":5,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-08T16:25:22.760Z","etag":null,"topics":["cli","deployment","git","mediawiki","python","remote","rsync","ssh","terminal-based"],"latest_commit_sha":null,"homepage":"https://doc.wikimedia.org/releng/scap/","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wikimedia.png","metadata":{"files":{"readme":"README.rst","changelog":"changelog","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2014-02-04T18:46:53.000Z","updated_at":"2025-04-07T16:56:41.000Z","dependencies_parsed_at":"2024-06-03T17:10:55.249Z","dependency_job_id":"044f17b8-3379-402b-ba8f-83b64f28176c","html_url":"https://github.com/wikimedia/mediawiki-tools-scap","commit_stats":{"total_commits":1851,"total_committers":53,"mean_commits":"34.924528301886795","dds":0.6493787142085359,"last_synced_commit":"1135528c444c220d290784f8a9a442f3d9756470"},"previous_names":[],"tags_count":331,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wikimedia%2Fmediawiki-tools-scap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wikimedia%2Fmediawiki-tools-scap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wikimedia%2Fmediawiki-tools-scap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wikimedia%2Fmediawiki-tools-scap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wikimedia","download_url":"https://codeload.github.com/wikimedia/mediawiki-tools-scap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248975308,"owners_count":21192199,"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":["cli","deployment","git","mediawiki","python","remote","rsync","ssh","terminal-based"],"created_at":"2024-11-01T07:07:14.304Z","updated_at":"2025-04-14T22:52:04.885Z","avatar_url":"https://github.com/wikimedia.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"::\n\n           ___ ____\n         ⎛   ⎛ ,----\n          \\  //==--'\n     _//| .·//==--'    ____________________________\n    _OO≣=-  ︶ ᴹw ⎞_§ ______  ___\\ ___\\ ,\\__ \\/ __ \\\n   (∞)_, )  (     |  ______/__  \\/ /__ / /_/ / /_/ /\n     ¨--¨|| |- (  / _______\\___/ \\___/ \\__^_/  .__/\n         ««_/  «_/ jgs/bd808               /_/\n\n\n**Scap** is the deployment script used by Wikimedia Foundation to publish\ncode and configuration on production web servers.\n\n\nRunning tests\n=============\n\nAutomated tests can be executed with `make test` or `tox -e test`.\n\nFor a list of Scap dependencies during testing, see `requirements.txt` and\n`test-requirements.txt`.  Some Debian packages are also required to set up the\nrunning environment, for instance to install Python or pip.\n\nTo ensure compatiblity with multiple Debian distributions, we use Docker images\ndefined using Blubber (see `.pipeline/blubber.yaml`). The image build installs\nthe runtime dependencies from Debian packages while tests dependencies defined\nin `test-requirements.txt` are installed via `pip`. This lets us use ensure we\nrun with the same set of Python module provided by Debian while using more\nrecent versions of testing utilities than the one frozen by Debian\n(ex: `pytest`) and ensure we use the same version of `flake8` regardless of the\nDebian distribution version.\n\nTo generate the container images and run tests in each of them, we provide a\n`Makefile`.  To run tests against the default Debian distribution (defined by\n`DEFAULT_VARIANT' in `Makefile'), use `make test`.  To run all tests against all\nsupported Debian distributions use `make test-all`.  To run tests against a\nspecific supported Debian distribution, use `make test-\u003cdistro\u003e`, for example\n`make test-bullseye`.\n\nThe `test*` targets build the images using the `Blubberfile syntax\n\u003chttps://wikitech.wikimedia.org/wiki/Blubber/User_Guide#Blubberfiles\u003e` using\n`Blubber buildkit \u003cdocker-registry.wikimedia.org/repos/releng/blubber/buildkit\u003e`.\nThe blubberfile is configured to run tests using `tox` at image build time.\n\nThe Wikimedia CI builds those images in a similar way and runs the same tests.\n\nTo build all images without running tests, use `make images`, useful when\namending the Blubber config or changing dependencies.\n\nReporting Issues\n================\n\nYou can report issues to the `#scap\n\u003chttps://phabricator.wikimedia.org/maniphest/task/create/?projects=Scap\u003e`_\nproject on phabricator.wikimedia.org\n\n\nCredits\n=======\n\nASCII art derived from original work by Joan Stark [#pig]_ and the `speed`\nfiglet font [#speedfont]_.\n\n.. [#pig] http://www.oocities.com/spunk1111/farm.htm#pig\n.. [#speedfont] http://www.jave.de/figlet/fonts/details/speed.html\n\nLicense\n=======\n\n|    Copyright 2014-2024 Wikimedia Foundation \u0026 Contributors.\n|\n|    Scap is free software: you can redistribute it and/or modify\n|    it under the terms of the GNU General Public License as published by\n|    the Free Software Foundation, version 3.\n|\n|    Scap is distributed in the hope that it will be useful,\n|    but WITHOUT ANY WARRANTY; without even the implied warranty of\n|    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n|    GNU General Public License for more details.\n|\n|    You should have received a copy of the GNU General Public License\n|    along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwikimedia%2Fmediawiki-tools-scap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwikimedia%2Fmediawiki-tools-scap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwikimedia%2Fmediawiki-tools-scap/lists"}