Skip to content

Commit 009935b

Browse files
abhinavsinghpre-commit-ci[bot]dependabot[bot]webknjaz
authored
v2.4.0rc3 (#882)
* Merge pull request #840 from abhinavsingh/release-schedule-notes Add release schedule under FAQ * Green CI (#841) * Cleanup parser & url classes (#843) * Optimize parser logic * Add `is_complete` property * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * pre commit fixes * We need `ValueError` * wuff * useless * flake8 * Simplify url Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * pip prod(deps): bump twine from 3.6.0 to 3.7.0 (#845) Bumps [twine](https://github.com/pypa/twine) from 3.6.0 to 3.7.0. - [Release notes](https://github.com/pypa/twine/releases) - [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst) - [Commits](pypa/twine@3.6.0...3.7.0) --- updated-dependencies: - dependency-name: twine dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * npm: bump jasmine from 3.6.3 to 3.10.0 in /dashboard (#844) Bumps [jasmine](https://github.com/jasmine/jasmine-npm) from 3.6.3 to 3.10.0. - [Release notes](https://github.com/jasmine/jasmine-npm/releases) - [Commits](jasmine/jasmine-npm@v3.6.3...v3.10.0) --- updated-dependencies: - dependency-name: jasmine dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Abhinav Singh <[email protected]> * npm: bump chrome-devtools-frontend in /dashboard (#846) Bumps [chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend) from 1.0.944903 to 1.0.947377. - [Release notes](https://github.com/ChromeDevTools/devtools-frontend/releases) - [Changelog](https://github.com/ChromeDevTools/devtools-frontend/blob/main/docs/release_management.md) - [Commits](https://github.com/ChromeDevTools/devtools-frontend/commits) --- updated-dependencies: - dependency-name: chrome-devtools-frontend dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * pip prod(deps): bump coverage from 6.1.2 to 6.2 (#847) Bumps [coverage](https://github.com/nedbat/coveragepy) from 6.1.2 to 6.2. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](nedbat/coveragepy@6.1.2...6.2) --- updated-dependencies: - dependency-name: coverage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Abhinav Singh <[email protected]> * Fix GHA check-gate to properly identify failures (#849) * pip prod(deps): bump pylint from 2.12.1 to 2.12.2 (#851) Bumps [pylint](https://github.com/PyCQA/pylint) from 2.12.1 to 2.12.2. - [Release notes](https://github.com/PyCQA/pylint/releases) - [Changelog](https://github.com/PyCQA/pylint/blob/main/ChangeLog) - [Commits](pylint-dev/pylint@v2.12.1...v2.12.2) --- updated-dependencies: - dependency-name: pylint dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * npm: bump @types/js-cookie from 2.2.6 to 3.0.1 in /dashboard (#850) Bumps [@types/js-cookie](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/js-cookie) from 2.2.6 to 3.0.1. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/js-cookie) --- updated-dependencies: - dependency-name: "@types/js-cookie" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Abhinav Singh <[email protected]> * pip prod(deps): bump sphinx from 4.3.0 to 4.3.1 (#853) Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.3.0 to 4.3.1. - [Release notes](https://github.com/sphinx-doc/sphinx/releases) - [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES) - [Commits](sphinx-doc/sphinx@v4.3.0...v4.3.1) --- updated-dependencies: - dependency-name: sphinx dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * pip prod(deps): bump paramiko from 2.8.0 to 2.8.1 (#855) * npm: bump ws from 7.4.6 to 8.3.0 in /dashboard (#854) * pip prod(deps): bump uvicorn from 0.15.0 to 0.16.0 (#857) Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.15.0 to 0.16.0. - [Release notes](https://github.com/encode/uvicorn/releases) - [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md) - [Commits](encode/uvicorn@0.15.0...0.16.0) --- updated-dependencies: - dependency-name: uvicorn dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * npm: bump chrome-devtools-frontend in /dashboard (#856) Bumps [chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend) from 1.0.947377 to 1.0.949424. - [Release notes](https://github.com/ChromeDevTools/devtools-frontend/releases) - [Changelog](https://github.com/ChromeDevTools/devtools-frontend/blob/main/docs/release_management.md) - [Commits](https://github.com/ChromeDevTools/devtools-frontend/commits) --- updated-dependencies: - dependency-name: chrome-devtools-frontend dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Abhinav Singh <[email protected]> * Process `--enable-*` flags before loading plugins (#860) * Process `--enable-*` flags before loading plugins * Fix spelling * Ignore RST299 and RST499 * npm: bump http-server from 0.12.3 to 14.0.0 in /dashboard (#858) Bumps [http-server](https://github.com/http-party/http-server) from 0.12.3 to 14.0.0. - [Release notes](https://github.com/http-party/http-server/releases) - [Commits](http-party/http-server@v0.12.3...v14.0.0) --- updated-dependencies: - dependency-name: http-server dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Abhinav Singh <[email protected]> * pip prod(deps): bump furo from 2021.11.15 to 2021.11.23 (#859) Bumps [furo](https://github.com/pradyunsg/furo) from 2021.11.15 to 2021.11.23. - [Release notes](https://github.com/pradyunsg/furo/releases) - [Changelog](https://github.com/pradyunsg/furo/blob/main/docs/changelog.md) - [Commits](pradyunsg/furo@2021.11.15...2021.11.23) --- updated-dependencies: - dependency-name: furo dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Abhinav Singh <[email protected]> * Update web log context fields to match proxy log context fields (#861) * Update web log context fields to match those with proxy log context for consistency * Fix spell * Fix `DEFAULT_WEB_ACCESS_LOG_FORMAT` * pip prod(deps): bump pytest-xdist from 2.4.0 to 2.5.0 (#864) Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from 2.4.0 to 2.5.0. - [Release notes](https://github.com/pytest-dev/pytest-xdist/releases) - [Changelog](https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst) - [Commits](pytest-dev/pytest-xdist@v2.4.0...v2.5.0) --- updated-dependencies: - dependency-name: pytest-xdist dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * npm: bump eslint-plugin-node from 10.0.0 to 11.1.0 in /dashboard (#863) Bumps [eslint-plugin-node](https://github.com/mysticatea/eslint-plugin-node) from 10.0.0 to 11.1.0. - [Release notes](https://github.com/mysticatea/eslint-plugin-node/releases) - [Commits](mysticatea/eslint-plugin-node@v10.0.0...v11.1.0) --- updated-dependencies: - dependency-name: eslint-plugin-node dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Abhinav Singh <[email protected]> * Fix broken TLS interception & CacheResponsesPlugin because UID is no longer a UUID (#866) * Fix broken TLS interception because uid is now no longer a UUID * Give enough context to work id for them to be unique within a `proxy.py` instance * Use --port=0 by default within `proxy.TestCase` * Attempt to fix weird buildx issue * Add makefile targets within workflow * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Order? * Write scm file for make * Fetch depth * Quote patch * Try with sudo? * docker/buildx#850 * Remove sudo hack * https://github.com/docker/buildx/issues/850\#issuecomment-973270625 * Add explicit deps * Add `requirements-testing.txt` during linting phase * Pin buildx to v0.7.1 * Pin buildx to v0.7.0 * Revert back unnecessary change to dockerignore * Skip container within make workflow (because GHA lacks support for docker on macOS by default) * Repurpose make into developer workflow Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Integrate showing unreleased changelog draft (#873) * pip prod(deps): bump types-paramiko from 2.8.2 to 2.8.4 (#868) * npm: bump @types/jasmine from 3.6.1 to 3.10.2 in /dashboard (#867) * pip prod(deps): bump py-spy from 0.3.10 to 0.3.11 (#875) Bumps [py-spy](https://github.com/benfred/py-spy) from 0.3.10 to 0.3.11. - [Release notes](https://github.com/benfred/py-spy/releases) - [Changelog](https://github.com/benfred/py-spy/blob/master/CHANGELOG.md) - [Commits](benfred/py-spy@v0.3.10...v0.3.11) --- updated-dependencies: - dependency-name: py-spy dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Abhinav Singh <[email protected]> * [GHA] Add container integration test & publish containers to GHCR (#818) * Handle KBI in threadless * Remove line-length disable clause * Move `Set PROXYPY_CONTAINER_VERSION env` within pre-setup * Use step output * Use review suggestion * Break line at less essential places * Possibly fix? * alignment necessary? * :) * Fix integration * Add `v` prefix * Load buildx image within docker for integration tests to work * Run container in detached mode * Enable web server for integration test to work * Push to GHCR after successful tests * Tag & Push to GHCR * Add package permission * Login to GHCR * Login to GHCR * Login to GHCR * Explicitly use ghcr.io registry * Add a ghcr manifest creation step which depends upon docker step * Probably we need all images (tags) locally * arm not amd * Fix syntax * Fix typo * `Unable to find image ghcr.io/abhinavsingh/proxy.py:latest locally` * GHCR doesnt support manifest? * Publish multi-platform containers on GHCR (#877) * Build containers without matrix based strategy. Helps with buildx based manifest generation * Use buildx directly in workflows * Add PROXYPY_PKG_PATH arg * Add missing . * --push from buildx * Also add latest tag for GHCR * Fix typo * Explain differences between latest tag on DockerHub (stable) and GHCR (develop) * Publish multi-platform containers to DockerHub (#878) * Use `--local-executor` flag by default for Docker container (#880) * Benchmark gets packaged within wheel if set as a package * Use `--local-executor` flag by default for Docker containers * Dockerfile update * Fix mypy issues * Remove conflicting dir names * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sviatoslav Sydorenko <[email protected]>
1 parent e473eb1 commit 009935b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+890
-502
lines changed

.flake8

+2
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,9 @@ extend-ignore =
7373
Q003 # FIXME: avoid escaping in-string quotes
7474
RST201 # FIXME: missing trailing blank line in docstring
7575
RST203 # FIXME: no trailing blank line in docstring
76+
RST299 # FIXME: Cannot extract compound bibliographic field "copyright"
7677
RST301 # FIXME: unexpected indent in docstring
78+
RST499 # FIXME: Missing matching underline for section title overline
7779
S101 # FIXME: assertions are thrown away in optimized mode, needs audit
7880
S104 # FIXME: bind-all interface listen
7981
S105 # FIXME: hardcoded password?

.github/buildkitd.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[worker.oci]
22
max-parallelism = 4
33
[registry."docker.io"]
4-
mirrors = ["mirror.gcr.io"]
4+
mirrors = ["ghcr.io"]

.github/workflows/test-library.yml

+150-46
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
# yamllint disable rule:line-length
32
name: lib
43

54
on: # yamllint disable-line rule:truthy
@@ -67,6 +66,7 @@ jobs:
6766
git-tag: ${{ steps.git-tag.outputs.tag }}
6867
sdist-artifact-name: ${{ steps.artifact-name.outputs.sdist }}
6968
wheel-artifact-name: ${{ steps.artifact-name.outputs.wheel }}
69+
container-version: v${{ steps.container.outputs.version }}
7070
steps:
7171
- name: Switch to using Python 3.9 by default
7272
uses: actions/setup-python@v2
@@ -195,6 +195,16 @@ jobs:
195195
&& github.event.inputs.release-version
196196
|| steps.scm-version.outputs.dist-version
197197
}}-py3-none-any.whl')
198+
- name: Calculate container attributes
199+
id: container
200+
shell: bash
201+
run: >-
202+
VER=$(echo '${{
203+
steps.request-check.outputs.release-requested == 'true'
204+
&& github.event.inputs.release-version
205+
|| steps.scm-version.outputs.dist-version
206+
}}' | tr + .);
207+
echo "::set-output name=version::$VER"
198208
199209
build:
200210
name: 👷 dists ${{ needs.pre-setup.outputs.git-tag }}
@@ -547,11 +557,6 @@ jobs:
547557
# a pull request then we can checkout the head.
548558
fetch-depth: 2
549559

