diff --git a/.github/workflows/manual_build.yml b/.github/workflows/manual_build.yml index 5aa59ee..2d55762 100644 --- a/.github/workflows/manual_build.yml +++ b/.github/workflows/manual_build.yml @@ -1,4 +1,4 @@ -name: Manual master-dev docker container +name: Manual Build docker container on: workflow_dispatch: @@ -14,13 +14,21 @@ on: - debug jobs: + build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Get Branch Name id: branch-name - uses: tj-actions/branch-names@v6 + uses: tj-actions/branch-names@v7 + - name: Extract Branch + id: extract_branch + run: | + echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT + - name: What is the selected branch? + run: | + echo "Selected Branch '${{ steps.extract_branch.outputs.branch }}'" - name: Setup QEMU uses: docker/setup-qemu-action@v2 - name: Setup Docker Buildx @@ -37,8 +45,8 @@ jobs: platforms: linux/amd64,linux/arm64 file: ./Dockerfile-dev build-args: | - BRANCH=master + BRANCH=${{ steps.extract_branch.outputs.branch }} BUILDX_QEMU_ENV=true push: true tags: | - hemna6969/aprsd:master-dev + hemna6969/aprsd:${{ steps.extract_branch.outputs.branch }} diff --git a/dev-requirements.txt b/dev-requirements.txt index c92e21b..0f485d9 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,27 +1,27 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.8 # by the following command: # -# pip-compile --annotation-style=line --resolver=backtracking dev-requirements.in +# pip-compile --annotation-style=line dev-requirements.in # add-trailing-comma==3.0.0 # via gray alabaster==0.7.13 # via sphinx attrs==23.1.0 # via jsonschema, referencing autoflake==1.5.3 # via gray babel==2.12.1 # via sphinx -black==23.3.0 # via gray +black==23.7.0 # via gray build==0.10.0 # via pip-tools cachetools==5.3.1 # via tox certifi==2023.5.7 # via requests cfgv==3.3.1 # via pre-commit chardet==5.1.0 # via tox charset-normalizer==3.2.0 # via requests -click==8.1.4 # via black, pip-tools +click==8.1.5 # via black, pip-tools colorama==0.4.6 # via tox commonmark==0.9.1 # via rich configargparse==1.5.5 # via gray coverage[toml]==7.2.7 # via pytest-cov -distlib==0.3.6 # via virtualenv +distlib==0.3.7 # via virtualenv docutils==0.20.1 # via sphinx exceptiongroup==1.1.2 # via pytest filelock==3.12.2 # via tox, virtualenv @@ -31,11 +31,12 @@ gray==0.13.0 # via -r dev-requirements.in identify==2.5.24 # via pre-commit idna==3.4 # via requests imagesize==1.4.1 # via sphinx -importlib-resources==6.0.0 # via fixit +importlib-metadata==6.8.0 # via sphinx +importlib-resources==6.0.0 # via fixit, jsonschema, jsonschema-specifications iniconfig==2.0.0 # via pytest isort==5.12.0 # via -r dev-requirements.in, gray jinja2==3.1.2 # via sphinx -jsonschema==4.18.0 # via fixit +jsonschema==4.18.3 # via fixit jsonschema-specifications==2023.6.1 # via jsonschema libcst==1.0.1 # via fixit markupsafe==2.1.3 # via jinja2 @@ -46,8 +47,9 @@ nodeenv==1.8.0 # via pre-commit packaging==23.1 # via black, build, pyproject-api, pytest, sphinx, tox pathspec==0.11.1 # via black pep8-naming==0.13.3 # via -r dev-requirements.in -pip-tools==6.14.0 # via -r dev-requirements.in -platformdirs==3.8.1 # via black, tox, virtualenv +pip-tools==7.0.0 # via -r dev-requirements.in +pkgutil-resolve-name==1.3.10 # via jsonschema +platformdirs==3.9.1 # via black, tox, virtualenv pluggy==1.2.0 # via pytest, tox pre-commit==3.3.3 # via -r dev-requirements.in pycodestyle==2.10.0 # via flake8 @@ -57,12 +59,13 @@ pyproject-api==1.5.3 # via tox pyproject-hooks==1.0.0 # via build pytest==7.4.0 # via -r dev-requirements.in, pytest-cov pytest-cov==4.1.0 # via -r dev-requirements.in +pytz==2023.3 # via babel pyupgrade==3.9.0 # via gray pyyaml==6.0 # via fixit, libcst, pre-commit referencing==0.29.1 # via jsonschema, jsonschema-specifications requests==2.31.0 # via sphinx rich==12.6.0 # via gray -rpds-py==0.8.10 # via jsonschema, referencing +rpds-py==0.8.11 # via jsonschema, referencing snowballstemmer==2.2.0 # via sphinx sphinx==7.0.1 # via -r dev-requirements.in sphinxcontrib-applehelp==1.0.4 # via sphinx @@ -75,13 +78,14 @@ tokenize-rt==5.1.0 # via add-trailing-comma, pyupgrade toml==0.10.2 # via autoflake tomli==2.0.1 # via black, build, coverage, mypy, pip-tools, pyproject-api, pyproject-hooks, pytest, tox tox==4.6.4 # via -r dev-requirements.in -typing-extensions==4.7.1 # via libcst, mypy, typing-inspect +typing-extensions==4.7.1 # via black, libcst, mypy, rich, typing-inspect typing-inspect==0.9.0 # via libcst unify==0.5 # via gray untokenize==0.1.1 # via unify urllib3==2.0.3 # via requests -virtualenv==20.23.1 # via pre-commit, tox +virtualenv==20.24.0 # via pre-commit, tox wheel==0.40.0 # via pip-tools +zipp==3.16.2 # via importlib-metadata, importlib-resources # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/docker/Dockerfile-dev b/docker/Dockerfile-dev index 5520ae6..cc0971f 100644 --- a/docker/Dockerfile-dev +++ b/docker/Dockerfile-dev @@ -1,5 +1,9 @@ FROM python:3.11-slim as build +ARG BRANCH=master +ARG BUILDX_QEMU_ENV +ENV APRSD_BRANCH=${BRANCH:-master} + ENV PIP_DEFAULT_TIMEOUT=100 \ # Allow statements and log messages to immediately appear PYTHONUNBUFFERED=1 \ @@ -28,7 +32,7 @@ RUN set -ex \ ### Final stage FROM build as final -RUN git clone https://github.com/craigerl/aprsd +RUN git clone -b $APRSD_BRANCH https://github.com/craigerl/aprsd RUN cd aprsd && pip install --no-cache-dir . RUN pip install gunicorn RUN which aprsd diff --git a/requirements.in b/requirements.in index e409f71..766f757 100644 --- a/requirements.in +++ b/requirements.in @@ -35,7 +35,7 @@ oslo.config rpyc # Pin this here so it doesn't require a compile on # raspi -cryptography==38.0.1 -shellingham==1.5.0.post1 +cryptography +shellingham geopy rush diff --git a/requirements.txt b/requirements.txt index 498cafe..c6200f1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,29 +1,31 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.8 # by the following command: # -# pip-compile --annotation-style=line --resolver=backtracking requirements.in +# pip-compile --annotation-style=line requirements.in # +anyio==3.7.1 # via httpcore aprslib==0.7.2 # via -r requirements.in attrs==23.1.0 # via -r requirements.in, ax253, kiss3, rush ax253==0.1.5.post1 # via kiss3 beautifulsoup4==4.12.2 # via -r requirements.in bidict==0.22.1 # via python-socketio bitarray==2.7.6 # via ax253, kiss3 -certifi==2023.5.7 # via requests +certifi==2023.5.7 # via httpcore, requests cffi==1.15.1 # via cryptography charset-normalizer==3.2.0 # via requests -click==8.1.4 # via -r requirements.in, click-completion, click-params, flask +click==8.1.5 # via -r requirements.in, click-completion, click-params, flask click-completion==0.5.2 # via -r requirements.in click-params==0.4.1 # via -r requirements.in commonmark==0.9.1 # via rich -cryptography==38.0.1 # via -r requirements.in, pyopenssl +cryptography==41.0.2 # via -r requirements.in, pyopenssl dacite2==2.0.0 # via -r requirements.in dataclasses==0.6 # via -r requirements.in debtcollector==2.5.0 # via oslo-config decorator==5.1.1 # via validators -dnspython==2.3.0 # via eventlet +dnspython==2.4.0 # via eventlet eventlet==0.33.3 # via -r requirements.in +exceptiongroup==1.1.2 # via anyio flask==2.1.2 # via -r requirements.in, flask-classful, flask-httpauth, flask-socketio flask-classful==0.14.2 # via -r requirements.in flask-httpauth==4.8.0 # via -r requirements.in @@ -31,9 +33,11 @@ flask-socketio==5.3.4 # via -r requirements.in geographiclib==2.0 # via geopy geopy==2.3.0 # via -r requirements.in greenlet==2.0.2 # via eventlet -idna==3.4 # via requests +h11==0.14.0 # via httpcore +httpcore==0.17.3 # via dnspython +idna==3.4 # via anyio, requests imapclient==2.3.1 # via -r requirements.in -importlib-metadata==6.8.0 # via ax253, kiss3 +importlib-metadata==6.8.0 # via ax253, flask, kiss3 itsdangerous==2.1.2 # via flask jinja2==3.1.2 # via click-completion, flask kiss3==8.0.0 # via -r requirements.in @@ -60,10 +64,12 @@ rpyc==5.3.1 # via -r requirements.in rush==2021.4.0 # via -r requirements.in shellingham==1.5.0.post1 # via -r requirements.in, click-completion six==1.16.0 # via -r requirements.in, click-completion, eventlet, imapclient +sniffio==1.3.0 # via anyio, dnspython, httpcore soupsieve==2.4.1 # via beautifulsoup4 stevedore==5.1.0 # via oslo-config tabulate==0.9.0 # via -r requirements.in thesmuggler==1.0.1 # via -r requirements.in +typing-extensions==4.7.1 # via rich ua-parser==0.18.0 # via user-agents update-checker==0.18.0 # via -r requirements.in urllib3==2.0.3 # via requests @@ -71,4 +77,4 @@ user-agents==2.2.0 # via -r requirements.in validators==0.20.0 # via click-params werkzeug==2.1.2 # via -r requirements.in, flask wrapt==1.15.0 # via -r requirements.in, debtcollector -zipp==3.16.0 # via importlib-metadata +zipp==3.16.2 # via importlib-metadata