Skip to content

Commit

Permalink
Bring back windows.yml file and other files under .github/
Browse files Browse the repository at this point in the history
  • Loading branch information
Dimitri Rusin committed Sep 11, 2023
1 parent 1a1c9c9 commit 2bc2131
Show file tree
Hide file tree
Showing 4 changed files with 330 additions and 0 deletions.
81 changes: 81 additions & 0 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: MacOS

on: [push]

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Debug


jobs:
build-test-cpp:
runs-on: macos-12
strategy:
matrix:
rust: [stable, nightly]
compiler: [clang++]

steps:
- uses: actions/checkout@v2
with:
rust-version: ${{ matrix.rust }}
submodules: true

- name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
env:
CXX: ${{ matrix.compiler }}
run: cmake -E make_directory ${{runner.workspace}}/build

- name: Configure CMake
# Use a bash shell so we can use the same syntax for environment variable
# access regardless of the host operating system
shell: bash
env:
CXX: ${{ matrix.compiler }}
working-directory: ${{runner.workspace}}/build
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE

- name: Build
working-directory: ${{runner.workspace}}/build
shell: bash
env:
CXX: ${{ matrix.compiler }}
# Execute the build. You can specify a specific target with "--target <NAME>"
run: cmake --build . --config $BUILD_TYPE

- name: Test
working-directory: ${{runner.workspace}}/build
shell: bash
run: tests/test_ioh

build-test-python:
runs-on: macos-latest
strategy:
matrix:
python-version: ["3.6.x", "3.7.x", "3.8.x", "3.9.x", "3.10.x", "3.11.x"]
compiler: [clang++]
architecture: [x64]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Set up Python
uses: actions/setup-python@v2
env:
CXX: ${{ matrix.compiler }}
with:
python-version: ${{matrix.python-version}}
architecture: ${{matrix.architecture}}
- name: Install library
run: |
brew install ninja
python -m pip install --upgrade pip
pip install mypy xmltodict wheel scikit-build
pip install -e . -v
- name: Run unit tests
run: python -m unittest -v
89 changes: 89 additions & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Upload Python Package

on:
release:
types: [created]

jobs:
publish-mac-windows:
strategy:
matrix:
python-version: ["3.6.x", "3.7.x", "3.8.x", "3.9.x", "3.10.x", "3.11.x"]
os: [macos-latest, windows-latest]
exclude:
- os: macos-latest
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{matrix.python-version}}
architecture: ${{matrix.architecture}}
- name: Install Ninja
if: startsWith(matrix.os, 'macOS')
run: |
brew install ninja
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine ninja xmltodict mypy
- name: Build and publish
env:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
python setup.py bdist_wheel
twine upload dist/*
publish-unix:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine xmltodict mypy
- name: build manylinux
uses: RalfG/python-wheels-manylinux-build@v0.5.0-manylinux2014_x86_64
with:
system-packages: 'ninja-build'
- name: Publish manylinux
env:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
twine upload dist/*-manylinux*.whl
publish-source:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: |
sudo apt update -y
sudo apt install ninja-build -y
python -m pip install --upgrade pip
pip install setuptools wheel twine mypy xmltodict
- name: Build and publish
env:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
python setup.py sdist
twine upload dist/*.tar.gz
93 changes: 93 additions & 0 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: Ubuntu

on: [push]

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Debug


jobs:
build-test-cpp:
runs-on: ubuntu-20.04
strategy:
matrix:
rust: [stable, nightly]
compiler: [g++-10, g++-9, g++-8, g++-7]

steps:
- uses: actions/checkout@v2
with:
rust-version: ${{ matrix.rust }}
submodules: true

- name: Install dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install doxygen python3-setuptools python3-dev python3-wheel -y
pip3 install wheel
- name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
env:
CXX: ${{ matrix.compiler }}
run: |
sudo apt-get update
sudo apt-get install ${{ matrix.compiler }} -y
git submodule status
cmake -E make_directory ${{runner.workspace}}/build
- name: Configure CMake
# Use a bash shell so we can use the same syntax for environment variable
# access regardless of the host operating system
shell: bash
env:
CXX: ${{ matrix.compiler }}
working-directory: ${{runner.workspace}}/build
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE

- name: Build
working-directory: ${{runner.workspace}}/build
shell: bash
env:
CXX: ${{ matrix.compiler }}
# Execute the build. You can specify a specific target with "--target <NAME>"
run: cmake --build . --config $BUILD_TYPE

- name: Test
working-directory: ${{runner.workspace}}/build
shell: bash
run: tests/test_ioh

build-test-python:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.6.x", "3.7.x", "3.8.x", "3.9.x", "3.10.x", "3.11.x"]
compiler: [g++-10]
architecture: [x64]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Set up Python
uses: actions/setup-python@v2
env:
CXX: ${{ matrix.compiler }}
with:
python-version: ${{matrix.python-version}}
architecture: ${{matrix.architecture}}
- name: Install library
run: |
sudo apt-get update -y
sudo apt-get install ninja-build -y
python -m pip install --upgrade pip
pip install mypy xmltodict wheel scikit-build
pip install -e . -v
- name: Run unit tests
run: python -m unittest -v
67 changes: 67 additions & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Windows

on: [push]

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Debug


jobs:
build-test-cpp:
runs-on: windows-2022
steps:
- uses: actions/checkout@v2
with:
submodules: true

- name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
run: cmake -E make_directory ${{runner.workspace}}/build

- name: Configure CMake
# Use a bash shell so we can use the same syntax for environment variable
# access regardless of the host operating system
shell: bash
working-directory: ${{runner.workspace}}/build
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE

- name: Build
working-directory: ${{runner.workspace}}/build
shell: bash
# Execute the build. You can specify a specific target with "--target <NAME>"
run: cmake --build . --config $BUILD_TYPE

- name: Test
working-directory: ${{runner.workspace}}/build
shell: bash
run: tests/Debug/test_ioh.exe

build-test-python:
runs-on: windows-2022
strategy:
matrix:
python-version: ["3.6.x", "3.7.x", "3.8.x", "3.9.x", "3.10.x", "3.11.x"]
architecture: [x64, x86]

steps:
- uses: actions/checkout@v2
with:
submodules: true

- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{matrix.python-version}}
architecture: ${{matrix.architecture}}
- name: Install library
run: |
python -m pip install --upgrade pip
pip install mypy xmltodict wheel
pip install -e . -v
- name: Run unit tests
run: python -m unittest -v

0 comments on commit 2bc2131

Please sign in to comment.