github.com/NVIDIA/aistore@v1.3.23-0.20240517131212-7df6609be51d/scripts/README.md (about)

     1  This folder is a collection of scripts used for development and productionxi - primarily, to build images and run tests.
     2  
     3  Separately, there's also root of the repository that contains:
     4  
     5  * main [Makefile](/Makefile)
     6  * GitLab [CI](/.gitlab-ci.yml) (utilizes [Makefile](/Makefile) and the scripts)
     7  * GitHub [workflows](/.github/workflows) (ditto)
     8  
     9  Script names and respective descriptions follow below.
    10  
    11  ## github_release.sh
    12  
    13  Given a release tag, add *release assets* to an existing (and tagged) github release at [AIStore releases](https://github.com/NVIDIA/aistore/releases).
    14  
    15  Currently, this will build and [upload](https://github.com/actions/upload-release-asset) **ais** and **aisloader** binaries along with their respective sha256 checksums.
    16  
    17  ### Usage
    18  
    19  Once a new AIS release is posted, run the following command:
    20  
    21  Command
    22  ```console
    23  $ GITHUB_OAUTH_TOKEN=<oauth token> GITHUB_RELEASE_TAG=<release tag> ./github_release.sh
    24  ```
    25  
    26  > This will require [GITHUB_OAUTH_TOKEN](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) and, again, the corresponding [GITHUB_RELEASE_TAG](https://git-scm.com/book/en/v2/Git-Basics-Tagging).
    27  > WARNING: Choose all the permission options while creating the token and then delete the token post the release.
    28  
    29  ## bench.sh
    30  
    31  A tool to run and compare benchmarks between current (the latest) commit and a specified one.
    32  
    33  Utilizes `go test` and `benchcmp` tools.
    34  
    35  Is used in our [Makefile](/Makefile) for integration into CI pipeline.
    36  
    37  ### Usage
    38  
    39  ```console
    40  $ ./bench.sh cmp --dir "<directory to search for tests>" --verbose --post-checkout "<post checkout commands to run>"
    41  ```
    42  
    43  ## clean_deploy.sh
    44  
    45  Development-only. Performs several useful commands including shutdown of a locally deployed cluster, `cleanup`, etc.
    46  
    47  ### Usage
    48  
    49  ```console
    50  $ ./clean_deploy.sh <directory used for $AIS_DIR>
    51  ```
    52  
    53  [More details on usage can be found here.](/docs/development.md#clean-deploy)
    54  
    55  ## boostrap.sh
    56  
    57  Used internally by almost all our [Makefile](/Makefile) commands.
    58  
    59  ## utils.sh
    60  
    61  A collection of common `shell` functions.