Commit Graph

39 Commits

Author SHA1 Message Date
Dmitrii Orlov
c36fc51da2
fix package script usage 2022-05-01 22:36:06 +02:00
Dmitrii Orlov
3ba17777da
chore(release-candidate-from-github-actions): add github action for release management (#417) 2022-03-25 19:31:39 +01:00
Matthew Planchard
df300de33d
Push to Docker Hub from CI (#375)
Adds a new helper script to determine which docker tags are needed for a
given ref going through CI, and uses those tags to populate the GH
actions matrix for a docker deploy step.
2021-02-07 20:24:33 -06:00
Matthew Planchard
d868005e1f
Docker improvements (#365)
* Docker improvements

This addresses much of what was brought up in #359. Specifically, it:

- Significantly improves testing for the Docker image, adding a
  `docker/test_docker.py` file using the regular pytest machinery to
  set up and run docker images for testing
- Hopefully addresses a variety of permissions issues, by being explicit
  about what access pypiserver needs and asking for it, only erroring
  if that access is not available
  - Requires RX permissions on `/data` (R to read files, X to list files
    and to be able to cd into the directory. This is important since
    `/data` is the `WORKDIR`)
  - Requires RWX permissions on `/data/packages`, so that we can list
    packages, write packages, and read packages.
  - When running in the default configuration (as root on Linux or
    as the pypiserver-named rootish user on Mac), with no volumes
    mounted, these requirements are all satisfied
  - Volume mounts still must be readable by the pypiserver user (UID
    9898) in order for the container to run. However, we now error early
    if this is not the case, and direct users to a useful issue.
  - If the container is run as a non-root, non-pypiserver user (e.g.
    because someone ran `docker run --user=<user_id>`, we try to run
    pypiserver as that user). Provided that user has access to the
    necessary directories, it should run fine.
- Fixes issues with running help and similar commands
- Updates the Docker image to use `PYPISERVER_PORT` for port
  specification, while still falling back to `PORT` for backwards
  compatibility
- Moves some docker-related things into a `/docker` directory
- Adds a `Makefile` for building a test fixture package sdist and wheel,
  so that test code can call `make mypkg` and not need to worry about it
  potentially building multiple times

The only issue #359 raises that's not addressed here is the one of
running pypiserver in the Docker container using some non-default server
for performance. I would like to do some benchmarking before deciding on
what to do there.
2021-02-06 11:28:15 -06:00
PelleK
4b1bd1c9db
Refactor test_server to increase speed (#354)
I gave test_server.py some much needed attention. This file now take ~30 seconds on my machine to run (down from 130 seconds), and I cleaned up the code a little. Let's see how this goes in CI

Commits:
-------------
* minimize time.sleep, convert to pathlib
* refactor, dry code
* run black

Co-authored-by: Matthew Planchard <mplanchard@users.noreply.github.com>
2020-11-15 15:57:53 -06:00
PelleK
8101cf9192
Run black on codebase (#336)
* run black on codebase

* add black check to travis ci

* add pyproject.toml, revert black on bottle.py

Co-authored-by: Pelle Koster <pelle.koster@nginfra.nl>
2020-10-05 21:04:22 -05:00
Matthew Planchard
4ab210c82b
MAINT: drop standalone, drop py 2.7 and 3.5 (#338) 2020-10-03 22:25:14 -05:00
Matthew Planchard
972f1616dd
Use GitLab as CI Provider (#269)
* Add gitlab CI

* minmor updates to readme in /bin

* no autodeploy; less scary
2019-09-17 20:44:15 -05:00
Matthew Planchard
d162d660c4
Updated test & requirements filename
Thanks for your PR! I was wondering why everyone kept complaining about
`bcrypt`, when my local tests were succeeding just fine, so I spent
some time making the docker test script replicate the error.

Turns out the `.htpasswd` files I was generating were using md5, so they
were not triggering the error. The htpasswd file in this update does
use bcrypt encryption, so it triggers a 500 error on the previous
version of the Dockerfile.

I also updated the test to be a bit more thorough, validating an
authenticated upload in addition to just making sure the server is
running.

The only other change I made was to move `requirements.txt` into a more
specific `docker-requirements.txt` file, just to make it clear that its
intention is to be a part of the docker build and not the normal install
process.
2019-01-31 09:16:54 +01:00
Matthew Planchard
4ed7b59925 Add docker to deployment README 2018-08-06 17:51:08 -05:00
Matthew Planchard
3e1a399fe3 Add simple functional tests for docker 2018-06-26 21:19:03 -05:00
Matthew Planchard
99d4f23ffb REL: Prep for v1.2.2 2018-06-12 19:58:31 -05:00
Matthew Planchard
c791d12292 FIX: Fallback URL, remove calls to pip.main
Resolves #205 - pypi.python.org shutting down

* Updated the default fallback URL to `pypi.org/simple` rather than
`pypi.python.org/simple`
* Scrubbed references and links to `pypi.python.org`
* Fixed tests breaking due to the removal of `pip.main()` in pip 10.0 -
see pypa/pip#5080 for more info
2018-06-11 20:31:03 -05:00
Kostis Anagnostopoulos
091b31504b fix(standalone): .standalone dir were already created by git-workdir
... and strangely `mkdir` were missing `-p` option.
2017-12-03 12:07:59 +02:00
Matthew Planchard
420491a1c1 Prep for v1.2.1 release 2017-11-29 18:49:27 -06:00
Matthew Planchard
ea92f16bf3 chore(ver): bump 1.2.1.dev0-->1.2.1rc0 2017-11-14 11:51:26 -06:00
Kostis Anagnostopoulos
627ebf5b4a doc(build): checklist for release in new file /bin/RESDME.rst 2017-11-01 10:47:28 +02:00
Kostis Anagnostopoulos
6e930c5621 feat(build): add /bin/bumpver.py script to facilitate new releases 2017-10-31 21:03:17 +02:00
Kostis Anagnostopoulos
a9d8c18163 chore(travis): +py36, +pypy3, no-sudo, with tox-travis plugin
from https://github.com/tox-dev/tox-travis
2017-10-31 12:55:31 -05:00
Matthew Planchard
4b94647cef * trying update within gen-standalone again 2016-07-17 16:35:39 -05:00
Matthew Planchard
3244424352 Back to --no-check-certificate 2016-07-17 16:28:39 -05:00
Matthew Planchard
45cc42c5a6 Local certfile 2016-07-17 16:25:09 -05:00
Matthew Planchard
c6a8568e74 * attempting cert update within gen_standalone.sh 2016-07-17 15:38:53 -05:00
Matthew Planchard
da240aabc9 * verifying whether it is a cert problem 2016-07-17 15:29:03 -05:00
Matthew Planchard
b01bf47b96 * added debug flags to bash scripts 2016-07-17 15:23:20 -05:00
Matthew Planchard
14c599773b * Attempt to update certs via travis 2016-07-17 15:04:00 -05:00
Matthew Planchard
78f04c3a70 * Fixed bash syntax error 2016-07-17 15:00:15 -05:00
Matthew Planchard
cee57dfe89 * Manual cert update 2016-07-17 14:58:18 -05:00
Kostis Anagnostopoulos
18e5a8dbcb FIX #154, docs: TC-script checking README RST-compliance for PyPi. 2016-06-28 13:05:11 +02:00
Kostis Anagnostopoulos
2667df7125 Add forgotten #101 speed-up in CHANGES.
+ doc: Add example *nginx* config for speeding-up serving of packages.
+ build: Explain which file to use for building standalone.
[ci skip]
2016-01-19 21:21:08 +01:00
ankostis on tokoti
e044b8e74e build: fix package.sh to run from everywhere. 2015-09-19 02:14:49 +02:00
Kostis Anagnostopoulos
189deb367b FIX gen-standalone script & make it fail on errors. 2015-09-17 13:12:49 +02:00
ankostis on tokoti
993f33f57f Engrave release times. 2015-09-17 02:05:20 +02:00
Kostis Anagnostopoulos
ff6fa87a8e Add gen-package script. 2015-09-17 01:53:42 +02:00
ankostis on tokoti
8303a99806 Simplify dependencies in standalone.
+ Submodules repor in github is not used anymore.
2015-09-17 01:39:13 +02:00
ankostis on tokoti
133afe28f7 Rework standalone generation using ZIP.
+ Standalone executable based on wheel.
+ Properly use `pkg_resources` so reading `welcome-msg` file
  works even from within zip.
  + Mark `zip_safe=True` in setup.py.
+ Delete forgotten distutils startup script.
+ Build standalone before installing anything else,
  to check if any deps are missing.
+ Restore py25 in Travis.
2015-09-17 01:13:37 +02:00
Kostis Anagnostopoulos at STUW025
88668ce8b0 Download git-new-workdir for STANDALONE.
+ Set exec-permissions in git.
+ FIX standalone-creation TC.
2015-09-14 18:47:33 +02:00
ankostis on tokoti
bd3612d79a FIX standalone generation under PY3.
Add standalone-creation TC.
2015-09-14 09:56:53 +02:00
ankostis on tokoti
73cb652130 Move standalone script into /bin. 2015-09-14 00:26:16 +02:00