Git Product home page Git Product logo

gha-tools's Introduction

gha-tools

User tools for RAPIDS GitHub Actions workflows.

Install gha-tools

This tools repo can be installed from GitHub directly with git clone or wget commands. Examples:

- name: Download gha-tools with git clone
  run: |
    git clone https://github.com/rapidsai/gha-tools.git -b main /tmp/gha-tools
    echo "/tmp/gha-tools/tools" >> "${GITHUB_PATH}"

- name: Download gha-tools release tarball with wget
  run: |
    wget https://github.com/rapidsai/gha-tools/releases/latest/download/tools.tar.gz -O - | tar -xz -C /usr/local/bin

Environment variables and variable naming conventions

In gha-tools we introduced some variable naming conventions:

  • Environment variables should be capitalized, local variables should be lower-case
  • RAPIDS-specific environment variables should be named RAPIDS_*
    • This distinguishes them from external environment variables e.g. GITHUB_* that are defined by GitHub Actions

List of variables that have had a RAPIDS_* prefix added, which should be reflected by consumers switching from gpuci-tools to gha-tools:

  • CONDA_EXE, CONDA_TOKEN, CONDA_UPLOAD_LABEL -> RAPIDS_CONDA_EXE, RAPIDS_CONDA_TOKEN, RAPIDS_CONDA_UPLOAD_LABEL
  • MAMBA_BIN -> RAPIDS_MAMBA_BIN
  • PY_VER -> RAPIDS_PY_VERSION
  • BUILD_TYPE -> RAPIDS_BUILD_TYPE
  • GH_TOKEN -> RAPIDS_GH_TOKEN

In GitHub Actions, the default secret GITHUB_TOKEN can be used by setting:

env:
  RAPIDS_GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

gpuci deprecation

This repo replaces rapidsai/gpuci-tools. All scripts called gpuci_*, configured with GPUCI_* env vars, are now called rapids-* with the equivalent RAPIDS_* env vars

The gpuci_* tools in this project are wrappers around the new tools for backwards compatibility:

  1. They print a deprecation warning to use the rapids-* equivalents
  2. They re-export GPUCI_* env vars to the new RAPIDS_* equivalents

S3 tools for downloads.rapids.ai

Some enhancements have been made to the S3 tools for interacting with downloads.rapids.ai:

  • Added support for uploading and downloading wheel tarballs (built with cibuildwheel) using rapids-upload-wheels-to-s3 and rapids-download-wheels-from-s3
  • Added support for misc one-off file or directory uploads by calling rapids-upload-to-s3 directly
  • Print the human-browsable https://downloads.rapids.ai/... URL in the logs for convenience
  • rapids-package-name takes a package type and generates the name (e.g. conda_cpp -> rmm_conda_cpp_x86_64.tar.gz)

Testing Scripts Locally

See CONTRIBUTING.md for instructions on how to test these scripts locally.

gha-tools's People

Contributors

ajschmidt8 avatar jjacobelli avatar ayodeawe avatar sevagh avatar vyasr avatar jameslamb avatar davidwendt avatar divyegala avatar robertmaynard avatar bdice avatar harrism avatar raydouglass avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.