aboutsummaryrefslogblamecommitdiff
path: root/scenarios/fragments/flavor.py
blob: 87c4e9d28849cb00c6003d6b4bc8c760764a831b (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11



                          
                





                                                             






                                                      












                                                                                                                    





                                         






                                                     


                                                                                                                                 









                                                                                                                                         
from pathlib import Path
from . import shared
from os.path import exists

def grg_path(d):
    for flav, desc in d.items():
        if "path" in desc: continue
        binary = f"garage-{desc['target']}-{desc['version']}"
        desc['path'] = Path(shared.binary_path) / binary
    return d

def minio_path(d):
    for flav, desc in d.items():
        if "path" in desc: continue
        desc['path'] = Path(shared.binary_path) / flav
    return d

garage = grg_path({
    "garage-local": { "path": "./garage/target/release/garage" },
    "garage-v0.7": { 
        "version": "v0.7.3", 
        "target": "x86_64-unknown-linux-musl", 
    },
    "garage-v0.8": { "version": "89b8087ba81c508ba382aa6c9cb6bb3afa6a43c8", "target": "x86_64-unknown-linux-musl" },
})

warp = {
    "warp-fast": "mixed --obj.size 5M --objects 200 --duration=1m",
    "warp-default": "mixed"
}

minio = minio_path({
    "minio-20220917": {
        "version": "2022-09-17T00-09-45Z"
    }
})


def download():
    for flav, desc in garage.items():
        if "version" not in desc: continue
        if exists(desc['path']): continue

        shared.exec(f"mkdir -p {shared.binary_path}")
        shared.exec(f"wget https://garagehq.deuxfleurs.fr/_releases/{desc['version']}/{desc['target']}/garage -O {desc['path']}")
        shared.exec(f"chmod +x {desc['path']}")
        shared.exec(f"{desc['path']} --version")

    for flav, desc in minio.items():
        if "version" not in desc: continue
        if exists(desc['path']): continue

        shared.exec(f"mkdir -p {shared.binary_path}")
        shared.exec(f"wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio.RELEASE.{desc['version']} -O {desc['path']}")
        shared.exec(f"chmod +x {desc['path']}")
        shared.exec(f"{desc['path']} --version")