Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
treiher committed Feb 19, 2024
1 parent 4ccf065 commit b80183c
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 0 deletions.
100 changes: 100 additions & 0 deletions .github/workflows/publishing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: publishing

on: push

env:
POETRY_VERSION: "1.7.1"
POETRY_DYNAMIC_VERSIONING_VERSION: "1.2.0"
ALIRE_VERSION: "1.2.2"

jobs:
build:
name: Build distribution
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Poetry
run: |
# TODO(eng/recordflux/RecordFlux#1531): Remove installation of Poetry (and remove caching)
pipx install poetry==${{ env.POETRY_VERSION }}
pipx inject poetry poetry-dynamic-versioning==${{ env.POETRY_DYNAMIC_VERSIONING_VERSION }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: |
3.8
3.9
3.10
3.11
3.12
cache: poetry
- name: Install Alire
uses: alire-project/setup-alire@v2
with:
version: ${{ env.ALIRE_VERSION }}
toolchain: "--disable-assistant"
- name: Install GNAT
run: |
make install_gnat
- name: Build distribution
run: |
eval `make printenv_gnat`
gnat --version
# TODO(eng/recordflux/RecordFlux#1531): Remove explicit initialization
make init pypi_dist
- name: Store distribution packages
uses: actions/upload-artifact@v4
with:
name: python-package-distributions
path: dist/

publish-to-pypi:
name: Publish Python distribution to PyPI
if: startsWith(github.ref, 'refs/tags/')
needs:
- build
runs-on: ubuntu-20.04

environment:
name: pypi
url: https://pypi.org/p/RecordFlux

permissions:
id-token: write

steps:
- name: Download dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Publish distribution to PyPI
uses: pypa/gh-action-pypi-publish@release/v1

publish-to-testpypi:
name: Publish Python distribution to TestPyPI
if: github.ref == 'refs/heads/main'
needs:
- build
runs-on: ubuntu-20.04

environment:
name: testpypi
url: https://test.pypi.org/p/RecordFlux

permissions:
id-token: write

steps:
- name: Download dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Publish distribution to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
6 changes: 6 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,12 @@ dist: $(SDIST)
$(SDIST): rflx/lang $(VSIX) pyproject.toml $(wildcard bin/*) $(wildcard rflx/*)
poetry build -vv --no-cache

PYTHON_VERSIONS ?= 3.8 3.9 3.10 3.11 3.12

pypi_dist:
# Build distributions without local version identifier
$(foreach version,$(PYTHON_VERSIONS),poetry env use $(version) && $(MAKE) install_build_deps dist POETRY_DYNAMIC_VERSIONING_BYPASS=$$(poetry version -s | sed 's/+.*//') || exit;)

anod_dist: rflx/lang pyproject.toml $(wildcard bin/*) $(wildcard rflx/*)
poetry build -vv --no-cache

Expand Down

0 comments on commit b80183c

Please sign in to comment.