550-
# If this run was triggered by a pull request event, then checkout
551-
# the head of the pull request instead of the merge commit.
552-
- run: git checkout HEAD^2
553-
if: ${{ github.event_name == 'pull_request' }}
554-
555560
# Initializes the CodeQL tools for scanning.
556561
- name: Initialize CodeQL
557562
uses: github/codeql-action/init@v1
@@ -631,45 +636,67 @@ jobs:
631636
npm run build
632637
cd ..
633638
634-
docker:
635-
# TODO: To build our docker container, we must wait for check,
636-
# so that we can use the same distribution available.
639+
developer:
637640
runs-on: ${{ matrix.os }}-latest
641+
name: 🧑‍💻 👩‍💻 👨‍💻 Developer setup ${{ matrix.node }} @ ${{ matrix.os }}
642+
strategy:
643+
matrix:
644+
os: [ubuntu, macOS]
645+
python: ['3.10']
646+
fail-fast: false
647+
steps:
648+
- uses: actions/checkout@v2
649+
with:
650+
fetch-depth: 0
651+
- name: Setup Python
652+
uses: actions/setup-python@v2
653+
with:
654+
python-version: ${{ matrix.python }}
655+
- name: Install Pip Dependencies
656+
run: |
657+
make lib-dep
658+
- name: Run essentials
659+
run: |
660+
./write-scm-version.sh
661+
python3 check.py
662+
make https-certificates
663+
make sign-https-certificates
664+
make ca-certificates
665+
python3 -m proxy --version
666+
667+
docker:
668+
runs-on: Ubuntu-latest
669+
permissions:
670+
packages: write
638671
needs:
639672
- build
640673
- pre-setup # transitive, for accessing settings
641-
name: 🐳 🐍${{ matrix.python }} @ ${{ matrix.targetplatform }}
674+
name: 🐳 containerize
642675
strategy:
643-
matrix:
644-
os:
645-
- Ubuntu
646-
python:
647-
- '3.10'
648-
targetplatform:
649-
- 'linux/386'
650-
- 'linux/amd64'
651-
- 'linux/arm/v6'
652-
- 'linux/arm/v7'
653-
- 'linux/arm64/v8'
654-
- 'linux/ppc64le'
655-
- 'linux/s390x'
656-
# max-parallel: 1
657676
fail-fast: false
658677
steps:
659678
- name: Checkout
660679
uses: actions/checkout@v2
680+
- name: Download all the dists
681+
uses: actions/download-artifact@v2
682+
with:
683+
name: python-package-distributions
684+
path: dist/
685+
- name: Login to GHCR
686+
uses: docker/login-action@v1
687+
with:
688+
registry: ghcr.io
689+
username: ${{ github.actor }}
690+
password: ${{ secrets.GITHUB_TOKEN }}
661691
- name: Set up Docker Buildx
662692
id: buildx
663693
uses: docker/setup-buildx-action@v1
694+
# See https://github.com/docker/buildx/issues/850#issuecomment-996408167
664695
with:
696+
version: v0.7.0
665697
buildkitd-flags: --debug
666698
config: .github/buildkitd.toml
667699
install: true
668-
- name: Download all the dists
669-
uses: actions/download-artifact@v2
670-
with:
671-
name: python-package-distributions
672-
path: dist/
673700
- name: Enable Multiarch # This slows down arm build by 4-5x
674701
run: |
675702
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
@@ -679,32 +706,80 @@ jobs:
679706
docker buildx use proxypybuilder
680707
docker buildx inspect
681708
docker buildx ls
682-
- name: Set PROXYPY_CONTAINER_VERSION
683-
run: |
684-
echo "PROXYPY_CONTAINER_VERSION=$(echo '${{ needs.pre-setup.outputs.dist-version }}' | tr + .)" > $GITHUB_ENV
685-
- name: Build container
686-
run: |
687-
make container-buildx \
688-
-e PROXYPY_PKG_PATH='dist/${{ needs.pre-setup.outputs.wheel-artifact-name }}' \
689-
-e BUILDX_TARGET_PLATFORM='${{ matrix.targetplatform }}' \
690-
-e PROXYPY_CONTAINER_VERSION='${{ env.PROXYPY_CONTAINER_VERSION }}'
709+
- name: Build, run & test container
710+
run: >-
711+
CONTAINER_TAG="abhinavsingh/proxy.py:${{
712+
needs.pre-setup.outputs.container-version
713+
}}";
714+
docker buildx build
715+
--load
716+
--build-arg PROXYPY_PKG_PATH='dist/${{
717+
needs.pre-setup.outputs.wheel-artifact-name
718+
}}'
719+
-t $CONTAINER_TAG .
720+
&&
721+
docker run
722+
-d
723+
-p 8899:8899
724+
$CONTAINER_TAG
725+
--hostname 0.0.0.0
726+
--enable-web-server
727+
--local-executor && ./tests/integration/test_integration.sh 8899
728+
- name: Push to GHCR
729+
run: >-
730+
PLATFORMS=linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x;
731+
REGISTRY_URL="ghcr.io/abhinavsingh/proxy.py";
732+
CONTAINER_TAG=$REGISTRY_URL:${{
733+
needs.pre-setup.outputs.container-version
734+
}};
735+
LATEST_TAG=$REGISTRY_URL:latest;
736+
docker buildx build
737+
--push
738+
--platform $PLATFORMS
739+
--build-arg PROXYPY_PKG_PATH='dist/${{
740+
needs.pre-setup.outputs.wheel-artifact-name
741+
}}'
742+
-t $CONTAINER_TAG
743+
-t $LATEST_TAG .
744+
- name: Login to DockerHub
745+
uses: docker/login-action@v1
746+
with:
747+
username: abhinavsingh
748+
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
749+
- name: Push to DockerHub
750+
run: >-
751+
PLATFORMS=linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x;
752+
REGISTRY_URL="abhinavsingh/proxy.py";
753+
CONTAINER_TAG=$REGISTRY_URL:${{
754+
needs.pre-setup.outputs.container-version
755+
}};
756+
docker buildx build
757+
--push
758+
--platform $PLATFORMS
759+
--build-arg PROXYPY_PKG_PATH='dist/${{
760+
needs.pre-setup.outputs.wheel-artifact-name
761+
}}'
762+
-t $CONTAINER_TAG .
691763
692764
check: # This job does nothing and is only used for the branch protection
765+
if: always()
766+
693767
needs:
694768
- analyze
695769
- test
696770
- lint
697771
- docker
698772
- dashboard
699773
- brew
774+
- developer
700775

