Skip to content

Resolve "Kraken: 'Held balance cannot exceed total balance' not true … #100

Resolve "Kraken: 'Held balance cannot exceed total balance' not true …

Resolve "Kraken: 'Held balance cannot exceed total balance' not true … #100

Workflow file for this run

# -*- mode: yaml; coding: utf-8 -*-
#
# Copyright (C) 2023 Benjamin Thomas Schwertfeger
# All rights reserved.
# https://github.com/btschwertfeger
#
# Workflow running for master and release events
name: CI/CD
on:
push:
branches: [master]
schedule:
- cron: "0 6 * * FRI"
release:
types: [created]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
## ===========================================================================
## Checks the code logic, style and more
##
Pre-Commit:
uses: ./.github/workflows/_pre_commit.yaml
## ===========================================================================
## Discover vulnerabilities
##
CodeQL:
uses: ./.github/workflows/_codeql.yaml
## ===========================================================================
## Builds the package on multiple OS for multiple
## Python versions
##
Build:
needs: [Pre-Commit]
uses: ./.github/workflows/_build.yaml
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.11", "3.12", "3.13", "3.14"]
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
## ===========================================================================
## Build the documentation
##
Build-Doc:
needs: [Pre-Commit]
uses: ./.github/workflows/_build_doc.yaml
with:
os: "ubuntu-latest"
python-version: "3.11"
## ===========================================================================
## Run the unit and integration tests
##
Test:
needs: [Build]
uses: ./.github/workflows/_test.yaml
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.11", "3.12", "3.13", "3.14"]
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
## ===========================================================================
## Generates and uploads the coverage statistics to codecov
##
CodeCov:
if: |
success()
&& github.actor == 'btschwertfeger'
&& github.event_name != 'schedule'
needs: [Build]
uses: ./.github/workflows/_codecov.yaml
with:
os: "ubuntu-latest"
python-version: "3.11"
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
INFINITY_GRID_API_PUBLIC_KEY: ${{ secrets.INFINITY_GRID_API_PUBLIC_KEY }}
INFINITY_GRID_API_SECRET_KEY: ${{ secrets.INFINITY_GRID_API_SECRET_KEY }}
## ===========================================================================
## Build and push the container image
##
ContainerImage:
needs:
- Build
- Build-Doc
- CodeCov
- CodeQL
- Test
uses: ./.github/workflows/_build_image_release.yaml
if: |
success()
&& github.actor == 'btschwertfeger'
&& (
(github.event_name == 'push' && github.ref == 'refs/heads/master')
|| github.event_name == 'release'
)
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
## ===========================================================================
## Uploads the package to test.pypi.org on master if triggered by
## a regular commit/push.
##
UploadTestPyPI:
if: |
success()
&& github.ref == 'refs/heads/master'
&& github.event_name == 'push'
needs:
- Build
- Build-Doc
- ContainerImage
- CodeCov
- CodeQL
- Test
uses: ./.github/workflows/_pypi_test_publish.yaml
secrets:
API_TOKEN: ${{ secrets.TEST_PYPI_API_TOKEN }}
## ===========================================================================
## Upload the package to PyPI
##
UploadPyPI:
if: |
success()
&& github.actor == 'btschwertfeger'
&& github.event_name == 'release'
needs:
- Build
- Build-Doc
- ContainerImage
- CodeCov
- CodeQL
- Test
uses: ./.github/workflows/_pypi_publish.yaml
secrets:
API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}