release v1.2.0 #88
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: Publish Python package to PyPI / Test PyPI | |
on: | |
push: | |
branches: | |
- "**" | |
tags: | |
- "v*" | |
workflow_dispatch: | |
permissions: | |
contents: write | |
jobs: | |
build-and-publish: | |
runs-on: ubuntu-22.04 | |
defaults: | |
run: | |
working-directory: backend | |
name: Build a Python package and upload it to PyPI / Test PyPI | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.9 | |
cache: "pipenv" | |
cache-dependency-path: backend/Pipfile.lock | |
- name: Install pipenv | |
run: | | |
python -m pip install --upgrade pip pipenv | |
python --version; python -m pip --version; pipenv --version | |
- name: Setup backend project with pipenv | |
run: | | |
pipenv --python 3.9 install --dev | |
- name: Set up Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: "npm" | |
cache-dependency-path: frontend/smartmeter-datacollector-configurator/package-lock.json | |
- name: Setup frontend project with npm | |
working-directory: frontend/smartmeter-datacollector-configurator | |
run: | | |
npm ci --ignore-scripts | |
- name: Build a Python package | |
run: | | |
pipenv run build | |
- name: Archive the built Python package | |
uses: actions/upload-artifact@v3 | |
with: | |
name: smartmeter-datacollector-configurator-py | |
path: backend/dist/* | |
- name: Publish the Python package to Test PyPI | |
if: github.ref == 'refs/heads/master' | |
uses: pypa/gh-action-pypi-publish@v1.8.6 | |
with: | |
password: ${{ secrets.TEST_PYPI_API_TOKEN }} | |
repository_url: https://test.pypi.org/legacy/ | |
packages_dir: backend/dist/ | |
skip_existing: true | |
- name: Publish the Python package to PyPI | |
if: startsWith(github.ref, 'refs/tags') | |
uses: pypa/gh-action-pypi-publish@v1.8.6 | |
with: | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
packages_dir: backend/dist/ | |
- name: Get the tag name | |
id: tag-name | |
if: startsWith(github.ref, 'refs/tags') | |
uses: olegtarasov/get-tag@v2.1.2 | |
- name: Create a new release | |
if: startsWith(github.ref, 'refs/tags') | |
uses: ncipollo/release-action@v1.12.0 | |
with: | |
allowUpdates: true | |
artifacts: backend/dist/*.tar.gz,backend/dist/*.whl | |
draft: true | |
name: Smart Meter Data Collector Configurator ${{ steps.tag-name.outputs.tag }} | |
omitBody: true | |
omitBodyDuringUpdate: true | |
omitNameDuringUpdate: true | |
omitPrereleaseDuringUpdate: true | |
token: ${{ secrets.GITHUB_TOKEN }} |