mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-27 04:31:13 +00:00
fix publish workflows
This commit is contained in:
15
.github/workflows/publish-openbb-bls.yml
vendored
15
.github/workflows/publish-openbb-bls.yml
vendored
@@ -1,7 +1,5 @@
|
||||
name: 📦 publish openbb-bls
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-bls-v*`` branch into ``develop``.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -25,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -84,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -99,9 +97,6 @@ jobs:
|
||||
key: bls-cache-${{ hashFiles('openbb_platform/providers/bls/openbb_bls/utils/generate_cache.py') }}
|
||||
|
||||
- name: Build sdist + wheel (fresh BLS cache)
|
||||
# ``OPENBB_BLS_FORCE_CACHE_REBUILD=1`` makes the build hook
|
||||
# bypass its idempotent skip and regenerate against live
|
||||
# download.bls.gov so the published artifact is always current.
|
||||
env:
|
||||
OPENBB_BLS_FORCE_CACHE_REBUILD: "1"
|
||||
run: uv build --no-sources
|
||||
@@ -120,13 +115,11 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Linux: full sweep across every released Python.
|
||||
- { os: ubuntu-latest, python_version: "3.10" }
|
||||
- { os: ubuntu-latest, python_version: "3.11" }
|
||||
- { os: ubuntu-latest, python_version: "3.12" }
|
||||
- { os: ubuntu-latest, python_version: "3.13" }
|
||||
- { os: ubuntu-latest, python_version: "3.14" }
|
||||
# macOS + Windows: min and max supported.
|
||||
- { os: macos-latest, python_version: "3.10" }
|
||||
- { os: macos-latest, python_version: "3.14" }
|
||||
- { os: windows-latest, python_version: "3.10" }
|
||||
@@ -139,7 +132,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -179,7 +172,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
16
.github/workflows/publish-openbb-cboe.yml
vendored
16
.github/workflows/publish-openbb-cboe.yml
vendored
@@ -1,11 +1,5 @@
|
||||
name: 📦 publish openbb-cboe
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-cboe-v*``
|
||||
# branch into ``develop`` (or ``v5``). No push / tag triggers. Four
|
||||
# sequential jobs — verify the version bump, build once, test the built
|
||||
# source across the full cross-platform matrix, and only publish to PyPI
|
||||
# if the entire matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -29,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -88,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -113,13 +107,11 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Linux: full sweep across every released Python.
|
||||
- { os: ubuntu-latest, python_version: "3.10" }
|
||||
- { os: ubuntu-latest, python_version: "3.11" }
|
||||
- { os: ubuntu-latest, python_version: "3.12" }
|
||||
- { os: ubuntu-latest, python_version: "3.13" }
|
||||
- { os: ubuntu-latest, python_version: "3.14" }
|
||||
# macOS + Windows: min and max supported.
|
||||
- { os: macos-latest, python_version: "3.10" }
|
||||
- { os: macos-latest, python_version: "3.14" }
|
||||
- { os: windows-latest, python_version: "3.10" }
|
||||
@@ -132,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -154,7 +146,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
16
.github/workflows/publish-openbb-cftc.yml
vendored
16
.github/workflows/publish-openbb-cftc.yml
vendored
@@ -1,11 +1,5 @@
|
||||
name: 📦 publish openbb-cftc
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-cftc-v*``
|
||||
# branch into ``develop`` (or ``v5``). No push / tag triggers. Four
|
||||
# sequential jobs — verify the version bump, build once, test the built
|
||||
# source across the full cross-platform matrix, and only publish to PyPI
|
||||
# if the entire matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -29,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -88,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -113,13 +107,11 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Linux: full sweep across every released Python.
|
||||
- { os: ubuntu-latest, python_version: "3.10" }
|
||||
- { os: ubuntu-latest, python_version: "3.11" }
|
||||
- { os: ubuntu-latest, python_version: "3.12" }
|
||||
- { os: ubuntu-latest, python_version: "3.13" }
|
||||
- { os: ubuntu-latest, python_version: "3.14" }
|
||||
# macOS + Windows: min and max supported.
|
||||
- { os: macos-latest, python_version: "3.10" }
|
||||
- { os: macos-latest, python_version: "3.14" }
|
||||
- { os: windows-latest, python_version: "3.10" }
|
||||
@@ -132,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -154,7 +146,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
21
.github/workflows/publish-openbb-charting.yml
vendored
21
.github/workflows/publish-openbb-charting.yml
vendored
@@ -1,10 +1,5 @@
|
||||
name: 📦 publish openbb-charting
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-charting-v*`` branch
|
||||
# into ``develop``. No push / tag triggers. Three sequential jobs —
|
||||
# build once, test the built artifact across the full cross-platform
|
||||
# matrix, and only publish to PyPI if the entire matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -28,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -87,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -112,13 +107,11 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Linux: full sweep across every released Python.
|
||||
- { os: ubuntu-latest, python_version: "3.10" }
|
||||
- { os: ubuntu-latest, python_version: "3.11" }
|
||||
- { os: ubuntu-latest, python_version: "3.12" }
|
||||
- { os: ubuntu-latest, python_version: "3.13" }
|
||||
- { os: ubuntu-latest, python_version: "3.14" }
|
||||
# macOS + Windows: min and max supported.
|
||||
- { os: macos-latest, python_version: "3.10" }
|
||||
- { os: macos-latest, python_version: "3.14" }
|
||||
- { os: windows-latest, python_version: "3.10" }
|
||||
@@ -131,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -146,18 +139,12 @@ jobs:
|
||||
- run: python -m pip install --upgrade pip uv
|
||||
|
||||
- name: Install dependencies then openbb-charting wheel
|
||||
# ``openbb-core>=2.0.0`` isn't on PyPI yet — install it from the sibling
|
||||
# source tree first so the wheel's pinned deps resolve. ``--group dev``
|
||||
# brings in pytest / pytest-cov.
|
||||
run: |
|
||||
uv pip install --system ../../core
|
||||
uv pip install --system --group dev
|
||||
uv pip install --system dist/openbb_charting-*.whl
|
||||
|
||||
- name: Test the installed wheel
|
||||
# Remove the local ``openbb_charting/`` source so pytest imports the
|
||||
# package from site-packages — i.e., the EXACT wheel that's about to be
|
||||
# uploaded to PyPI.
|
||||
run: |
|
||||
rm -rf openbb_charting
|
||||
pytest tests --cov=openbb_charting --cov-report=term-missing --cov-fail-under=100
|
||||
@@ -167,7 +154,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
name: 📦 publish openbb-commodity
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-commodity-v*``
|
||||
# branch into ``develop``. Four sequential jobs — version-check,
|
||||
# build, test, publish — with PyPI OIDC trusted publishing.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -27,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -86,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
|
||||
19
.github/workflows/publish-openbb-core.yml
vendored
19
.github/workflows/publish-openbb-core.yml
vendored
@@ -1,10 +1,5 @@
|
||||
name: 📦 publish openbb-core
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-core-v*`` branch
|
||||
# into ``develop``. No push / tag triggers. Three sequential jobs —
|
||||
# build once, test the built artifact across the full cross-platform
|
||||
# matrix, and only publish to PyPI if the entire matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -28,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -87,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -115,13 +110,11 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Linux: full sweep across every supported Python.
|
||||
- { os: ubuntu-latest, python_version: "3.10" }
|
||||
- { os: ubuntu-latest, python_version: "3.11" }
|
||||
- { os: ubuntu-latest, python_version: "3.12" }
|
||||
- { os: ubuntu-latest, python_version: "3.13" }
|
||||
- { os: ubuntu-latest, python_version: "3.14" }
|
||||
# macOS + Windows: min and max supported.
|
||||
- { os: macos-latest, python_version: "3.10" }
|
||||
- { os: macos-latest, python_version: "3.14" }
|
||||
- { os: windows-latest, python_version: "3.10" }
|
||||
@@ -134,7 +127,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -155,10 +148,6 @@ jobs:
|
||||
uv pip install --system pytest pytest-cov pytest-asyncio httpx coverage[toml]
|
||||
|
||||
- name: Test the installed wheel
|
||||
# Remove the local ``openbb_core/`` and ``openbb/`` source trees so
|
||||
# pytest imports the packages from site-packages — i.e., the EXACT
|
||||
# wheel that's about to be uploaded to PyPI. This is a release
|
||||
# pipeline; the source tree can't be allowed to shadow the artifact.
|
||||
run: |
|
||||
rm -rf openbb_core openbb
|
||||
pytest tests --cov=openbb_core --cov-report=term-missing
|
||||
@@ -168,7 +157,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
8
.github/workflows/publish-openbb-crypto.yml
vendored
8
.github/workflows/publish-openbb-crypto.yml
vendored
@@ -1,9 +1,5 @@
|
||||
name: 📦 publish openbb-crypto
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-crypto-v*``
|
||||
# branch into ``develop``. Four sequential jobs — version-check,
|
||||
# build, test, publish — with PyPI OIDC trusted publishing.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -27,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -86,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
name: 📦 publish openbb-currency
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-currency-v*``
|
||||
# branch into ``develop``. Four sequential jobs — version-check,
|
||||
# build, test, publish — with PyPI OIDC trusted publishing.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -27,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -86,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
name: 📦 publish openbb-derivatives
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-derivatives-v*``
|
||||
# branch into ``develop``. Four sequential jobs — version-check,
|
||||
# build, test, publish — with PyPI OIDC trusted publishing.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -27,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -86,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
|
||||
26
.github/workflows/publish-openbb-ecb.yml
vendored
26
.github/workflows/publish-openbb-ecb.yml
vendored
@@ -1,10 +1,5 @@
|
||||
name: 📦 publish openbb-ecb
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-ecb-v*`` branch
|
||||
# into ``develop``. No push / tag triggers. Sequential jobs — build once,
|
||||
# test the built artifact across the full cross-platform matrix, and only
|
||||
# publish to PyPI if the entire matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -28,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -87,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -120,13 +115,11 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Linux: full sweep across every released Python.
|
||||
- { os: ubuntu-latest, python_version: "3.10" }
|
||||
- { os: ubuntu-latest, python_version: "3.11" }
|
||||
- { os: ubuntu-latest, python_version: "3.12" }
|
||||
- { os: ubuntu-latest, python_version: "3.13" }
|
||||
- { os: ubuntu-latest, python_version: "3.14" }
|
||||
# macOS + Windows: min and max supported.
|
||||
- { os: macos-latest, python_version: "3.10" }
|
||||
- { os: macos-latest, python_version: "3.14" }
|
||||
- { os: windows-latest, python_version: "3.10" }
|
||||
@@ -139,7 +132,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -154,10 +147,6 @@ jobs:
|
||||
- run: python -m pip install --upgrade pip uv
|
||||
|
||||
- name: Seed the cache asset from the built wheel
|
||||
# Extract the bundled cache out of the wheel into the source tree
|
||||
# so the editable install below sees it on disk and the build
|
||||
# hook's idempotent ``if _CACHE_PATH.exists(): reuse`` branch
|
||||
# fires — guaranteeing no ECB fetch in this job.
|
||||
run: |
|
||||
WHEEL=$(ls dist/openbb_ecb-*.whl | head -1)
|
||||
mkdir -p openbb_ecb/assets
|
||||
@@ -171,13 +160,6 @@ jobs:
|
||||
" "$WHEEL" openbb_ecb/assets/ecb_cache.json.xz
|
||||
|
||||
- name: Install with uv (resolves openbb-core / devtools via [tool.uv.sources])
|
||||
# ``uv sync`` reads ``[tool.uv.sources]`` and installs ``openbb-core[pandas]``
|
||||
# editable from the sibling tree at ``../../core`` (plus ``openbb-devtools``
|
||||
# — pytest, pytest-asyncio, pytest-cov, pytest-recorder — and the ``dev``
|
||||
# group). ``uv pip install`` ignores ``tool.uv.sources`` and would fail to
|
||||
# resolve ``openbb-core>=2.0.0`` from PyPI until it ships; the wheel is still
|
||||
# the artifact uploaded to PyPI by the ``publish`` job — this matrix just
|
||||
# validates the source the wheel was built from.
|
||||
run: uv sync --python ${{ matrix.python_version }}
|
||||
|
||||
- name: Run unit tests
|
||||
@@ -188,7 +170,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
name: 📦 publish openbb-econometrics
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-econometrics-v*``
|
||||
# branch into ``develop`` (or ``v5``). Four sequential jobs — verify the
|
||||
# version bump, build once, test the built source across the full
|
||||
# cross-platform matrix, and only publish to PyPI if the matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -28,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -87,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -129,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -151,7 +146,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
8
.github/workflows/publish-openbb-economy.yml
vendored
8
.github/workflows/publish-openbb-economy.yml
vendored
@@ -1,9 +1,5 @@
|
||||
name: 📦 publish openbb-economy
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-economy-v*``
|
||||
# branch into ``develop``. Four sequential jobs — version-check,
|
||||
# build, test, publish — with PyPI OIDC trusted publishing.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -27,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -86,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
|
||||
8
.github/workflows/publish-openbb-equity.yml
vendored
8
.github/workflows/publish-openbb-equity.yml
vendored
@@ -1,9 +1,5 @@
|
||||
name: 📦 publish openbb-equity
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-equity-v*``
|
||||
# branch into ``develop``. Four sequential jobs — version-check,
|
||||
# build, test, publish — with PyPI OIDC trusted publishing.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -27,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -86,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
|
||||
8
.github/workflows/publish-openbb-etf.yml
vendored
8
.github/workflows/publish-openbb-etf.yml
vendored
@@ -1,9 +1,5 @@
|
||||
name: 📦 publish openbb-etf
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-etf-v*``
|
||||
# branch into ``develop``. Four sequential jobs — version-check,
|
||||
# build, test, publish — with PyPI OIDC trusted publishing.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -27,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -86,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
|
||||
16
.github/workflows/publish-openbb-famafrench.yml
vendored
16
.github/workflows/publish-openbb-famafrench.yml
vendored
@@ -1,11 +1,5 @@
|
||||
name: 📦 publish openbb-famafrench
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-famafrench-v*``
|
||||
# branch into ``develop`` (or ``v5``). No push / tag triggers. Four
|
||||
# sequential jobs — verify the version bump, build once, test the built
|
||||
# source across the full cross-platform matrix, and only publish to PyPI
|
||||
# if the entire matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -29,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -88,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -113,13 +107,11 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Linux: full sweep across every released Python.
|
||||
- { os: ubuntu-latest, python_version: "3.10" }
|
||||
- { os: ubuntu-latest, python_version: "3.11" }
|
||||
- { os: ubuntu-latest, python_version: "3.12" }
|
||||
- { os: ubuntu-latest, python_version: "3.13" }
|
||||
- { os: ubuntu-latest, python_version: "3.14" }
|
||||
# macOS + Windows: min and max supported.
|
||||
- { os: macos-latest, python_version: "3.10" }
|
||||
- { os: macos-latest, python_version: "3.14" }
|
||||
- { os: windows-latest, python_version: "3.10" }
|
||||
@@ -132,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -154,7 +146,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
name: 📦 publish openbb-federal-reserve
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-federal-reserve-v*``
|
||||
# branch into ``develop``. No push / tag triggers. Four sequential jobs —
|
||||
# verify the version bump, build once, test the built artifact across the full
|
||||
# cross-platform matrix, and only publish to PyPI if the entire matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -28,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -87,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -112,13 +107,11 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Linux: full sweep across every released Python.
|
||||
- { os: ubuntu-latest, python_version: "3.10" }
|
||||
- { os: ubuntu-latest, python_version: "3.11" }
|
||||
- { os: ubuntu-latest, python_version: "3.12" }
|
||||
- { os: ubuntu-latest, python_version: "3.13" }
|
||||
- { os: ubuntu-latest, python_version: "3.14" }
|
||||
# macOS + Windows: min and max supported.
|
||||
- { os: macos-latest, python_version: "3.10" }
|
||||
- { os: macos-latest, python_version: "3.14" }
|
||||
- { os: windows-latest, python_version: "3.10" }
|
||||
@@ -131,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -162,7 +155,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
name: 📦 publish openbb-fixedincome
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-fixedincome-v*``
|
||||
# branch into ``develop``. Four sequential jobs — version-check,
|
||||
# build, test, publish — with PyPI OIDC trusted publishing.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -27,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -86,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -82,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -124,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
|
||||
23
.github/workflows/publish-openbb-imf.yml
vendored
23
.github/workflows/publish-openbb-imf.yml
vendored
@@ -1,10 +1,5 @@
|
||||
name: 📦 publish openbb-imf
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-imf-v*`` branch
|
||||
# into ``develop``. No push / tag triggers. Three sequential jobs —
|
||||
# build once, test the built artifact across the full cross-platform
|
||||
# matrix, and only publish to PyPI if the entire matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -28,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -87,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -120,13 +115,11 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Linux: full sweep across every released Python.
|
||||
- { os: ubuntu-latest, python_version: "3.10" }
|
||||
- { os: ubuntu-latest, python_version: "3.11" }
|
||||
- { os: ubuntu-latest, python_version: "3.12" }
|
||||
- { os: ubuntu-latest, python_version: "3.13" }
|
||||
- { os: ubuntu-latest, python_version: "3.14" }
|
||||
# macOS + Windows: min and max supported.
|
||||
- { os: macos-latest, python_version: "3.10" }
|
||||
- { os: macos-latest, python_version: "3.14" }
|
||||
- { os: windows-latest, python_version: "3.10" }
|
||||
@@ -139,7 +132,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -154,10 +147,6 @@ jobs:
|
||||
- run: python -m pip install --upgrade pip uv
|
||||
|
||||
- name: Install dependencies then openbb-imf wheel
|
||||
# ``openbb-core>=2.0.0`` and ``openbb-charting>=2.5.1`` aren't on
|
||||
# PyPI yet — install them from sibling source trees first so
|
||||
# the wheel's pinned deps resolve. ``--group dev`` brings in
|
||||
# pytest / pytest-asyncio / pytest-cov / pytest-recorder.
|
||||
run: |
|
||||
uv pip install --system ../../core
|
||||
uv pip install --system ../../obbject_extensions/charting
|
||||
@@ -165,10 +154,6 @@ jobs:
|
||||
uv pip install --system dist/openbb_imf-*.whl
|
||||
|
||||
- name: Test the installed wheel
|
||||
# Remove the local ``openbb_imf/`` source so pytest imports the
|
||||
# package from site-packages — i.e., the EXACT wheel that's
|
||||
# about to be uploaded to PyPI. This is a release pipeline;
|
||||
# the source tree can't be allowed to shadow the artifact.
|
||||
run: |
|
||||
rm -rf openbb_imf
|
||||
pytest tests --cov=openbb_imf --cov-report=term-missing
|
||||
@@ -178,7 +163,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
8
.github/workflows/publish-openbb-index.yml
vendored
8
.github/workflows/publish-openbb-index.yml
vendored
@@ -1,9 +1,5 @@
|
||||
name: 📦 publish openbb-index
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-index-v*``
|
||||
# branch into ``develop``. Four sequential jobs — version-check,
|
||||
# build, test, publish — with PyPI OIDC trusted publishing.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -27,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -86,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -82,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -124,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
|
||||
16
.github/workflows/publish-openbb-nasdaq.yml
vendored
16
.github/workflows/publish-openbb-nasdaq.yml
vendored
@@ -1,11 +1,5 @@
|
||||
name: 📦 publish openbb-nasdaq
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-nasdaq-v*``
|
||||
# branch into ``develop`` (or ``v5``). No push / tag triggers. Four
|
||||
# sequential jobs — verify the version bump, build once, test the built
|
||||
# source across the full cross-platform matrix, and only publish to PyPI
|
||||
# if the entire matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -29,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -88,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -113,13 +107,11 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Linux: full sweep across every released Python.
|
||||
- { os: ubuntu-latest, python_version: "3.10" }
|
||||
- { os: ubuntu-latest, python_version: "3.11" }
|
||||
- { os: ubuntu-latest, python_version: "3.12" }
|
||||
- { os: ubuntu-latest, python_version: "3.13" }
|
||||
- { os: ubuntu-latest, python_version: "3.14" }
|
||||
# macOS + Windows: min and max supported.
|
||||
- { os: macos-latest, python_version: "3.10" }
|
||||
- { os: macos-latest, python_version: "3.14" }
|
||||
- { os: windows-latest, python_version: "3.10" }
|
||||
@@ -132,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -154,7 +146,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
13
.github/workflows/publish-openbb-news.yml
vendored
13
.github/workflows/publish-openbb-news.yml
vendored
@@ -1,10 +1,5 @@
|
||||
name: 📦 publish openbb-news
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-news-v*``
|
||||
# branch into ``develop`` (or ``v5``). Four sequential jobs — verify the
|
||||
# version bump, build once, test the built source across the full
|
||||
# cross-platform matrix, and only publish to PyPI if the matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -28,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -87,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -129,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -151,7 +146,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
35
.github/workflows/publish-openbb-oecd.yml
vendored
35
.github/workflows/publish-openbb-oecd.yml
vendored
@@ -1,10 +1,5 @@
|
||||
name: 📦 publish openbb-oecd
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-oecd-v*`` branch
|
||||
# into ``develop``. No push / tag triggers. Three sequential jobs —
|
||||
# build once, test the built artifact across the full cross-platform
|
||||
# matrix, and only publish to PyPI if the entire matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -28,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -87,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -96,19 +91,12 @@ jobs:
|
||||
- run: python -m pip install --upgrade pip uv
|
||||
|
||||
- name: Restore OECD SDMX cache (warming pool for PR workflow)
|
||||
# Releases always force-rebuild (see env below); this step exists
|
||||
# so the post-build ``save`` writes the fresh artifact back into
|
||||
# the shared cache pool keyed by ``generate_cache.py``'s hash.
|
||||
# The PR-test workflow reads from the same pool.
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: openbb_platform/providers/oecd/openbb_oecd/assets/oecd_cache.json.xz
|
||||
key: oecd-sdmx-${{ hashFiles('openbb_platform/providers/oecd/openbb_oecd/utils/generate_cache.py') }}
|
||||
|
||||
- name: Build sdist + wheel (fresh OECD cache)
|
||||
# ``OPENBB_OECD_FORCE_CACHE_REBUILD=1`` makes the build hook
|
||||
# bypass its idempotent skip and regenerate against live OECD
|
||||
# SDMX so the published artifact is always current.
|
||||
env:
|
||||
OPENBB_OECD_FORCE_CACHE_REBUILD: "1"
|
||||
run: uv build --no-sources
|
||||
@@ -127,14 +115,12 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Linux: full sweep across every released Python.
|
||||
- { os: ubuntu-latest, python_version: "3.10" }
|
||||
- { os: ubuntu-latest, python_version: "3.11" }
|
||||
- { os: ubuntu-latest, python_version: "3.12" }
|
||||
- { os: ubuntu-latest, python_version: "3.13" }
|
||||
- { os: ubuntu-latest, python_version: "3.14" }
|
||||
- { os: ubuntu-latest, python_version: "3.15" }
|
||||
# macOS + Windows: min and max supported.
|
||||
- { os: macos-latest, python_version: "3.10" }
|
||||
- { os: macos-latest, python_version: "3.15" }
|
||||
- { os: windows-latest, python_version: "3.10" }
|
||||
@@ -147,7 +133,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -162,10 +148,6 @@ jobs:
|
||||
- run: python -m pip install --upgrade pip uv
|
||||
|
||||
- name: Seed the cache asset from the built wheel
|
||||
# Extract the bundled cache out of the wheel into the source
|
||||
# tree so the editable install below sees it on disk and the
|
||||
# build hook's idempotent ``if _CACHE_PATH.exists(): reuse``
|
||||
# branch fires — guaranteeing no OECD fetch in this job.
|
||||
run: |
|
||||
WHEEL=$(ls dist/openbb_oecd-*.whl | head -1)
|
||||
mkdir -p openbb_oecd/assets
|
||||
@@ -179,15 +161,6 @@ jobs:
|
||||
" "$WHEEL" openbb_oecd/assets/oecd_cache.json.xz
|
||||
|
||||
- name: Install openbb-oecd from source (+ dev group)
|
||||
# Source install via ``-e .`` reads ``[tool.uv.sources]`` and
|
||||
# resolves ``openbb-core[pandas]`` from the sibling tree at
|
||||
# ``../../core``. Installing the wheel directly would fail
|
||||
# dependency resolution until ``openbb-core>=2.0.0`` ships
|
||||
# to PyPI; the wheel is still the artifact uploaded to PyPI
|
||||
# by the ``publish`` job — this matrix just validates the
|
||||
# source the wheel was built from. ``--group dev`` installs
|
||||
# ``openbb-devtools``, which bundles pytest, pytest-asyncio,
|
||||
# pytest-cov, pytest-recorder, etc.
|
||||
run: |
|
||||
uv pip install --system -e .
|
||||
uv pip install --system --group dev
|
||||
@@ -200,7 +173,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
name: 📦 publish openbb-quantitative
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-quantitative-v*``
|
||||
# branch into ``develop`` (or ``v5``). Four sequential jobs — verify the
|
||||
# version bump, build once, test the built source across the full
|
||||
# cross-platform matrix, and only publish to PyPI if the matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -28,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -87,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -129,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -151,7 +146,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
17
.github/workflows/publish-openbb-sec.yml
vendored
17
.github/workflows/publish-openbb-sec.yml
vendored
@@ -1,12 +1,5 @@
|
||||
name: 📦 publish openbb-sec
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-sec-v*`` branch into
|
||||
# ``develop`` (or ``v5``). No push / tag triggers. Four sequential jobs —
|
||||
# verify the version bump, build once, test the built source across the full
|
||||
# cross-platform matrix, and only publish to PyPI if the entire matrix is
|
||||
# green. The matrix stops at 3.14 because the provider's lxml dependency has no
|
||||
# prerelease (3.15) wheels yet.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -30,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -89,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -114,13 +107,11 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Linux: full sweep across every released Python.
|
||||
- { os: ubuntu-latest, python_version: "3.10" }
|
||||
- { os: ubuntu-latest, python_version: "3.11" }
|
||||
- { os: ubuntu-latest, python_version: "3.12" }
|
||||
- { os: ubuntu-latest, python_version: "3.13" }
|
||||
- { os: ubuntu-latest, python_version: "3.14" }
|
||||
# macOS + Windows: min and max supported.
|
||||
- { os: macos-latest, python_version: "3.10" }
|
||||
- { os: macos-latest, python_version: "3.14" }
|
||||
- { os: windows-latest, python_version: "3.10" }
|
||||
@@ -133,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -155,7 +146,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
17
.github/workflows/publish-openbb-technical.yml
vendored
17
.github/workflows/publish-openbb-technical.yml
vendored
@@ -1,9 +1,5 @@
|
||||
name: 📦 publish openbb-technical
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-technical-v*``
|
||||
# branch into ``develop``. Four sequential jobs — version-check,
|
||||
# build, test, publish — with PyPI OIDC trusted publishing.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -27,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -86,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -128,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -143,13 +139,6 @@ jobs:
|
||||
- run: python -m pip install --upgrade pip uv
|
||||
|
||||
- name: Install openbb-technical from source (+ dev group)
|
||||
# Source install via ``-e .`` reads ``[tool.uv.sources]`` and
|
||||
# resolves ``openbb-core[pandas]`` from the sibling tree at
|
||||
# ``../../core``. Installing the wheel directly would fail
|
||||
# dependency resolution until ``openbb-core>=2.0.0`` ships to
|
||||
# PyPI; the wheel is still the artifact uploaded to PyPI by
|
||||
# the ``publish`` job — this matrix validates the source the
|
||||
# wheel was built from.
|
||||
run: |
|
||||
uv pip install --system -e .
|
||||
uv pip install --system --group dev
|
||||
|
||||
6
.github/workflows/publish-openbb-tmx.yml
vendored
6
.github/workflows/publish-openbb-tmx.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -82,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -124,7 +124,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
|
||||
24
.github/workflows/publish-openbb-us-eia.yml
vendored
24
.github/workflows/publish-openbb-us-eia.yml
vendored
@@ -1,11 +1,5 @@
|
||||
name: 📦 publish openbb-us-eia
|
||||
|
||||
# Triggers exclusively on the merge of a ``release/openbb-us-eia-v*`` branch
|
||||
# into ``develop``. No push / tag triggers. Four sequential jobs — check the
|
||||
# version is bumped, build once against a freshly crawled catalog, test the
|
||||
# built artifact across the full cross-platform matrix, and only publish to
|
||||
# PyPI if the entire matrix is green.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
@@ -29,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- name: Parse [project].version from pyproject.toml
|
||||
id: parse
|
||||
@@ -88,7 +82,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -132,13 +126,11 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Linux: full sweep across every released Python.
|
||||
- { os: ubuntu-latest, python_version: "3.10" }
|
||||
- { os: ubuntu-latest, python_version: "3.11" }
|
||||
- { os: ubuntu-latest, python_version: "3.12" }
|
||||
- { os: ubuntu-latest, python_version: "3.13" }
|
||||
- { os: ubuntu-latest, python_version: "3.14" }
|
||||
# macOS + Windows: min and max supported.
|
||||
- { os: macos-latest, python_version: "3.10" }
|
||||
- { os: macos-latest, python_version: "3.14" }
|
||||
- { os: windows-latest, python_version: "3.10" }
|
||||
@@ -151,7 +143,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: develop
|
||||
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
@@ -166,20 +158,12 @@ jobs:
|
||||
- run: python -m pip install --upgrade pip uv
|
||||
|
||||
- name: Install dependencies then openbb-us-eia wheel
|
||||
# ``openbb-core>=2.0.0`` isn't on PyPI yet — install it from the
|
||||
# sibling source tree first so the wheel's pinned deps resolve.
|
||||
# ``--group dev`` brings in pytest / pytest-asyncio / pytest-cov /
|
||||
# pytest-recorder / ruff / ty.
|
||||
run: |
|
||||
uv pip install --system ../../core
|
||||
uv pip install --system --group dev
|
||||
uv pip install --system dist/openbb_us_eia-*.whl
|
||||
|
||||
- name: Test the installed wheel
|
||||
# Remove the local ``openbb_us_eia/`` source so pytest imports the
|
||||
# package from site-packages — i.e., the EXACT wheel that's about to
|
||||
# be uploaded to PyPI. This is a release pipeline; the source tree
|
||||
# can't be allowed to shadow the artifact.
|
||||
run: |
|
||||
rm -rf openbb_us_eia
|
||||
pytest tests --cov=openbb_us_eia --cov-report=term-missing --cov-fail-under=100
|
||||
@@ -189,7 +173,7 @@ jobs:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write # required for PyPI OIDC trusted publishing
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
Reference in New Issue
Block a user