diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..be7279c --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,36 @@ +# Deploy branch is followed by Posit Connect +name: Update Requirements and Manifest on Deploy Branch + +on: + push: + branches: + - main # Trigger when pushing to main + +jobs: + ci: + env: + UV_SYSTEM_PYTHON: true + runs-on: ubuntu-latest + + steps: + - name: Checkout main + uses: actions/checkout@v4 + + - name: Setup uv + uses: astral-sh/setup-uv@v3 + with: + enable-cache: true + + - name: Generate requirements.txt with `uv` + run: uv export --no-hashes -o requirements.txt + + - name: Generate rsconnect-python manifest.json + run: uvx --from rsconnect-python rsconnect write-manifest shiny . --entrypoint shinylims.app:app + + - name: Commit changes and push to deploy branch + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git add requirements.txt manifest.json + git commit -m "Update requirements on new commit from main" || echo "No changes to commit" + git push origin --force HEAD:deploy # Push to deploy branch, using force because of diverging branches \ No newline at end of file diff --git a/manifest.json b/manifest.json deleted file mode 100644 index 644ec2e..0000000 --- a/manifest.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "version": 1, - "locale": "English_United States.1252", - "metadata": { - "appmode": "python-shiny", - "entrypoint": "shinylims.app:app" - }, - "python": { - "version": "3.11.5", - "package_manager": { - "name": "pip", - "version": "24.2", - "package_file": "requirements.txt" - } - }, - "files": { - "requirements.txt": { - "checksum": "2976d8cc4dabb78a47c02b90dc75d48e" - }, - ".gitignore": { - "checksum": "a490f4da04fb5b1ec743568fe3380d40" - }, - ".python-version": { - "checksum": "215923581f8fcce0029639f7ab16ccb6" - }, - "LICENSE": { - "checksum": "bbcd65b7e389067d3922f20a2f9eaf4e" - }, - "README.md": { - "checksum": "262635faedb2f6c0096957d5b75c6d2c" - }, - "pyproject.toml": { - "checksum": "158312210f1c3c22ec358b734eaa34a6" - }, - "src/shinylims/__init__.py": { - "checksum": "d41d8cd98f00b204e9800998ecf8427e" - }, - "src/shinylims/app.py": { - "checksum": "b561f7e2b81fff588d93ac091dc6a16b" - }, - "src/shinylims/assets/styles.css": { - "checksum": "3a235faad5ed32854aa71009d1e7a333" - }, - "src/shinylims/data_utils.py": { - "checksum": "91c3c9621a893c9f1163077c8633c8d0" - }, - "src/shinylims/ui_pages.py": { - "checksum": "da947ff0de151ce45fc2a3d3f9fe9a81" - }, - "src/shinylims/ui_server.py": { - "checksum": "13c704eff839d4b4d8c0e7e801a4b49c" - }, - "uv.lock": { - "checksum": "9b96f9b5b26f9ebe3ea91404ecb4ee15" - } - } -} diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index b65600a..0000000 --- a/requirements.txt +++ /dev/null @@ -1,73 +0,0 @@ -# This file was autogenerated by uv via the following command: -# uv export --no-hashes -o requirements.txt --e . -anyio==4.6.2.post1 -appdirs==1.4.4 -asgiref==3.8.1 -asttokens==2.4.1 -certifi==2024.8.30 -charset-normalizer==3.4.0 -click==8.1.7 ; platform_system != 'Emscripten' -colorama==0.4.6 ; sys_platform == 'win32' or platform_system == 'Windows' -contourpy==1.3.0 -cycler==0.12.1 -decorator==5.1.1 -executing==2.1.0 -faicons==0.2.2 -fonttools==4.54.1 -fsspec==2024.10.0 -h11==0.14.0 ; platform_system != 'Emscripten' -htmltools==0.5.3 -humanize==4.11.0 -idna==3.10 -importlib-metadata==8.5.0 -importlib-resources==6.4.5 -ipython==8.18.0 -itables==2.0.1 -jedi==0.19.1 -jinja2==3.1.4 -joblib==1.4.2 -kiwisolver==1.4.7 -linkify-it-py==2.0.3 -markdown-it-py==3.0.0 -markupsafe==3.0.2 -matplotlib==3.9.2 -matplotlib-inline==0.1.7 -mdit-py-plugins==0.4.2 -mdurl==0.1.2 -numpy==2.1.2 -packaging==24.1 -pandas==2.2.2 -parso==0.8.4 -pexpect==4.9.0 ; sys_platform != 'win32' -pillow==11.0.0 -pins==0.8.5 -prompt-toolkit==3.0.36 -ptyprocess==0.7.0 ; sys_platform != 'win32' -pure-eval==0.2.3 -pygments==2.18.0 -pyparsing==3.2.0 -python-dateutil==2.9.0.post0 -python-multipart==0.0.12 -pytz==2024.2 -pyyaml==6.0.2 -questionary==2.0.1 ; platform_system != 'Emscripten' -requests==2.32.3 -seaborn==0.13.2 -shiny==0.9.0 -shinyswatch==0.6.1 -six==1.16.0 -sniffio==1.3.1 -stack-data==0.6.3 -starlette==0.41.0 -traitlets==5.14.3 -typing-extensions==4.12.2 -tzdata==2024.2 -uc-micro-py==1.0.3 -urllib3==2.2.3 -uvicorn==0.32.0 ; platform_system != 'Emscripten' -watchfiles==0.24.0 ; platform_system != 'Emscripten' -wcwidth==0.2.13 -websockets==13.1 -xxhash==3.5.0 -zipp==3.20.2