Skip to content

Commit

Permalink
Add creation of platform wheels
Browse files Browse the repository at this point in the history
Ref. eng/recordflux/RecordFlux#1376
  • Loading branch information
treiher committed Feb 23, 2024
1 parent d781b53 commit ce46131
Show file tree
Hide file tree
Showing 2 changed files with 97 additions and 1 deletion.
91 changes: 91 additions & 0 deletions .github/workflows/publishing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: publishing

on: push

env:
ALIRE_VERSION: "1.2.2"
PYTHON_VERSIONS: |
3.8
3.9
3.10
3.11
jobs:
build:
name: Build distribution
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSIONS }}
- 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
make 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/
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ GNATCOLL_ORIGIN ?= https://github.com/AdaCore
LANGKIT_ORIGIN ?= https://github.com/AdaCore
ADASAT_ORIGIN ?= https://github.com/AdaCore
VERSION ?= $(shell test -f pyproject.toml && test -f $(POETRY) && $(POETRY) version -s)
PYTHON_VERSIONS ?= 3.8 3.9 3.10 3.11
NO_GIT_CHECKOUT ?=

# --- Dependencies ---
Expand Down Expand Up @@ -458,7 +459,11 @@ build_pdf_doc_user_guide: $(RFLX)
dist: $(SDIST)

$(SDIST): $(BUILD_DEPS) $(PARSER) $(VSIX) pyproject.toml $(wildcard rflx/*)
$(POETRY) build -vv --no-cache -f sdist
$(POETRY) build -vv --no-cache

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

anod_dist: $(BUILD_DEPS) $(PARSER) pyproject.toml $(wildcard rflx/*)
$(POETRY) build -vv --no-cache
Expand Down

0 comments on commit ce46131

Please sign in to comment.