Allow code-quality workflow to be callable (#1026) #27
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
tags: | |
- "v*" | |
workflow_dispatch: | |
jobs: | |
code-quality: | |
uses: ./.github/workflows/code-quality.yaml | |
pypi-packaging: | |
name: Build and Publish llm-foundry PyPI Package | |
needs: | |
- code-quality | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v3 | |
with: | |
python-version: "3.9" | |
- name: Build source and wheel distributions | |
run: | | |
if [[ "${{ github.ref }}" =~ refs\/tags\/v ]]; then | |
PYPI_PACKAGE_NAME="llm-foundry" | |
else | |
PYPI_PACKAGE_NAME="llm-foundry-test-$(date +%Y%m%d%H%M%S)" | |
fi | |
# Remove the peft, xentropy-cuda-lib and triton-pre-mlir dependencies as PyPI does not | |
# support direct installs. The error message for importing PEFT, FusedCrossEntropy, | |
# and flash_attn_triton gives instructions on how to install if a user tries to use it | |
# without this dependency. | |
sed '/xentropy-cuda-lib@git+https:\/\/github.com\/HazyResearch\/flash-attention.git@.*/d' -i setup.py | |
sed '/triton-pre-mlir@git+https:\/\/github.com\/vchiley\/triton.git@.*/d' -i setup.py | |
sed '/peft@git+https:\/\/github.com\/huggingface\/peft.git.*/d' -i setup.py | |
python -m pip install --upgrade build twine | |
python -m build | |
twine check --strict dist/* | |
- name: Publish 📦 to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
if: contains(github.ref, 'refs/tags/v') | |
with: | |
user: __token__ | |
password: ${{ secrets.PROD_PYPI_API_TOKEN }} | |
- name: Publish distribution 📦 to Test PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
if: contains(github.ref, 'refs/heads/') || contains(github.ref, 'refs/pull/') | |
with: | |
user: __token__ | |
password: ${{ secrets.TEST_PYPI_API_TOKEN }} | |
repository_url: https://test.pypi.org/legacy/ |