Merge pull request #8 from mcataford/build/environment-updates

build: environment updates
This commit is contained in:
Marc 2024-02-07 00:13:56 -05:00 committed by GitHub
commit add064e7c9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 87 additions and 94 deletions

View file

@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python: [3.7, 3.8, 3.9]
python: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
@ -25,13 +25,13 @@ jobs:
- name: Setup dependencies
if: steps.dep-cache.outputs.cache-hit != 'true'
run: |
. script/bootstrap
. script/bootstrap.sh
test:
runs-on: ubuntu-latest
needs: setup
strategy:
matrix:
python: [3.7, 3.8, 3.9]
python: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
@ -45,7 +45,7 @@ jobs:
./slack-status-cli.venv
- name: Setup dependencies
run: |
. script/bootstrap
. script/bootstrap.sh
- name: Tests
run: |
python -m pytest --cov-report xml --cov=slack_status_cli -s
@ -77,7 +77,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
python-version: "3.12"
- uses: actions/cache@v2
id: dep-cache
with:
@ -86,7 +86,7 @@ jobs:
./slack-status-cli.venv
- name: Setup dependencies
run: |
. script/bootstrap
. script/bootstrap.sh
- name: Lint and format
run: |
python -m pylint **/*.py
@ -98,7 +98,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
python-version: "3.12"
- uses: actions/cache@v2
id: dep-cache
with:
@ -107,8 +107,8 @@ jobs:
./slack-status-cli.venv
- name: Setup dependencies
run: |
. script/bootstrap
- name: Lint and format
. script/bootstrap.sh
- name: Build
run: |
python -m build
- uses: actions/upload-artifact@v2

View file

@ -1,7 +1,8 @@
[MESSAGES CONTROL]
disable=consider-using-f-string,
broad-except,
disable=broad-except,
broad-exception-raised,
consider-using-f-string,
consider-using-with,
invalid-name,
missing-module-docstring,
missing-function-docstring,
consider-using-with
missing-module-docstring,

View file

@ -1 +1 @@
3.9.6
3.12

View file

@ -2,8 +2,10 @@
name = "slack-status-cli"
version = "0.1.0"
description = "Tooling to set your Slack status on the fly without having to click around"
requires-python = ">=3.7"
requires-python = ">=3.8"
readme = "README.md"
dependencies = []
[[project.authors]]
name = "Marc Cataford"
email = "mcat@riseup.net"
@ -12,5 +14,16 @@ email = "mcat@riseup.net"
Homepage = "https://github.com/mcataford/slack-status-cli"
"Bug Tracker" = "https://github.com/mcataford/slack-status-cli/issues"
[project.optional-dependencies]
dev = [
"build",
"toml",
"pytest",
"black",
"pylint",
"pytest-cov",
"syrupy",
]
[tool.setuptools]
packages = [ "slack_status_cli",]

View file

View file

@ -1,6 +1 @@
#
# This file is autogenerated by pip-compile with python 3.9
# To update, run:
#
# pip-compile ./requirements.in
#

View file

@ -1,9 +0,0 @@
-c requirements.txt
build
toml
pytest
black
pylint
pytest-cov
syrupy

View file

@ -1,80 +1,50 @@
#
# This file is autogenerated by pip-compile with python 3.9
# To update, run:
#
# pip-compile ./requirements_dev.in
#
astroid==2.12.12
astroid==3.0.3
# via pylint
attrs==22.1.0
# via pytest
black==22.10.0
# via -r ./requirements_dev.in
build==0.9.0
# via -r ./requirements_dev.in
click==8.1.3
black==24.1.1
# via slack-status-cli (pyproject.toml)
build==1.0.3
# via slack-status-cli (pyproject.toml)
click==8.1.7
# via black
colored==1.4.3
# via syrupy
coverage[toml]==6.5.0
coverage[toml]==7.4.1
# via pytest-cov
dill==0.3.6
dill==0.3.8
# via pylint
exceptiongroup==1.0.0
iniconfig==2.0.0
# via pytest
iniconfig==1.1.1
# via pytest
isort==5.10.1
isort==5.13.2
# via pylint
lazy-object-proxy==1.8.0
# via astroid
mccabe==0.7.0
# via pylint
mypy-extensions==0.4.3
mypy-extensions==1.0.0
# via black
packaging==21.3
packaging==23.2
# via
# black
# build
# pytest
pathspec==0.10.1
pathspec==0.12.1
# via black
pep517==0.13.0
# via build
platformdirs==2.5.2
platformdirs==4.2.0
# via
# black
# pylint
pluggy==1.0.0
pluggy==1.4.0
# via pytest
pylint==2.15.5
# via -r ./requirements_dev.in
pyparsing==3.0.9
# via packaging
pytest==7.2.0
pylint==3.0.3
# via slack-status-cli (pyproject.toml)
pyproject-hooks==1.0.0
# via build
pytest==7.4.4
# via
# -r ./requirements_dev.in
# pytest-cov
# slack-status-cli (pyproject.toml)
# syrupy
pytest-cov==4.0.0
# via -r ./requirements_dev.in
syrupy==3.0.2
# via -r ./requirements_dev.in
pytest-cov==4.1.0
# via slack-status-cli (pyproject.toml)
syrupy==4.6.0
# via slack-status-cli (pyproject.toml)
toml==0.10.2
# via -r ./requirements_dev.in
tomli==2.0.1
# via
# black
# build
# coverage
# pep517
# pylint
# pytest
tomlkit==0.11.6
# via slack-status-cli (pyproject.toml)
tomlkit==0.12.3
# via pylint
typing-extensions==4.4.0
# via
# astroid
# black
# pylint
wrapt==1.14.1
# via astroid

View file

@ -2,7 +2,8 @@
PROJECT="slack-status-cli"
python -m pip install pip==21.2.0 pip-tools==6.5.0 --no-cache
python -m pip install --upgrade setuptools
python -m pip install pip~=23.0 pip-tools~=7.3 --no-cache
if [ ! -d "./$PROJECT.venv" ]; then
python -m venv ./$PROJECT.venv
@ -10,4 +11,4 @@ fi
source ./$PROJECT.venv/bin/activate
pip-sync ./requirements_dev.txt
pip-sync ./requirements.txt ./requirements_dev.txt

View file

@ -1,4 +0,0 @@
#!/bin/bash
pip-compile ./requirements.in
pip-compile ./requirements_dev.in

25
script/lock.sh Normal file
View file

@ -0,0 +1,25 @@
#!/bin/bash
PROD_DEP="requirements.txt"
DEV_DEP="requirements_dev.txt"
echo "Locking production dependencies as $PROD_DEP"
python -m piptools compile \
-o $PROD_DEP \
--no-header \
pyproject.toml
if [[ $? != 0 ]]; then
echo "Failed to lock production dependencies."
return 1
fi
echo "Locking production dependencies as $DEV_DEP"
python -m piptools compile \
-o $DEV_DEP \
--no-header \
--extra dev \
--constraint $PROD_DEP \
pyproject.toml

View file

@ -1,3 +1,4 @@
# serializer version: 1
# name: test_sends_request_to_slack_api_on_success
dict({
'profile': list([