701-
runs-on: ubuntu-latest
776+
runs-on: Ubuntu-latest
702777

703778
steps:
704-
- name: Report success of the test matrix
705-
run: >-
706-
print("All's good")
707-
shell: python
779+
- name: Decide whether the needed jobs succeeded or failed
780+
uses: re-actors/alls-green@release/v1
781+
with:
782+
jobs: ${{ toJSON(needs) }}
708783

709784
publish-pypi:
710785
name: Publish 🐍📦 ${{ needs.pre-setup.outputs.git-tag }} to PyPI
@@ -729,13 +804,13 @@ jobs:
729804
name: python-package-distributions
730805
path: dist/
731806
- name: >-
732-
Publish 🐍📦 v${{ needs.pre-setup.outputs.git-tag }} to PyPI
807+
Publish 🐍📦 ${{ needs.pre-setup.outputs.git-tag }} to PyPI
733808
uses: pypa/gh-action-pypi-publish@release/v1
734809
with:
735810
password: ${{ secrets.PYPI_TOKEN }}
736811
737812
publish-testpypi:
738-
name: Publish 🐍📦 to TestPyPI
813+
name: Publish 🐍📦 ${{ needs.pre-setup.outputs.git-tag }} to TestPyPI
739814
needs:
740815
- check
741816
- pre-setup # transitive, for accessing settings
@@ -758,12 +833,41 @@ jobs:
758833
name: python-package-distributions
759834
path: dist/
760835
- name: >-
761-
Publish 🐍📦 v${{ needs.pre-setup.outputs.git-tag }} to TestPyPI
836+
Publish 🐍📦 ${{ needs.pre-setup.outputs.git-tag }} to TestPyPI
762837
uses: pypa/gh-action-pypi-publish@release/v1
763838
with:
764839
password: ${{ secrets.TESTPYPI_API_TOKEN }}
765840
repository_url: https://test.pypi.org/legacy/
766841
842+
# publish-docker:
843+
# name: Publish 🐳 📦 ${{ needs.pre-setup.outputs.git-tag }} to Docker Hub
844+
# needs:
845+
# - check
846+
# - pre-setup # transitive, for accessing settings
847+
# if: >-
848+
# fromJSON(needs.pre-setup.outputs.release-requested)
849+
# runs-on: Ubuntu-latest
850+
851+
# environment:
852+
# name: release-docker
853+
# url: >-
854+
# https://test.pypi.org/project/proxy.py/${{
855+
# needs.pre-setup.outputs.dist-version
856+
# }}
857+
858+
# steps:
859+
# - name: Download all the dists
860+
# uses: actions/download-artifact@v2
861+
# with:
862+
# name: python-package-distributions
863+
# path: dist/
864+
# - name: >-
865+
# Publish 🐳 📦 ${{ needs.pre-setup.outputs.git-tag }} to Docker Hub
866+
# uses: pypa/gh-action-pypi-publish@release/v1
867+
# with:
868+
# password: ${{ secrets.TESTPYPI_API_TOKEN }}
869+
# repository_url: https://test.pypi.org/legacy/
870+
767871
post-release-repo-update:
768872
name: >-
769873
Publish post-release Git tag

