Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
24f1e7c
building source distribution works
annawendler Feb 23, 2026
4677483
try building wheels with ci
annawendler Feb 23, 2026
fe6706c
[ci skip] try only ubuntu
annawendler Feb 23, 2026
6b35ba7
test
annawendler Feb 23, 2026
369342f
require higher pybind version
annawendler Feb 25, 2026
c13105f
add comma
annawendler Feb 25, 2026
e25c218
skip some pypy versions
annawendler Feb 25, 2026
69a5b96
skip all pypy versions
annawendler Feb 25, 2026
73a7fbc
skip musllinux
annawendler Feb 25, 2026
6ca71df
fix
annawendler Feb 25, 2026
265a58c
test windows
annawendler Feb 25, 2026
22c73cb
skip win32
annawendler Feb 25, 2026
02edbf2
test macos
annawendler Feb 27, 2026
a1d4085
skip macosx_arm64
annawendler Feb 27, 2026
59e454a
test
annawendler Feb 27, 2026
b4febe3
test
annawendler Feb 27, 2026
6f2ac0a
build sdist in ci
annawendler Feb 27, 2026
4b9ce8d
add names for artifacts
annawendler Feb 27, 2026
9747c8c
also include other python packages
annawendler Feb 27, 2026
77bab93
update
annawendler Mar 2, 2026
d5b9b27
only windows
annawendler Mar 5, 2026
6951691
fix typo
annawendler Mar 6, 2026
c8253b1
test upload
annawendler Mar 11, 2026
682490b
typo
annawendler Mar 11, 2026
47cd7d3
use token
annawendler Mar 11, 2026
2dd392f
adapt names, no token
annawendler Mar 11, 2026
55911ce
try only downloading artifacts
annawendler Mar 11, 2026
0700ae8
try again
annawendler Mar 11, 2026
881d5e6
try with new version
annawendler Mar 11, 2026
f7e54c8
Merge branch 'main' into memilio-simulations-pypi-package
annawendler Mar 16, 2026
58979cd
update after merge of main
annawendler Mar 16, 2026
5376644
only ubuntu
annawendler Mar 16, 2026
8c03007
more cpp versions
annawendler Mar 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Build wheels

on: [pull_request, release]

jobs:

build_wheels:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest] #

steps:
- uses: actions/checkout@v4

- uses: pypa/cibuildwheel@v2.16

- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}
path: ./wheelhouse/*.whl

build_sdist:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- run: pipx run build --sdist

- uses: actions/upload-artifact@v4
with:
name: cibw-sdist
path: dist/*.tar.gz

upload_pypi:
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
environment: pypi
permissions:
id-token: write
# if: github.event_name == 'release' && github.event.action == 'published'
# or, alternatively, upload to PyPI on every tag starting with 'v' (remove on: release above to use this)
# if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/download-artifact@v5
with:
# unpacks all CIBW artifacts into dist/
pattern: cibw-*
path: dist
merge-multiple: true

- uses: pypa/gh-action-pypi-publish@release/v1
# To test uploads to TestPyPI, uncomment the following:
with:
skip-existing: true
# password: ${{ secrets.PYPI_TEST_TOKEN }}
repository-url: https://test.pypi.org/legacy/
294 changes: 147 additions & 147 deletions .github/workflows/epidata_main.yml
Original file line number Diff line number Diff line change
@@ -1,158 +1,158 @@
name: Epidata-CI
# name: Epidata-CI

on:
schedule:
- cron: "40 1 * * *"
push:
branches:
- 'main'
tags:
- version-*
paths:
- '**/memilio-epidata/**'
- '.github/**'
pull_request:
types: [opened, reopened, synchronize, ready_for_review]
paths:
- '**/memilio-epidata/**'
- '.github/**'
workflow_dispatch:
# on:
# schedule:
# - cron: "40 1 * * *"
# push:
# branches:
# - 'main'
# tags:
# - version-*
# paths:
# - '**/memilio-epidata/**'
# - '.github/**'
# pull_request:
# types: [opened, reopened, synchronize, ready_for_review]
# paths:
# - '**/memilio-epidata/**'
# - '.github/**'
# workflow_dispatch:

jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.12
- uses: pre-commit/action@v3.0.1
# jobs:
# pre-commit:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-python@v5
# with:
# python-version: 3.12
# - uses: pre-commit/action@v3.0.1

build-py-epidata:
runs-on: ubuntu-latest
container: quay.io/pypa/manylinux_2_28_x86_64
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-py
with:
package: epidata
# build-py-epidata:
# runs-on: ubuntu-latest
# container: quay.io/pypa/manylinux_2_28_x86_64
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/build-py
# with:
# package: epidata

build-py-plot:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
container: quay.io/pypa/manylinux_2_28_x86_64
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-py
with:
package: plot
# build-py-plot:
# if: github.event.pull_request.draft == false
# runs-on: ubuntu-latest
# container: quay.io/pypa/manylinux_2_28_x86_64
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/build-py
# with:
# package: plot

test-py-epidata:
needs: build-py-epidata
strategy:
matrix:
version: ["3.8", "3.12"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/test-py
with:
version: ${{ matrix.version }}
package: epidata
coverage: ON
# test-py-epidata:
# needs: build-py-epidata
# strategy:
# matrix:
# version: ["3.8", "3.12"]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/test-py
# with:
# version: ${{ matrix.version }}
# package: epidata
# coverage: ON

test-py-plot:
if: github.event.pull_request.draft == false
needs: [build-py-plot, build-py-epidata]
strategy:
matrix:
version: ["3.8", "3.12"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/test-py
with:
version: ${{ matrix.version }}
package: plot
coverage: ON
# test-py-plot:
# if: github.event.pull_request.draft == false
# needs: [build-py-plot, build-py-epidata]
# strategy:
# matrix:
# version: ["3.8", "3.12"]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/test-py
# with:
# version: ${{ matrix.version }}
# package: plot
# coverage: ON

merge-artifacts:
runs-on: ubuntu-latest
strategy:
matrix:
packages: [epidata, plot]
needs: [test-py-plot, test-py-epidata]
steps:
- name: merge epidata reports
uses: actions/upload-artifact/merge@v4
with:
name: test-py-coverage-reports-${{ matrix.packages }}
pattern: test-py-coverage-reports-${{ matrix.packages }}-*
# merge-artifacts:
# runs-on: ubuntu-latest
# strategy:
# matrix:
# packages: [epidata, plot]
# needs: [test-py-plot, test-py-epidata]
# steps:
# - name: merge epidata reports
# uses: actions/upload-artifact/merge@v4
# with:
# name: test-py-coverage-reports-${{ matrix.packages }}
# pattern: test-py-coverage-reports-${{ matrix.packages }}-*

test-pylint-epidata:
needs: build-py-epidata
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/test-pylint
with:
package: epidata
# test-pylint-epidata:
# needs: build-py-epidata
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/test-pylint
# with:
# package: epidata

test-pylint-plot:
needs: build-py-plot
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/test-pylint
with:
package: plot
# test-pylint-plot:
# needs: build-py-plot
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/test-pylint
# with:
# package: plot

download-data:
needs: build-py-epidata
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get -qq update
sudo apt-get -qq -y install python3-pip gnupg
python -m pip install --upgrade pip
- name: Download Python Wheels
uses: actions/download-artifact@v4
with:
name: python-wheels-epidata
path: pycode/wheelhouse
- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Install Python Wheels
run: |
for pkg in `ls pycode/wheelhouse/*cp312*.whl`; do python -m pip install $pkg; done # packages that contain native extensions are version specific
for pkg in `ls pycode/wheelhouse/*py3*.whl`; do python -m pip install $pkg; done # pure python packages are not version specific
- name: Download Data
run: |
mkdir -p data_dl
getcasedata -o data_dl --no-progress-indicators
getpopuldata -o data_dl --no-progress-indicators
getjhdata -o data_dl --no-progress-indicators
getdividata -o data_dl --no-progress-indicators
getcommutermobility -o data_dl --no-progress-indicators
getvaccinationdata -o data_dl --no-progress-indicators
gethospitalizationdata -o data_dl --no-progress-indicators
- name: Upload Data
uses: actions/upload-artifact@v4
with:
name: data
path: |
data_dl/*.json
data_dl/Germany/*.json
data_dl/Spain/*.json
data_dl/France/*.json
data_dl/Italy*.json
data_dl/SouthKorea/*.json
data_dl/US/*.json
data_dl/China/*.json
retention-days: 1
# download-data:
# needs: build-py-epidata
# runs-on: ubuntu-latest
# continue-on-error: true
# steps:
# - uses: actions/checkout@v4
# - name: Install dependencies
# run: |
# sudo apt-get -qq update
# sudo apt-get -qq -y install python3-pip gnupg
# python -m pip install --upgrade pip
# - name: Download Python Wheels
# uses: actions/download-artifact@v4
# with:
# name: python-wheels-epidata
# path: pycode/wheelhouse
# - name: Set up Python 3.12
# uses: actions/setup-python@v5
# with:
# python-version: 3.12
# - name: Install Python Wheels
# run: |
# for pkg in `ls pycode/wheelhouse/*cp312*.whl`; do python -m pip install $pkg; done # packages that contain native extensions are version specific
# for pkg in `ls pycode/wheelhouse/*py3*.whl`; do python -m pip install $pkg; done # pure python packages are not version specific
# - name: Download Data
# run: |
# mkdir -p data_dl
# getcasedata -o data_dl --no-progress-indicators
# getpopuldata -o data_dl --no-progress-indicators
# getjhdata -o data_dl --no-progress-indicators
# getdividata -o data_dl --no-progress-indicators
# getcommutermobility -o data_dl --no-progress-indicators
# getvaccinationdata -o data_dl --no-progress-indicators
# gethospitalizationdata -o data_dl --no-progress-indicators
# - name: Upload Data
# uses: actions/upload-artifact@v4
# with:
# name: data
# path: |
# data_dl/*.json
# data_dl/Germany/*.json
# data_dl/Spain/*.json
# data_dl/France/*.json
# data_dl/Italy*.json
# data_dl/SouthKorea/*.json
# data_dl/US/*.json
# data_dl/China/*.json
# retention-days: 1

Loading
Loading