From fae876600881615569c7b7699670467862dcdc7d Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Fri, 25 Sep 2026 16:06:41 -0700 Subject: [PATCH] fix publish workflows --- .github/workflows/publish-openbb-bls.yml | 15 +++----- .github/workflows/publish-openbb-cboe.yml | 16 +++------ .github/workflows/publish-openbb-cftc.yml | 16 +++------ .github/workflows/publish-openbb-charting.yml | 21 +++-------- .../workflows/publish-openbb-commodity.yml | 8 ++--- .github/workflows/publish-openbb-core.yml | 19 +++------- .github/workflows/publish-openbb-crypto.yml | 8 ++--- .github/workflows/publish-openbb-currency.yml | 8 ++--- .../workflows/publish-openbb-derivatives.yml | 8 ++--- .github/workflows/publish-openbb-ecb.yml | 26 +++----------- .../workflows/publish-openbb-econometrics.yml | 13 +++---- .github/workflows/publish-openbb-economy.yml | 8 ++--- .github/workflows/publish-openbb-equity.yml | 8 ++--- .github/workflows/publish-openbb-etf.yml | 8 ++--- .../workflows/publish-openbb-famafrench.yml | 16 +++------ .../publish-openbb-federal-reserve.yml | 15 +++----- .../workflows/publish-openbb-fixedincome.yml | 8 ++--- .../publish-openbb-government-us.yml | 6 ++-- .github/workflows/publish-openbb-imf.yml | 23 +++--------- .github/workflows/publish-openbb-index.yml | 8 ++--- .../workflows/publish-openbb-mcp-server.yml | 6 ++-- .github/workflows/publish-openbb-nasdaq.yml | 16 +++------ .github/workflows/publish-openbb-news.yml | 13 +++---- .github/workflows/publish-openbb-oecd.yml | 35 +++---------------- .../workflows/publish-openbb-quantitative.yml | 13 +++---- .github/workflows/publish-openbb-sec.yml | 17 +++------ .../workflows/publish-openbb-technical.yml | 17 ++------- .github/workflows/publish-openbb-tmx.yml | 6 ++-- .github/workflows/publish-openbb-us-eia.yml | 24 +++---------- 29 files changed, 94 insertions(+), 311 deletions(-) diff --git a/.github/workflows/publish-openbb-bls.yml b/.github/workflows/publish-openbb-bls.yml index 7e6c3a12e05..6edf10626a8 100644 --- a/.github/workflows/publish-openbb-bls.yml +++ b/.github/workflows/publish-openbb-bls.yml @@ -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: diff --git a/.github/workflows/publish-openbb-cboe.yml b/.github/workflows/publish-openbb-cboe.yml index 329ce09ddf8..31f592ee591 100644 --- a/.github/workflows/publish-openbb-cboe.yml +++ b/.github/workflows/publish-openbb-cboe.yml @@ -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: diff --git a/.github/workflows/publish-openbb-cftc.yml b/.github/workflows/publish-openbb-cftc.yml index 27298840fd2..ac7471dcf68 100644 --- a/.github/workflows/publish-openbb-cftc.yml +++ b/.github/workflows/publish-openbb-cftc.yml @@ -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: diff --git a/.github/workflows/publish-openbb-charting.yml b/.github/workflows/publish-openbb-charting.yml index 3e4aaf2c84a..65ea91d05a5 100644 --- a/.github/workflows/publish-openbb-charting.yml +++ b/.github/workflows/publish-openbb-charting.yml @@ -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: diff --git a/.github/workflows/publish-openbb-commodity.yml b/.github/workflows/publish-openbb-commodity.yml index e920f74c674..3b62e362717 100644 --- a/.github/workflows/publish-openbb-commodity.yml +++ b/.github/workflows/publish-openbb-commodity.yml @@ -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: diff --git a/.github/workflows/publish-openbb-core.yml b/.github/workflows/publish-openbb-core.yml index 657a6259805..8b9484c62ee 100644 --- a/.github/workflows/publish-openbb-core.yml +++ b/.github/workflows/publish-openbb-core.yml @@ -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: diff --git a/.github/workflows/publish-openbb-crypto.yml b/.github/workflows/publish-openbb-crypto.yml index b7a3b37760e..3cda0ed8a3f 100644 --- a/.github/workflows/publish-openbb-crypto.yml +++ b/.github/workflows/publish-openbb-crypto.yml @@ -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: diff --git a/.github/workflows/publish-openbb-currency.yml b/.github/workflows/publish-openbb-currency.yml index 639c28ab66e..3ca3786749f 100644 --- a/.github/workflows/publish-openbb-currency.yml +++ b/.github/workflows/publish-openbb-currency.yml @@ -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: diff --git a/.github/workflows/publish-openbb-derivatives.yml b/.github/workflows/publish-openbb-derivatives.yml index c0eb6dc0c8a..7bbc291620b 100644 --- a/.github/workflows/publish-openbb-derivatives.yml +++ b/.github/workflows/publish-openbb-derivatives.yml @@ -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: diff --git a/.github/workflows/publish-openbb-ecb.yml b/.github/workflows/publish-openbb-ecb.yml index ddfd2eb4c23..ad68e3f7dda 100644 --- a/.github/workflows/publish-openbb-ecb.yml +++ b/.github/workflows/publish-openbb-ecb.yml @@ -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: diff --git a/.github/workflows/publish-openbb-econometrics.yml b/.github/workflows/publish-openbb-econometrics.yml index 3a6582eec6c..dda6fd0cdf5 100644 --- a/.github/workflows/publish-openbb-econometrics.yml +++ b/.github/workflows/publish-openbb-econometrics.yml @@ -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: diff --git a/.github/workflows/publish-openbb-economy.yml b/.github/workflows/publish-openbb-economy.yml index 8bb2a797472..5b13058aa2f 100644 --- a/.github/workflows/publish-openbb-economy.yml +++ b/.github/workflows/publish-openbb-economy.yml @@ -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: diff --git a/.github/workflows/publish-openbb-equity.yml b/.github/workflows/publish-openbb-equity.yml index 776c3d9f171..8e1851d71ea 100644 --- a/.github/workflows/publish-openbb-equity.yml +++ b/.github/workflows/publish-openbb-equity.yml @@ -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: diff --git a/.github/workflows/publish-openbb-etf.yml b/.github/workflows/publish-openbb-etf.yml index f31787161bf..044684d76ca 100644 --- a/.github/workflows/publish-openbb-etf.yml +++ b/.github/workflows/publish-openbb-etf.yml @@ -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: diff --git a/.github/workflows/publish-openbb-famafrench.yml b/.github/workflows/publish-openbb-famafrench.yml index 7180bb91b65..cca0cbfe783 100644 --- a/.github/workflows/publish-openbb-famafrench.yml +++ b/.github/workflows/publish-openbb-famafrench.yml @@ -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: diff --git a/.github/workflows/publish-openbb-federal-reserve.yml b/.github/workflows/publish-openbb-federal-reserve.yml index 53de5c26fd3..1701aac3cb0 100644 --- a/.github/workflows/publish-openbb-federal-reserve.yml +++ b/.github/workflows/publish-openbb-federal-reserve.yml @@ -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: diff --git a/.github/workflows/publish-openbb-fixedincome.yml b/.github/workflows/publish-openbb-fixedincome.yml index cbd15f3cf8f..99d6e011717 100644 --- a/.github/workflows/publish-openbb-fixedincome.yml +++ b/.github/workflows/publish-openbb-fixedincome.yml @@ -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: diff --git a/.github/workflows/publish-openbb-government-us.yml b/.github/workflows/publish-openbb-government-us.yml index 3f914e3ac73..effeb4fd37d 100644 --- a/.github/workflows/publish-openbb-government-us.yml +++ b/.github/workflows/publish-openbb-government-us.yml @@ -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: diff --git a/.github/workflows/publish-openbb-imf.yml b/.github/workflows/publish-openbb-imf.yml index a0dde4afc7b..472c6b83a08 100644 --- a/.github/workflows/publish-openbb-imf.yml +++ b/.github/workflows/publish-openbb-imf.yml @@ -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: diff --git a/.github/workflows/publish-openbb-index.yml b/.github/workflows/publish-openbb-index.yml index 46f7ec6f4a6..174ac161d4e 100644 --- a/.github/workflows/publish-openbb-index.yml +++ b/.github/workflows/publish-openbb-index.yml @@ -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: diff --git a/.github/workflows/publish-openbb-mcp-server.yml b/.github/workflows/publish-openbb-mcp-server.yml index 7042d5aec7c..2bfdb519876 100644 --- a/.github/workflows/publish-openbb-mcp-server.yml +++ b/.github/workflows/publish-openbb-mcp-server.yml @@ -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: diff --git a/.github/workflows/publish-openbb-nasdaq.yml b/.github/workflows/publish-openbb-nasdaq.yml index 06a5daaf2e8..1140885029b 100644 --- a/.github/workflows/publish-openbb-nasdaq.yml +++ b/.github/workflows/publish-openbb-nasdaq.yml @@ -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: diff --git a/.github/workflows/publish-openbb-news.yml b/.github/workflows/publish-openbb-news.yml index 58e05704f2b..b9cbbd07d62 100644 --- a/.github/workflows/publish-openbb-news.yml +++ b/.github/workflows/publish-openbb-news.yml @@ -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: diff --git a/.github/workflows/publish-openbb-oecd.yml b/.github/workflows/publish-openbb-oecd.yml index b3a61f947cb..9c51a11a758 100644 --- a/.github/workflows/publish-openbb-oecd.yml +++ b/.github/workflows/publish-openbb-oecd.yml @@ -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: diff --git a/.github/workflows/publish-openbb-quantitative.yml b/.github/workflows/publish-openbb-quantitative.yml index 5489cd732cf..46a78e2aceb 100644 --- a/.github/workflows/publish-openbb-quantitative.yml +++ b/.github/workflows/publish-openbb-quantitative.yml @@ -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: diff --git a/.github/workflows/publish-openbb-sec.yml b/.github/workflows/publish-openbb-sec.yml index a47fa3ead8c..2b70d5dfc3f 100644 --- a/.github/workflows/publish-openbb-sec.yml +++ b/.github/workflows/publish-openbb-sec.yml @@ -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: diff --git a/.github/workflows/publish-openbb-technical.yml b/.github/workflows/publish-openbb-technical.yml index 42480a168f7..9622395a028 100644 --- a/.github/workflows/publish-openbb-technical.yml +++ b/.github/workflows/publish-openbb-technical.yml @@ -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 diff --git a/.github/workflows/publish-openbb-tmx.yml b/.github/workflows/publish-openbb-tmx.yml index b185b43c1e6..98acdee2c55 100644 --- a/.github/workflows/publish-openbb-tmx.yml +++ b/.github/workflows/publish-openbb-tmx.yml @@ -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: diff --git a/.github/workflows/publish-openbb-us-eia.yml b/.github/workflows/publish-openbb-us-eia.yml index d0ca02963cd..145702fb329 100644 --- a/.github/workflows/publish-openbb-us-eia.yml +++ b/.github/workflows/publish-openbb-us-eia.yml @@ -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: