Skip to content

Instantly share code, notes, and snippets.

View dwelch-spike's full-sized avatar

Dylan Welch dwelch-spike

  • Aerospike
View GitHub Profile

With GitHub Actions, a workflow can publish artifacts, typically logs or binaries. As of early 2020, the life time of an artifact is hard-coded to 90 days (this may change in the future). After 90 days, an artifact is automatically deleted. But, in the meantime, artifacts for a repository may accumulate and generate mega-bytes or even giga-bytes of data files.

It is unclear if there is a size limit for the total accumulated size of artifacts for a public repository. But GitHub cannot reasonably let multi-giga-bytes of artifacts data accumulate without doing anything. So, if your workflows regularly produce large artifacts (such as "nightly build" procedures for instance), it is wise to cleanup and delete older artifacts without waiting for the 90 days limit.

Using the Web page for the "Actions" of a repository, it is possible to browse old workflow runs and manually delete artifacts. But the procedure is slow and tedious. It is fine to delete one selected artifact. It is not for a regular cleanup. We need

@dwelch-spike
dwelch-spike / predexp_operate_example.py
Created December 4, 2019 03:00
Example using the Aerospike python client to perform bin operations with Predicate expressions.
from __future__ import print_function
import aerospike
from aerospike import predexp
from aerospike import exception as ex
import sys
config = { 'hosts': [('127.0.0.1', 3000)]}
client = aerospike.client(config).connect()
try:
@dwelch-spike
dwelch-spike / predexp_query_example.py
Created December 4, 2019 02:50
Example using the Aerospike python client to perform a query with predicate expressions.
from __future__ import print_function
import aerospike
from aerospike import predexp
from aerospike import exception as ex
import sys
import time
config = { 'hosts': [('127.0.0.1', 3000)]}
client = aerospike.client(config).connect()
@dwelch-spike
dwelch-spike / predexp_background_scan.py
Created December 4, 2019 02:45
Example using the Aerospike python client to perform a background scan with predicate expressions.
from __future__ import print_function
import aerospike
from aerospike import predexp
from aerospike import exception as ex
import sys
import time
config = { 'hosts': [('127.0.0.1', 3000)]}
client = aerospike.client(config).connect()
@dwelch-spike
dwelch-spike / predexp.py
Created December 3, 2019 01:20
Example creating a list of aerospike python client predicates.
# create a list of aerospike predexp
import aerospike
from aerospike import predexp
preds = [ # check that the record has value < 2 or value == 3 in bin 'name'
predexp.integer_bin('number'),
predexp.integer_value(2),
predexp.integer_less(),
predexp.integer_bin('number'),
predexp.integer_value(3),