Add CI step for leverage tier updates

This commit is contained in:
Matthias 2024-03-31 09:04:39 +02:00
parent 178a0a5db0
commit f405b7d1cd
2 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,47 @@
name: Binance Leverage tiers update
on:
# schedule:
# - cron: "0 3 * * 2"
# on demand
workflow_dispatch:
permissions:
contents: read
jobs:
auto-update:
runs-on: ubuntu-latest
environment:
name: develop
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install ccxt
run: pip install ccxt
- name: Run leverage tier update
env:
CI_WEB_PROXY: secrets.CI_WEB_PROXY
FREQTRADE__EXCHANGE__KEY: secrets.BINANCE_EXCHANGE_KEY
FREQTRADE__EXCHANGE__SECRET: secrets.BINANCE_EXCHANGE_SECRET
run: python build_helpers/binance_update_lev_tiers.py
- uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
add-paths: freqtrade/exchange/binance_leverage_tiers.json
labels: |
Tech maintenance
Dependencies
branch: update/pre-commit-hooks
title: Update Binance Leverage Tiers
commit-message: "chore: update pre-commit hooks"
committer: Freqtrade Bot <noreply@github.com>
body: Update binance leverage tiers.
delete-branch: true

View File

@ -0,0 +1,26 @@
#!/usr/bin/env python3
import json
import os
from pathlib import Path
import ccxt
key = os.environ.get('FREQTRADE__EXCHANGE__KEY')
secret = os.environ.get('FREQTRADE__EXCHANGE__SECRET')
proxy = os.environ.get('CI_WEB_PROXY')
exchange = ccxt.binance({
'apiKey': key,
'secret': secret,
'httpsProxy': proxy,
'options': {'defaultType': 'swap'}
})
_ = exchange.load_markets()
lev_tiers = exchange.fetch_leverage_tiers()
# Assumes this is running in the root of the repository.
file = Path('freqtrade/exchange/binance_leverage_tiers.json')
json.dump(dict(sorted(lev_tiers.items())), file.open('w'), indent=2)