Skip to content

Commit

Permalink
adds automatic publishing and github CI (#8)
Browse files Browse the repository at this point in the history
* removed travis CI

* removed travis badge from readme

* added github workflows for testing and publishing

* added a script for package building

* made sure setup py uses a placeholder for the version
  • Loading branch information
zaccharieramzi authored Jul 23, 2021
1 parent 125f11d commit 8dc5fc1
Show file tree
Hide file tree
Showing 6 changed files with 85 additions and 10 deletions.
42 changes: 42 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# This workflows will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
# from https://github.com/grst/python-ci-versioneer/blob/master/.github/workflows/python-publish.yml
name: Upload Python Package

on:
release:
types: [published]
jobs:
deploy:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Autobump version
run: |
# from refs/tags/v1.2.3 get 1.2.3
VERSION=$(echo $GITHUB_REF | sed 's#.*/v##')
PLACEHOLDER='__version__ = "develop"'
VERSION_FILE='setup.py'
# ensure the placeholder is there. If grep doesn't find the placeholder
# it exits with exit code 1 and github actions aborts the build.
grep "$PLACEHOLDER" "$VERSION_FILE"
sed -i "s/$PLACEHOLDER/__version__ = \"${VERSION}\"/g" "$VERSION_FILE"
shell: bash
- name: Build and publish to testpypi
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.TEST_PYPI_API_TOKEN }}
run: |
sh build_package.sh
- name: Publish to pypi
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: |
twine upload dist/*
30 changes: 30 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# This workflow will install Python dependencies, run tests with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Continuous testing

on:
push:
branches:
- 'master'

pull_request:
branches:
- 'master'

jobs:
test:
name: Test Code
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
pip install .
- name: Test with pytest
run: pytest tf_slice_assign_test.py
7 changes: 0 additions & 7 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# tf-slice-assign

[![Build Status](https://travis-ci.com/zaccharieramzi/tf-slice-assign.svg?token=wHL4tmyGD3TP6bSo6Mdh&branch=master)](https://travis-ci.com/zaccharieramzi/tf-slice-assign)
![GitHub Workflow Build Status](https://github.com/zaccharieramzi/tf-slice-assign/workflows/Continuous%20testing/badge.svg)

A tool for assignment to a slice in TensorFlow.

Expand Down
10 changes: 10 additions & 0 deletions build_package.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/usr/bin/bash

rm -f -r build/*
rm -f -r dist/*

python -m pip install --upgrade pip
pip install --upgrade setuptools wheel twine

python setup.py sdist bdist_wheel
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ def load_requirements(path_dir=HERE, comment_char='#'):
reqs.append(ln)
return reqs


__version__ = "develop"
# https://packaging.python.org/discussions/install-requires-vs-requirements
setup(
name='tf-slice-assign',
version='0.0.1',
version=__version__,
description='A package to perform slice assignment in TensorFlow',
author='Zaccharie Ramzi',
author_email='zaccharie.ramzi@gmail.com',
Expand Down

0 comments on commit 8dc5fc1

Please sign in to comment.