Skip to content

Commit

Permalink
Build Wheel Action
Browse files Browse the repository at this point in the history
Signed-off-by: James Busche <[email protected]>

release version in build workflow

Signed-off-by: James Busche <[email protected]>

release version in build workflow

Signed-off-by: James Busche <[email protected]>

fix build workflow for version

Signed-off-by: James Busche <[email protected]>

space fix in build workflow for version

Signed-off-by: James Busche <[email protected]>

Add publish to pypi

Signed-off-by: James Busche <[email protected]>

condense publish to pypi

Signed-off-by: James Busche <[email protected]>

cleanup build yaml

Signed-off-by: James Busche <[email protected]>

Switch publish to release or tag

Signed-off-by: James Busche <[email protected]>

adding py311 and fix dependencies

Signed-off-by: James Busche <[email protected]>

remove version from setup.py and add debugging

Signed-off-by: James Busche <[email protected]>

adding PiPY publish

Signed-off-by: James Busche <[email protected]>
  • Loading branch information
jbusche committed Apr 10, 2024
1 parent b04db32 commit 4ccd221
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 7 deletions.
52 changes: 52 additions & 0 deletions .github/workflows/build-and-publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Copyright The FMS HF Tuning Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: Build and Publish FMS-hf-tuning Library

on:
release:
types: [published]

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- setup: "3.11"
tox: "py311"

environment:
name: pypi
url: https://pypi.org/p/fms-hf-tuning
permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version.setup }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version.setup }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r setup_requirements.txt
- name: Build and test with tox
run: tox -e ${{ matrix.python-version.tox }}
- name: Build and check wheel package
run:
tox -e build,twinecheck
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
17 changes: 12 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
[build-system]
build-backend = "setuptools.build_meta"
requires = [
"setuptools>=61",
"setuptools>=60",
"setuptools-scm>=8.0"]

[project]
name = "fms-hf-tuning"
version = "0.0.1"
dynamic = ["version", "dependencies"]
description = "FMS HF Tuning"
authors = [
{name = "Sukriti Sharma", email = "[email protected]"},
Expand All @@ -16,11 +17,14 @@ readme = "README.md"
requires-python = "~=3.9"
keywords = ['fms-hf-tuning', 'python', 'tuning']
classifiers=[
"License :: OSI Approved :: Apache Software License"
"License :: OSI Approved :: Apache Software License",
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]

dynamic = ["dependencies"]

[project.optional-dependencies]
dev = ["wheel", "packaging", "ninja"]
flash-attn = ["flash-attn"]
Expand All @@ -29,6 +33,9 @@ aim = ["aim==3.18.1"]
[tool.setuptools.dynamic]
dependencies = {file = ["requirements.txt"]}

[tool.setuptools_scm]
version_file = "tuning/_version.py"

[project.urls]
Homepage = "https://github.com/foundation-model-stack/fms-hf-tuning"
Repository = "https://github.com/foundation-model-stack/fms-hf-tuning"
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@
# Third Party
from setuptools import find_packages, setup

setup(name="fms-hf-tuning", version="0.0.1", packages=find_packages())
setup(name="fms-hf-tuning", packages=find_packages())
3 changes: 2 additions & 1 deletion setup_requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
pre-commit>=3.0.4,<4.0
pylint>=2.16.2,<4.0
pydeps>=1.12.12,<2
tox>=4.4.2,<5
tox>=4.4.2,<5
build>=0.10.0,<2.0
15 changes: 15 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ description = run unit tests
deps =
pytest>=7
-r requirements.txt
wheel>=0.38.4
commands =
pytest {posargs:tests}

Expand All @@ -20,3 +21,17 @@ deps = pylint>=2.16.2,<=3.1.0
-r requirements.txt
commands = pylint tuning scripts/*.py build/*.py
allowlist_externals = pylint

[testenv:build]
description = build wheel
deps =
build
commands = python -m build
skip_install = True

[testenv:twinecheck]
description = check wheel
deps =
twine
commands = twine check dist/*
skip_install = True

0 comments on commit 4ccd221

Please sign in to comment.