Skip to content

Add dynamodb retry config for throttling and other errors. Add exponential backoff and jitter for unprocessed keys. Fix edge case where we succesfully process keys on our last attempt but still fail #1141

Add dynamodb retry config for throttling and other errors. Add exponential backoff and jitter for unprocessed keys. Fix edge case where we succesfully process keys on our last attempt but still fail

Add dynamodb retry config for throttling and other errors. Add exponential backoff and jitter for unprocessed keys. Fix edge case where we succesfully process keys on our last attempt but still fail #1141

Workflow file for this run

---
name: tron-ci
on:
push:
branches:
- master
tags:
- v*.*
pull_request:
release:
jobs:
tox:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
toxenv:
- py38,docs
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.8
# GHA won't setup tox for us and we use tox-pip-extensions for venv-update
- run: pip install tox==3.2 tox-pip-extensions==1.3.0
# there are no pre-built wheels for bsddb3, so we need to install
# its dpkg dependencies so that we can build a wheel when we're
# creating our env. Once we get rid of bsddb3 as a Python dependency,
# then we can also get rid of this dpkg
- run: sudo apt-get install --quiet --assume-yes libdb5.3-dev
# we explictly attempt to import the C extensions for some PyYAML
# functionality, so we need the LibYAML bindings provided by this
# package
- run: sudo apt-get install --quiet --assume-yes libyaml-dev
- run: tox -e ${{ matrix.toxenv }}
build_debs:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
dist: [bionic, jammy]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.8
# Update package lists to ensure we have the latest information
- run: sudo apt-get update
# the container provided by GitHub doesn't include utilities
# needed for dpkg building, so we need to install `devscripts`
# to bring those in
- run: sudo apt-get install --quiet --assume-yes devscripts
- run: make itest_${{ matrix.dist }}
- uses: actions/upload-artifact@v4
with:
name: deb-${{ matrix.dist }}
path: dist/tron_*.deb
cut_release:
runs-on: ubuntu-22.04
needs: build_debs
steps:
- uses: actions/checkout@v2
- run: mkdir -p dist/
- uses: actions/download-artifact@v4
with:
name: deb-bionic
path: dist/
- uses: actions/download-artifact@v4
with:
name: deb-jammy
path: dist/
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/v')
with:
generate_release_notes: true
files: |
dist/tron_*.deb
fail_on_unmatched_files: true