Fix artifact name collision #272
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | ||
on: | ||
push: | ||
branches: | ||
- main | ||
- 'dev/**' | ||
pull_request: | ||
branches: [ main ] | ||
release: | ||
types: | ||
- published | ||
jobs: | ||
test: | ||
strategy: | ||
matrix: | ||
python-version: | ||
- 3.6 | ||
- 3.7 | ||
- 3.8 | ||
- 3.9 | ||
- "3.10" | ||
- "3.11" | ||
- "3.12" | ||
include: | ||
- os: ubuntu-latest | ||
# older versions need older OS | ||
- python-version: 3.6 | ||
os: ubuntu-20.04 | ||
name: python${{ matrix.python-version }} | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install -U pytest pytest-cov coveralls>=3.0.0 parameterized | ||
- name: Install | ||
run: | | ||
python -m pip install . | ||
- name: Test | ||
run: | | ||
cd test | ||
pytest --cov=systemrdl | ||
- name: Test (without antlr accelerator) | ||
run: | | ||
cd test | ||
export SYSTEMRDL_DISABLE_ACCELERATOR=1 | ||
pytest | ||
- name: Coveralls | ||
if: ${{ matrix.python-version != 3.5 }} # coveralls no longer works well on 3.5 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
COVERALLS_PARALLEL: true | ||
run: | | ||
cd test | ||
coveralls --service=github | ||
finish_coveralls: | ||
needs: test | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Setup Python | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: 3.x | ||
- name: Coveralls | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
COVERALLS_PARALLEL: true | ||
run: | | ||
python -m pip install -U coveralls>=3.0.0 | ||
coveralls --service=github --finish | ||
#------------------------------------------------------------------------------- | ||
lint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: "3.10" | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install -U pylint | ||
- name: Install | ||
run: | | ||
python setup.py install | ||
- name: Run Lint | ||
run: | | ||
pylint --rcfile test/pylint.rc systemrdl | ||
#------------------------------------------------------------------------------- | ||
mypy: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: "3.10" | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install -U types-Markdown | ||
# Exclude version due to: https://github.com/python/mypy/issues/16770 | ||
python -m pip install -U "mypy != 1.8.0" | ||
- name: Type Check | ||
run: | | ||
mypy --config-file test/mypy.ini systemrdl | ||
#------------------------------------------------------------------------------- | ||
build_wheels: | ||
needs: | ||
- test | ||
- lint | ||
- mypy | ||
name: ${{ matrix.os }} ${{ matrix.name_suffix }} | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: | ||
- windows-latest | ||
- macos-latest | ||
include: | ||
# Only build CPython 3.x targets | ||
- cibw_build: "cp3*" | ||
cibw_skip: "" | ||
name_suffix: "" | ||
# Parallelize Linux builds because there are many! | ||
- os: ubuntu-latest | ||
name_suffix: "manylinux_x86_64" | ||
cibw_build: "cp3*-manylinux_x86_64" | ||
cibw_skip: "" | ||
- os: ubuntu-latest | ||
name_suffix: "manylinux_i686" | ||
cibw_build: "cp3*-manylinux_i686" | ||
cibw_skip: "" | ||
- os: ubuntu-latest | ||
name_suffix: "musllinux_x86_64" | ||
cibw_build: "cp3*-musllinux_x86_64" | ||
cibw_skip: "" | ||
- os: ubuntu-latest | ||
name_suffix: "others" | ||
cibw_build: "cp3*" | ||
cibw_skip: "cp3*-{manylinux_x86_64,manylinux_i686,musllinux_x86_64}" | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Build wheels | ||
uses: pypa/[email protected] | ||
env: | ||
CIBW_BUILD: ${{ matrix.cibw_build }} | ||
CIBW_SKIP: ${{ matrix.cibw_skip }} | ||
# Ensure full C++17 availability on macOS builds | ||
MACOSX_DEPLOYMENT_TARGET: "10.13" | ||
# Signal setup.py to fail if binary build fails | ||
SYSTEMRDL_REQUIRE_BINARY_BUILD: ~ | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: whl-${{ name_suffix }} | ||
Check failure on line 186 in .github/workflows/build.yml GitHub Actions / buildInvalid workflow file
|
||
path: ./wheelhouse/*.whl | ||
#------------------------------------------------------------------------------- | ||
build_sdist: | ||
needs: | ||
- test | ||
- lint | ||
- mypy | ||
name: Build source distribution | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-python@v4 | ||
name: Install Python | ||
with: | ||
python-version: "3.10" | ||
- name: Build sdist | ||
run: python setup.py sdist | ||
- uses: actions/upload-artifact@v4 | ||
name: sdist | ||
with: | ||
path: dist/*.tar.gz | ||
#------------------------------------------------------------------------------- | ||
deploy: | ||
needs: | ||
- build_wheels | ||
- build_sdist | ||
runs-on: ubuntu-latest | ||
# Only publish when a GitHub Release is created. | ||
if: github.event_name == 'release' | ||
steps: | ||
- uses: actions/download-artifact@v4 | ||
with: | ||
path: dist | ||
- uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
user: __token__ | ||
password: ${{ secrets.pypi_password }} |