Commit Graph

29 Commits

Author SHA1 Message Date
Mitja O 6c43e19758
chore: solve deprecated `types-pkg_resources` (#589)
* chore: remove deprecated pip install

* chore: add the suggested alternative
2024-08-20 12:01:02 +02:00
Mitja O 31c9cf14d1
fix: deprecated `setuptools.py` when building in `package.sh` (#568)
* fix: deprecated-setuptools-in-package.sh

* chore: include package build in non-tag ci

* chore: install requirements before building
2024-04-25 01:07:24 +02:00
Mitja O 2619c17602
fix: use the right env variables in `release-tag` workflow (#569)
fix: env variable
2024-04-25 00:55:36 +02:00
Mitja O 2f0a56c380
fix: support Python 3.12 (#539)
* chore: pin explicit Python 3.12

* chore: add a `test-python` for stable Python

* chore: empty commit

* chore: add some FIXMEs

* chore: add `packaging`

* chore(wip): replace `LegacyVersion` with `packaging`'s `parse`

* chore(wip): bypass `strtobool` usage

* chore(wip): `pkg_resources` are deprecated

* chore(wip): naive way to support Python <3.12

* chore(wip): swap import order

* chore(wip): try fixing version check

* chore: add a fixme

* chore(wip): reverse legacy pip check

* chore(wip): legacy pip  check for 9 or lower

* fix: fix the legacy pip check

* chore: small cleanup

* chore(wip): try the `importlib_resources`

* chore: add small comment

* chore(wip): avoid `setup.py` in fixtures

* chore(wip): version-compatible wheel build

* chore: install `build` for `3.8` too

* fix: mypy issues

* chore: fix comments

* fix: more formatting fixes

* fix: mdformat

* fix: pass wrong auth to `failed_auth` test

* chore: cleanup packages before and after test runs

* chore(wip): try to bypass test error

* chore: add a tech debt comment

* chore: undo too many changes

* chore(wip): small debug experiment

* chore(wip): skip some tests

* chore(wip): use nonsense code

* fix(chore): small fix to the nonsense code

* chore(wip): try `--force-reinstall`

* chore: finalize the docker tests
2024-04-01 21:30:02 +02:00
Mitja O 84bf12cdd4
chore: make the last supported python version explicit in `ci.yaml` (#558)
* chore: make the last supported python version explicit

* fix: formatting
2024-04-01 12:23:42 +02:00
Chuck CBW d588913e75
feat: Bump github action versions and add multiarch support (#553)
feat: bump github action versions and add multiarch support
2024-04-01 11:33:17 +02:00
Mitja O e788785fa4
Fix: dockerhub description readme (#533)
* fix: specify long_description MD type

* chore: black formatting

* fix: set the docker hub description
2023-10-01 15:42:40 +02:00
Mitja O ad9fb4a3b5
chore: simpler release_tag action (#530)
- no CHANGES check
- support dry-run mode
2023-10-01 15:12:03 +02:00
Mitja O 6417769207
chore: add GitHub container registry for stable images (#521)
* chore: extend docs

* chore(wip): attach ghcr

* chore(test): mock a docker-build-push run

* chore(test): verify `unstable` skips GHCR

* chore(test): second mock attempt to skip GHCR

* chore: cleanup after successful tests
2023-08-30 12:29:02 +02:00
Mitja O 4645f7b10a
chore: cleanup release process (#516)
* chore: convert bin/README to md

* feat: replace all dates with bumpver

* chore: date in README is now changed by `bumpver`

* chore: clarify the RC workflow

* chore: use global `/tmp` in RC

* chore: slightly prettier description

* chore: move changes file to env

* chore: introduce release_tag workflow

chore(wip): test trigger on PR

chore(wip): add filtered diff

chore(wip): switch to PATTERNS

chore(wip): up to bumpver

chore(wip): temporary disable check

chore(wip): setup python

chore(wip): test with a specific version

chore(wip): test bumpver commit

chore(wip): fix the bumpver usage

chore: cleanup the release_tag workflow

* chore: create draft release from CI

* chore: update the docs

* chore: provide details on the release process

* chore: tiny header update

* chore: remove commented-out code
2023-08-27 16:11:54 +02:00
Glenn f14b92cfbf
readme output diff on format error (#512)
* feat: dependabot

- add dependabot yml file to look in the docker & requirements folders
- split the requirements out of the test.pip into a test-requirements.pip file so dependabot recognizes it

It was found that in order to have the python dependabot
recognize the requirements a naming convention had to be
followed

* feat: dependabot

alter to monthly

* feat: markdown diff

Add a conditional check to output a diff between
what mdformat expects and what is actually in the
README.
2023-08-22 12:40:48 +02:00
Glenn 9edae77659
Feature/markdown conversion (#503)
* feat: markdown conversion

logo and badges

* feat: markdown conversion

fix logo path

* feat: markdown

table changes

* feat: markdown

table alignment

* feat: markdown

check toc

* feat: markdown

toc additions

* feat: markdown

quickstart section

* feat: dependabot

more details section in quick start

* feat: dependabot

correct bold

* feat: markdown

client side config, pip

* feat: markdown

typo in title

* feat: markdown

typo in configuring pip

* feat: markdown

apache like authentication section
an initial cut to view the markdown
in github

* feat: markdown

typo in markdown link

* feat: markdown

remove trailing colon

* feat: markdown

typo in shell markdown

* feat: markdown

standardize on 4 space indent in shell code block

* feat: markdown

complete markdown for section up to alternate installation methods

* feat: markdown

add more of the contents to test with

* feat: markdown

contents

* feat: markdown

contents

* feat: markdown

contents

* feat: markdown
dquote>
dquote> recipes

* feat: markdown
dquote>
dquote> recipes

* feat: markdown
dquote>
dquote> up to licensing

* feat: markdown
dquote>
dquote> contents

* Update README.md

Missing exclamation mark

* Update README.md

missing link

* Update README.md

remove duplicated text

* Update README.md

bold differences it Table of contents

* Update README.md

additional bold changes in table of contents

* Update README.md

broken link

* Update README.md

typo in link fix

* Update README.md

change code block to text as shell highlighting was showing some items in red

* Update README.md

code block shell to text

* Update README.md

correct pypi-server update section

* feat: markdown
dquote>
dquote> link back to TOC title

* Update README.md

change link to TOC title

* Update README.md

link test

* Update README.md

link update

* Update README.md

link update

* Update README.md

link update

* feat: markdown

links

* Update README.md

change the level of indent for uploading packages remotely

* Update README.md

add link to python-pam

* feat: markdown

apache link to TOC not working.

* Update README.md

grammar

* Update README.md

typo bold

* feat: markdown

undo bolded text in TOC and titles as linking does
not work

* feat: markdown

remove bold from TOC

* feat: feature

more link issues

* feat: markdown

fixing broken links

* feat: markdown

change text slightly as markdown only links to plain text

* feat: markdown

typo

* feat: markdown

more link typos

* Update README.md

typo in link

* Update README.md

link will not work with braces in the titles

* feat: markdown

run mdformat and apply changes, :) lint!

* feat:  markdown

- check via mdformat
- remove old check script
- update test-requirements.txt

* feat: markdown

correct the errors in the mdformat run command

* feat: markdown

for testing remove all the actual jobs

* feat: markdown

re-run mdformat

* feat: markdown

put the jobs back in after testing the mdformat
cmd for passing and failing via workflow dispatch

* feat: markdown

remove references to README.md

* feat: markdown

change action to workflow dispatch for testing

* feat: markdown

- update docker igore
- alter unit test to look for version number after md changes

* feat: markdown

black linting

* feat: markdown

update comments

* feat: markdown

update bumpver to look at md rather than rst file

* feat: markdown

replace workflow dispatch with pull request
to get ready for the final PR

* feat: markdown-delete-original

delete the original rst file

* feat: markdown-delete-original

change ci to workflow dispatch for testing

* feat: markdown-delete-original

revert workflow dispatch

* feat: markdown-badge-links

set the links back to the original
URLs.

* feat: markdown-badge-links

fix brackets

* feat: markdown

update the version and date

* feat: markdown conversion

markdown changes to conform to mdformat tooling.
2023-08-15 11:16:30 +02:00
Glenn 85e065e1ad
Feat/dependabot (#493)
* feat: dependabot

- add dependabot yml file to look in the docker & requirements folders
- split the requirements out of the test.pip into a test-requirements.pip file so dependabot recognizes it

It was found that in order to have the python dependabot
recognize the requirements a naming convention had to be
followed

* feat: dependabot

alter to monthly
2023-06-23 17:15:46 +00:00
Dmitrii O 383c936fb8
chore: disable tests on Python3.6 (#471) 2023-02-02 12:44:46 +01:00
Dmitrii Orlov 0ba44b54f1
fix: force setuptools update + no duplicate runs in GH Actions (#445)
* fix: run on push only on master, otherwise only in PRs

* fix: pin versions

* chore: print python version

* chore: print python version

* chore: force upgrade setuptools & remove version prints
2022-10-28 00:47:45 +02:00
Christian Clauss 6ea316c4c1
Upgrade GitHub Actions (#447)
* Upgrade GitHub Actions

* Update ci.yml

* Update ci.yml

* Drop Python 3.11-dev

* Re-add Python 3.6

* Re-add py36
2022-10-19 09:19:58 +02:00
Dmitrii Orlov c36fc51da2
fix package script usage 2022-05-01 22:36:06 +02:00
Dmitrii Orlov 5308fba405
add tag ref for GH action 2022-04-26 02:12:49 +02:00
Dmitrii Orlov 1f26b20421
fix(simplify-release-gh-actions): release in CI.yml (#428)
* get the release jobs back in ci.yml

* Delete unnecessary RLS workflow

* make both jobs depend on tests
2022-04-26 01:05:49 +02:00
Dmitrii Orlov 4d81ea7124
chore(package-release-from-gh-actions): Adding release management to GitHub actions (#423)
* Basic attempt for a release workflow in GH Actions

* move docker release to `release.yml`

* return the docker steps to ci.yml

* return the deploy-docker step to release.yml

* add wait for tests GA
2022-04-01 17:49:04 +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
Dmitrii Orlov 652a7171a6 disable tests for python3.9 2021-11-16 21:04:25 +01:00
Dmitrii Orlov 48688d7e4c
Merge branch 'master' into tp-fix-mypy-check-dependencies-for-CI 2021-09-02 13:18:40 +02:00
Dmitrii Orlov be39eb2f05 Allow GH actions to run on pull requests for forks 2021-08-27 09:19:33 +02:00
Dmitrii Orlov a1002c5e99 Install requires stub types for mypy in ci.yml 2021-08-27 09:11:26 +02: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
Matthew Planchard df7454ff20
Add aggregate "tests" job (#370)
Adds an aggregate "tests" job to CI so that we can gate merges on that
without needing to keep merge gates up-to-date with the names of the
various jobs that collectively represent "all tests".

Also dropped the `pull-request` trigger, which I included originally
because I wasn't sure whether the tests on push would run for forks,
which they do!
2021-02-02 20:36:41 -06:00
Matthew Planchard d0694d9e15
Switch to GH actions (#361)
* Switch to GH actions

Removes the travis config and adds a GH actions config. Resolves #360.

As part of this:

- only runs the README check once, instead of for each python version
- only runs mypy once, removing it from tox
- unifies the pypy and cpython tests in tox by separating dev and test
  requirements, and only installing the latter for running tests in tox

* Update README w/badge & link to GH actions tests
2020-11-15 20:08:58 -06:00