mirror of
https://github.com/Telecominfraproject/oopt-gnpy.git
synced 2026-01-27 10:21:48 +00:00
remove this check and add one for The macOS-14 instead Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com> Change-Id: Ief1c990cbc67ec4d7912404c24d67f9f2fa6d96e
146 lines
4.3 KiB
YAML
146 lines
4.3 KiB
YAML
on:
|
|
push:
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
name: CI
|
|
|
|
jobs:
|
|
build:
|
|
name: Tox test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: fedora-python/tox-github-action@v37.0
|
|
with:
|
|
tox_env: ${{ matrix.tox_env }}
|
|
dnf_install: ${{ matrix.dnf_install }}
|
|
- uses: codecov/codecov-action@v3.1.1
|
|
if: ${{ endswith(matrix.tox_env, '-cover') }}
|
|
with:
|
|
files: ${{ github.workspace }}/cover/coverage.xml
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
tox_env:
|
|
- py38
|
|
- py39
|
|
- py310
|
|
- py311
|
|
- py312-cover
|
|
include:
|
|
- tox_env: docs
|
|
dnf_install: graphviz
|
|
|
|
pypi:
|
|
needs: build
|
|
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && github.repository_owner == 'Telecominfraproject' }}
|
|
name: PyPI packaging
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-python@v4
|
|
name: Install Python
|
|
with:
|
|
python-version: '3.12'
|
|
- uses: casperdcl/deploy-pypi@bb869aafd89f657ceaafe9561d3b5584766c0f95
|
|
with:
|
|
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
pip: wheel -w dist/ --no-deps .
|
|
upload: true
|
|
|
|
docker:
|
|
needs: build
|
|
if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v')) && github.repository_owner == 'Telecominfraproject' }}
|
|
name: Docker image
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@v1
|
|
with:
|
|
username: jktjkt
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Extract tag name
|
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
|
id: extract_pretty_git
|
|
run: echo ::set-output name=GIT_DESC::$(git describe --tags)
|
|
- name: Build and push a container
|
|
uses: docker/build-push-action@v2
|
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
|
with:
|
|
context: .
|
|
push: true
|
|
tags: |
|
|
telecominfraproject/oopt-gnpy:${{ steps.extract_pretty_git.outputs.GIT_DESC }}
|
|
telecominfraproject/oopt-gnpy:master
|
|
- name: Extract tag name
|
|
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
|
|
id: extract_tag_name
|
|
run: echo ::set-output name=GIT_DESC::${GITHUB_REF/refs\/tags\//}
|
|
- name: Build and push a container
|
|
uses: docker/build-push-action@v2
|
|
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
|
|
with:
|
|
context: .
|
|
push: true
|
|
tags: |
|
|
telecominfraproject/oopt-gnpy:${{ steps.extract_tag_name.outputs.GIT_DESC }}
|
|
telecominfraproject/oopt-gnpy:latest
|
|
|
|
other-platforms:
|
|
name: Tests on other platforms
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python_version }}
|
|
- run: |
|
|
pip install --editable .[tests]
|
|
pytest -vv
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: windows-2019
|
|
python_version: "3.10"
|
|
- os: windows-2022
|
|
python_version: "3.11"
|
|
- os: windows-2022
|
|
python_version: "3.12"
|
|
- os: macos-13
|
|
python_version: "3.12"
|
|
- os: macos-14
|
|
python_version: "3.12"
|
|
|
|
paywalled-platforms:
|
|
name: Tests on paywalled platforms
|
|
if: github.repository_owner == 'Telecominfraproject'
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python_version }}
|
|
- run: |
|
|
pip install --editable .[tests]
|
|
pytest -vv
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: macos-13-xlarge # Apple M1 CPU
|
|
python_version: "3.12"
|