-
Notifications
You must be signed in to change notification settings - Fork 3.1k
84 lines (75 loc) 路 2.27 KB
/
manylinux.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
name: ManyLinux
# Run CI only when a release is created, on changes to main branch, or any PR
# to main. Do not run CI on any other branch. Also, skip any non-source changes
# from running on CI
on:
release:
types: [created]
push:
branches: main
paths-ignore:
- 'docs/**'
- 'examples/**'
- '.gitignore'
- 'README.rst'
- '.github/workflows/build.yml'
- '.github/workflows/ubuntu-sdist.yml'
pull_request:
branches: main
paths-ignore:
- 'docs/**'
- 'examples/**'
- '.gitignore'
- 'README.rst'
- '.github/workflows/build.yml'
- '.github/workflows/ubuntu-sdist.yml'
jobs:
build-manylinux:
runs-on: ubuntu-18.04
strategy:
fail-fast: false # if a particular matrix build fails, don't skip the rest
matrix:
arch: ['x64', 'x86', 'aarch64']
tag: ['manylinux1', 'manylinux2010', 'manylinux2014']
exclude:
# aarch64 only with manylinux2014 for now
- arch: 'aarch64'
tag: 'manylinux1'
- arch: 'aarch64'
tag: 'manylinux2010'
steps:
- uses: actions/checkout@v2.3.4
# setup QEMU only on aarch64 matrix
- name: Set up QEMU
if: ${{ matrix.arch == 'aarch64' }}
id: qemu
uses: docker/setup-qemu-action@v1
- name: Build manylinux wheels
run: |
cd buildconfig/manylinux-build
make pull-${{ matrix.tag }}-${{ matrix.arch }} wheels-${{ matrix.tag }}-${{ matrix.arch }}
cd ../..
mkdir -p dist/
cp buildconfig/manylinux-build/wheelhouse/*.whl dist/
# We upload the generated files under github actions assets
- name: Upload dist
uses: actions/upload-artifact@v2
with:
name: pygame-manylinux-wheels
path: dist/*.whl
# - name: Upload binaries to Github Releases
# if: github.event_name == 'release'
# uses: svenstaro/upload-release-action@v2
# with:
# repo_token: ${{ secrets.GITHUB_TOKEN }}
# file: dist/*.whl
# tag: ${{ github.ref }}
#
# - name: Upload binaries to PyPI
# if: github.event_name == 'release'
# env:
# TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
# TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
# run: |
# python3 -m pip install twine
# twine upload dist/*.whl