Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wikimedia/mediawiki-tools-scap
Mirror of https://gitlab.wikimedia.org/repos/releng/scap :ship: scap is a tool for putting code in places and for other purposes
https://github.com/wikimedia/mediawiki-tools-scap
cli deployment git mediawiki python remote rsync ssh terminal-based
Last synced: 3 months ago
JSON representation
Mirror of https://gitlab.wikimedia.org/repos/releng/scap :ship: scap is a tool for putting code in places and for other purposes
- Host: GitHub
- URL: https://github.com/wikimedia/mediawiki-tools-scap
- Owner: wikimedia
- License: gpl-3.0
- Created: 2014-02-04T18:46:53.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-10-30T18:52:30.000Z (3 months ago)
- Last Synced: 2024-10-30T19:16:58.582Z (3 months ago)
- Topics: cli, deployment, git, mediawiki, python, remote, rsync, ssh, terminal-based
- Language: Python
- Homepage: https://doc.wikimedia.org/releng/scap/
- Size: 5.11 MB
- Stars: 8
- Watchers: 12
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: changelog
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
::
___ ____
⎛ ⎛ ,----
\ //==--'
_//| .·//==--' ____________________________
_OO≣=- ︶ ᴹw ⎞_§ ______ ___\ ___\ ,\__ \/ __ \
(∞)_, ) ( | ______/__ \/ /__ / /_/ / /_/ /
¨--¨|| |- ( / _______\___/ \___/ \__^_/ .__/
««_/ «_/ jgs/bd808 /_/**Scap** is the deployment script used by Wikimedia Foundation to publish
code and configuration on production web servers.Running tests
=============Automated tests can be executed with `make test` or `tox -e test`.
For a list of Scap dependencies during testing, see `requirements.txt` and
`test-requirements.txt`. Some Debian packages are also required to set up the
running environment, for instance to install Python or pip.To ensure compatiblity with multiple Debian distributions, we use Docker images
defined using Blubber (see `.pipeline/blubber.yaml`). The image build installs
the runtime dependencies from Debian packages while tests dependencies defined
in `test-requirements.txt` are installed via `pip`. This lets us use ensure we
run with the same set of Python module provided by Debian while using more
recent versions of testing utilities than the one frozen by Debian
(ex: `pytest`) and ensure we use the same version of `flake8` regardless of the
Debian distribution version.To generate the container images and run tests in each of them, we provide a
`Makefile`. To run tests against the default Debian distribution (defined by
`DEFAULT_VARIANT' in `Makefile'), use `make test`. To run all tests against all
supported Debian distributions use `make test-all`. To run tests against a
specific supported Debian distribution, use `make test-`, for example
`make test-bullseye`.The `test*` targets build the images using the `Blubberfile syntax
` using
`Blubber buildkit `.
The blubberfile is configured to run tests using `tox` at image build time.The Wikimedia CI builds those images in a similar way and runs the same tests.
To build all images without running tests, use `make images`, useful when
amending the Blubber config or changing dependencies.Reporting Issues
================You can report issues to the `#scap
`_
project on phabricator.wikimedia.orgCredits
=======ASCII art derived from original work by Joan Stark [#pig]_ and the `speed`
figlet font [#speedfont]_... [#pig] http://www.oocities.com/spunk1111/farm.htm#pig
.. [#speedfont] http://www.jave.de/figlet/fonts/details/speed.htmlLicense
=======| Copyright 2014-2024 Wikimedia Foundation & Contributors.
|
| Scap is free software: you can redistribute it and/or modify
| it under the terms of the GNU General Public License as published by
| the Free Software Foundation, version 3.
|
| Scap is distributed in the hope that it will be useful,
| but WITHOUT ANY WARRANTY; without even the implied warranty of
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
| GNU General Public License for more details.
|
| You should have received a copy of the GNU General Public License
| along with this program. If not, see .