From 3b9fa60d0ee61c42e74e67eed0e915a47c5c958b Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Date: Sun, 14 May 2023 04:55:38 -0300 Subject: [PATCH] Initial Implementation CI/CD for Pypi Upload --- .github/workflows/python-pypi-test-upload.yml | 35 +++++++++++++++++++ .github/workflows/python-pypi-upload.yml | 35 +++++++++++++++++++ .gitignore | 2 ++ pyproject.toml | 2 +- 4 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/python-pypi-test-upload.yml create mode 100644 .github/workflows/python-pypi-upload.yml diff --git a/.github/workflows/python-pypi-test-upload.yml b/.github/workflows/python-pypi-test-upload.yml new file mode 100644 index 0000000..5248c99 --- /dev/null +++ b/.github/workflows/python-pypi-test-upload.yml @@ -0,0 +1,35 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Upload CrystalPol to PyPI Test + +on: + push: + branches: [ develop ] + +permissions: + contents: read + +jobs: + + pypi-upload-test: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.8 + uses: actions/setup-python@v3 + with: + python-version: "3.8" + - name: Install dependencies + run: | + python -m pip install --upgrade pip poetry + python -m poetry install + - name: Test with unittest + run: | + python -m poetry run python -m unittest -v + - name: Upload Pip Package + run: | + python -m poetry config repositories.testpypi https://test.pypi.org/legacy/ + python -m poetry publish --build --username __token__ --password ${{secrets.PYPI_TEST_TOKEN}} --repository testpypi \ No newline at end of file diff --git a/.github/workflows/python-pypi-upload.yml b/.github/workflows/python-pypi-upload.yml new file mode 100644 index 0000000..dd5ada3 --- /dev/null +++ b/.github/workflows/python-pypi-upload.yml @@ -0,0 +1,35 @@ + # This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Upload CrystalPol to PyPI + +on: + push: + branches: [ main ] + +permissions: + contents: read + +jobs: + + pypi-upload: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.8 + uses: actions/setup-python@v3 + with: + python-version: "3.8" + - name: Install dependencies + run: | + python -m pip install --upgrade pip poetry + python -m poetry install + - name: Test with unittest + run: | + python -m poetry run python -m unittest -v + - name: Upload Pip Package + run: | + python -m poetry config repositories.pypi https://pypi.org/legacy/ + python -m poetry publish --build --username __token__ --password ${{secrets.PYPI_TOKEN}} --repository pypi \ No newline at end of file diff --git a/.gitignore b/.gitignore index f3029b9..bdbb478 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,5 @@ simfiles dist/ + +.secrets diff --git a/pyproject.toml b/pyproject.toml index 6b824ea..0e72a41 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "crystalpol" -version = "0.0.1" +version = "0.0.1-4" description = "Crystal Optimization Automation using Gaussian16" authors = ["Vitor Hideyoshi "] license = "GPL-2.0-only"