migrated to uv and cleaned up workflows
This commit is contained in:
parent
155389b6b6
commit
8904a13fa1
6 changed files with 1779 additions and 2121 deletions
|
@ -1,58 +0,0 @@
|
|||
name: Autotagger
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'main'
|
||||
|
||||
jobs:
|
||||
Autotagger:
|
||||
runs-on: docker
|
||||
container: catthehacker/ubuntu:act-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up Git
|
||||
run: |
|
||||
git config --global user.name "SeaswimmerTheFsh"
|
||||
git config --global user.email "seaswimmerthefsh@gmail.com"
|
||||
|
||||
- name: Import GPG key
|
||||
uses: actions/gpg@v4
|
||||
with:
|
||||
gpg_private_key : ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
passphrase : ${{ secrets.GPG_PASSPHRASE }}
|
||||
|
||||
- name: Set output variables
|
||||
id: vars
|
||||
run: |
|
||||
git fetch --tags
|
||||
echo "::set-output name=latest_tag::$(git describe --tags `git rev-list --tags --max-count=1`)"
|
||||
echo "::set-output name=version::$(awk -F '=' '/^ *version/ {gsub(/[[:space:]"]/, "", $2); print $2}' pyproject.toml)"
|
||||
|
||||
- name: Compare version and latest tag
|
||||
id: compare
|
||||
run: |
|
||||
VERSION=${{ steps.vars.outputs.version }}
|
||||
LATEST_TAG=${{ steps.vars.outputs.latest_tag }}
|
||||
if [ "$VERSION" = "$LATEST_TAG" ]; then
|
||||
echo "::set-output name=latest_tag::$LATEST_TAG"
|
||||
else
|
||||
echo "::set-output name=version::$VERSION"
|
||||
fi
|
||||
|
||||
- name: Create tag
|
||||
if: steps.compare.outputs.version
|
||||
run: |
|
||||
VERSION=${{ steps.vars.outputs.version }}
|
||||
git tag -s $VERSION -m "version bumped to $VERSION"
|
||||
git push origin $VERSION
|
||||
|
||||
- name: Update latest tag
|
||||
if: steps.compare.outputs.latest_tag
|
||||
run: |
|
||||
LATEST_TAG=${{ steps.compare.outputs.latest_tag }}
|
||||
git tag -fs $LATEST_TAG -m $LATEST_TAG
|
||||
git push origin $LATEST_TAG --force
|
|
@ -1,38 +1,86 @@
|
|||
name: Actions
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'main'
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
Lint Code (Ruff & Pylint):
|
||||
build:
|
||||
name: Build
|
||||
runs-on: docker
|
||||
container: coastalcommits.com/seaswimmerthefsh/actionscontainers-pyzipline:latest
|
||||
container: www.coastalcommits.com/cswimr/actions:uv
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install dependencies
|
||||
run: poetry install --with dev --no-root
|
||||
|
||||
- name: Analysing code with Ruff
|
||||
run: ruff check $(git ls-files '*.py')
|
||||
|
||||
- name: Analysing code with Pylint
|
||||
run: pylint --rcfile .forgejo/workflows/config/.pylintrc $(git ls-files '*.py')
|
||||
|
||||
Build Documentation (MkDocs):
|
||||
runs-on: docker
|
||||
container: coastalcommits.com/seaswimmerthefsh/actionscontainers-pyzipline:latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install python
|
||||
run: uv python install 3.11
|
||||
|
||||
- name: Install dependencies
|
||||
run: poetry install --with docs --no-root
|
||||
run: uv sync --no-dev
|
||||
|
||||
- name: Build the package
|
||||
run: uv build
|
||||
|
||||
- name: Upload the package
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: pyflowery
|
||||
path: ./dist/*
|
||||
|
||||
- name: Publish to CoastalCommits
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: actions/pypi-publish@v1.8.14
|
||||
with:
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.COASTALCOMMITSTOKEN }}
|
||||
repository_url: https://www.coastalcommits.com/api/packages/${{ github.repository_owner }}/pypi
|
||||
|
||||
# do not publish to pypi until the package is stable
|
||||
# - name: Publish to PyPi
|
||||
# if: startsWith(github.ref, 'refs/tags/')
|
||||
# uses: actions/pypi-publish@v1.8.14
|
||||
# with:
|
||||
# password: ${{ secrets.PYPI_API_TOKEN }}
|
||||
|
||||
lint:
|
||||
name: Lint Code (Ruff & Pylint)
|
||||
runs-on: docker
|
||||
container: coastalcommits.com/cswimr/actions:uv
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install python
|
||||
run: uv python install 3.11
|
||||
|
||||
- name: Install dependencies
|
||||
run: uv sync
|
||||
|
||||
- name: Analysing code with Ruff
|
||||
run: uv run ruff check $(git ls-files '*.py')
|
||||
|
||||
- name: Analysing code with Pylint
|
||||
run: uv run pylint --rcfile .forgejo/workflows/config/.pylintrc $(git ls-files '*.py')
|
||||
|
||||
docs:
|
||||
name: Build Documentation (MkDocs)
|
||||
runs-on: docker
|
||||
container: coastalcommits.com/cswimr/actions:docs
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install python
|
||||
run: uv python install 3.11
|
||||
|
||||
- name: Install dependencies
|
||||
run: uv sync --extra docs
|
||||
|
||||
- name: Set environment variables
|
||||
uses: actions/env@v2
|
||||
|
@ -41,7 +89,7 @@ jobs:
|
|||
run: |
|
||||
export SITE_URL="https://$CI_ACTION_REF_NAME_SLUG.pyzipline.coastalcommits.com"
|
||||
export EDIT_URI="src/branch/$CI_ACTION_REF_NAME/docs"
|
||||
mkdocs build -v
|
||||
uv run mkdocs build -v
|
||||
|
||||
- name: Deploy documentation
|
||||
run: |
|
||||
|
@ -57,7 +105,7 @@ jobs:
|
|||
npx -p "@getmeli/cli" meli upload ./site \
|
||||
--url "https://pages.coastalcommits.com" \
|
||||
--site "${{ vars.MELI_SITE_ID }}" \
|
||||
--token "${{ secrets.MELI_SECRET }}" \
|
||||
--token "${{ secrets.MELI_TOKEN }}" \
|
||||
--release "$CI_ACTION_REF_NAME_SLUG/${{ env.GITHUB_SHA }}" \
|
||||
--branch "$CI_ACTION_REF_NAME_SLUG"
|
||||
|
||||
|
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -2,3 +2,5 @@ __pycache__
|
|||
.cache
|
||||
.zipline
|
||||
dev.py
|
||||
dist/
|
||||
pyzipline.egg-info/
|
||||
|
|
2008
poetry.lock
generated
2008
poetry.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -1,37 +1,31 @@
|
|||
[tool.poetry]
|
||||
[project]
|
||||
name = "pyzipline"
|
||||
version = "0.1.0"
|
||||
description = "Python API Wrapper for the Zipline API"
|
||||
authors = ["SeaswimmerTheFsh <seaswimmerthefsh@gmail.com>"]
|
||||
license = "GNU GPLv3"
|
||||
authors = [{name="cswimr", email="seaswimmerthefsh@gmail.com"}]
|
||||
license = {file="LICENSE"}
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.10"
|
||||
dependencies = [
|
||||
"aiohttp>=3.10.10",
|
||||
"asyncio>=3.4.3",
|
||||
"pydantic>=2.9.2",
|
||||
"requests>=2.32.3",
|
||||
]
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.10 || ^3.11 || ^3.12"
|
||||
requests = "^2.31.0"
|
||||
asyncio = "^3.4.3"
|
||||
aiohttp = "^3.9.1"
|
||||
pydantic = "^2.6.4"
|
||||
[project.optional-dependencies]
|
||||
docs = [
|
||||
"mkdocs>=1.6.1",
|
||||
"mkdocs-git-authors-plugin>=0.9.0",
|
||||
"mkdocstrings[python]>=0.26.2",
|
||||
"mkdocs-git-revision-date-localized-plugin>=1.2.9",
|
||||
"mkdocs-material[imaging]>=9.5.42",
|
||||
"mkdocs-redirects>=1.2.1",
|
||||
]
|
||||
|
||||
[tool.poetry.group.dev]
|
||||
optional = true
|
||||
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
pylint = "^3.0.3"
|
||||
ruff = "^0.3.4"
|
||||
datamodel-code-generator = "^0.25.5"
|
||||
|
||||
[tool.poetry.group.docs]
|
||||
optional = true
|
||||
|
||||
[tool.poetry.group.docs.dependencies]
|
||||
mkdocs = "1.5.3"
|
||||
mkdocstrings = {extras = ["python"], version = "0.24.0"}
|
||||
mkdocs-git-authors-plugin = "0.7.2"
|
||||
mkdocs-git-revision-date-localized-plugin = "1.2.2"
|
||||
mkdocs-material = {extras = ["imaging"], version = "^9.5.2"}
|
||||
mkdocs-redirects = "^1.2.1"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core"]
|
||||
build-backend = "poetry.core.masonry.api"
|
||||
[tool.uv]
|
||||
dev-dependencies = [
|
||||
"datamodel-code-generator>=0.26.2",
|
||||
"pylint>=3.3.1",
|
||||
"ruff>=0.7.0",
|
||||
]
|
||||
|
|
Loading…
Reference in a new issue