CHANGELOG.md

+16-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
1-
<!-- markdownlint-disable no-duplicate-heading -->
1+
<!-- markdownlint-disable no-duplicate-heading no-multiple-blanks -->
22
# Changelog
33

44
All notable changes to this project will be documented in this file.
55

6-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
7-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6+
[//]: # (DO-NOT-REMOVE-versioning-promise-START)
7+
8+
```{note}
9+
The change notes follow [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
10+
except for the title formatting, and this project adheres to [Semantic
11+
Versioning](https://semver.org/spec/v2.0.0.html).
12+
```
13+
14+
<!--
15+
Do *NOT* manually add changelog entries here!
16+
This changelog is managed by Towncrier and is built at release time.
17+
See https://proxypy.rtfd.io/en/latest/contributing/guidelines#adding-change-notes-with-your-prs
18+
for details. Or read
19+
https://github.com/ansible/ansible-language-server/tree/main/docs/changelog-fragments.d#adding-change-notes-with-your-prs
20+
-->
821

922
<!-- towncrier release notes start -->
1023

Dockerfile

+6-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ LABEL com.abhinavsingh.name="abhinavsingh/proxy.py" \
66
👷 \"Work\" acceptor & executor framework" \
77
com.abhinavsingh.url="https://github.com/abhinavsingh/proxy.py" \
88
com.abhinavsingh.vcs-url="https://github.com/abhinavsingh/proxy.py" \
9-
com.abhinavsingh.docker.cmd="docker run -it --rm -p 8899:8899 abhinavsingh/proxy.py"
9+
com.abhinavsingh.docker.cmd="docker run -it --rm -p 8899:8899 abhinavsingh/proxy.py" \
10+
org.opencontainers.image.source="https://github.com/abhinavsingh/proxy.py"
1011
ENV PYTHONUNBUFFERED 1
1112
ARG PROXYPY_PKG_PATH
1213

@@ -25,4 +26,7 @@ RUN apk update && apk add openssl
2526

2627
EXPOSE 8899/tcp
2728
ENTRYPOINT [ "proxy" ]
28-
CMD [ "--hostname=0.0.0.0" ]
29+
CMD [ \
30+
"--hostname=0.0.0.0" \
31+
"--local-executor" \
32+
]

0 commit comments

Comments
 (0)