Skip to content

Commit

Permalink
TEMP: Remove everything but the one job we want
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexanderWells-diamond committed Nov 5, 2024
1 parent 3242053 commit fadfb3d
Showing 1 changed file with 148 additions and 148 deletions.
296 changes: 148 additions & 148 deletions .github/workflows/code.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,157 +13,157 @@ on:
- cron: '0 8 * * MON'

jobs:
lint:
runs-on: "ubuntu-latest"
steps:
- name: Checkout Source
uses: actions/checkout@v4

- name: Install Python
uses: actions/setup-python@v4
with:
python-version: "3.7"

- name: Install Python Dependencies
run: pip install flake8

- name: Lint
run: flake8

sdist:
runs-on: "ubuntu-latest"
steps:
- name: Checkout Source
uses: actions/checkout@v4
with:
# require history to get back to last tag for version number of branches
fetch-depth: 0
submodules: true

- name: Build Sdist
run: pipx run build --sdist .

- name: Upload Sdist
uses: actions/upload-artifact@v4
with:
name: dist
path: dist/*

build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-13]
python: [cp37, cp38, cp39, cp310, cp311, cp312]

include:
# Put coverage and results files in the project directory for mac
- os: macos-13
cov_file: "{project}/dist/coverage.xml"
results_file: "{project}/dist/pytest-results.xml"
# And for windows
- os: windows-latest
cov_file: "{project}/dist/coverage.xml"
results_file: "{project}/dist/pytest-results.xml"
# But put coverage and results files in the output dir mounted in docker for linux
- os: ubuntu-latest
cov_file: /output/coverage.xml
results_file: /output/pytest-results.xml

name: build/${{ matrix.os }}/${{ matrix.python }}
runs-on: ${{ matrix.os }}

steps:
- name: Checkout Source
uses: actions/checkout@v4
with:
# require history to get back to last tag for version number of branches
fetch-depth: 0
submodules: true

- name: Install Python
uses: actions/setup-python@v4
with:
python-version: "3.12"

- name: Install Python Dependencies
run: pip install build cibuildwheel>=2.16.2

- name: Build Wheel
run: cibuildwheel --output-dir dist
env:
CIBW_BUILD: ${{ matrix.python }}*64
CIBW_TEST_EXTRAS: dev
# Added a sleep command afterwards to let all cleanup finish; sometimes
# lint:
# runs-on: "ubuntu-latest"
# steps:
# - name: Checkout Source
# uses: actions/checkout@v4

# - name: Install Python
# uses: actions/setup-python@v4
# with:
# python-version: "3.7"

# - name: Install Python Dependencies
# run: pip install flake8

# - name: Lint
# run: flake8

# sdist:
# runs-on: "ubuntu-latest"
# steps:
# - name: Checkout Source
# uses: actions/checkout@v4
# with:
# # require history to get back to last tag for version number of branches
# fetch-depth: 0
# submodules: true

# - name: Build Sdist
# run: pipx run build --sdist .

# - name: Upload Sdist
# uses: actions/upload-artifact@v4
# with:
# name: dist
# path: dist/*

# build:
# strategy:
# fail-fast: false
# matrix:
# os: [ubuntu-latest, windows-latest, macos-13]
# python: [cp37, cp38, cp39, cp310, cp311, cp312]

# include:
# # Put coverage and results files in the project directory for mac
# - os: macos-13
# cov_file: "{project}/dist/coverage.xml"
# results_file: "{project}/dist/pytest-results.xml"
# # And for windows
# - os: windows-latest
# cov_file: "{project}/dist/coverage.xml"
# results_file: "{project}/dist/pytest-results.xml"
# # But put coverage and results files in the output dir mounted in docker for linux
# - os: ubuntu-latest
# cov_file: /output/coverage.xml
# results_file: /output/pytest-results.xml

# name: build/${{ matrix.os }}/${{ matrix.python }}
# runs-on: ${{ matrix.os }}

# steps:
# - name: Checkout Source
# uses: actions/checkout@v4
# with:
# # require history to get back to last tag for version number of branches
# fetch-depth: 0
# submodules: true

# - name: Install Python
# uses: actions/setup-python@v4
# with:
# python-version: "3.12"

# - name: Install Python Dependencies
# run: pip install build cibuildwheel>=2.16.2

# - name: Build Wheel
# run: cibuildwheel --output-dir dist
# env:
# CIBW_BUILD: ${{ matrix.python }}*64
# CIBW_TEST_EXTRAS: dev# Added a sleep command afterwards to let all cleanup finish; sometimes
# cibuildwheel reports it cannot clean up the temp dir used for testing,
# and fails the build. Sleeping seems to give pytest enough time to
# fully clean up.
CIBW_TEST_COMMAND: pytest {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }} && sleep 2
# Run with faulthandler and -s in the hope we get a stack trace on seg fault on windows...
CIBW_TEST_COMMAND_WINDOWS: python -X faulthandler -m pytest -s {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }}
# Disable auditwheel as it isn't compatible with setuptools_dso approach
# https://github.com/mdavidsaver/setuptools_dso/issues/17
CIBW_REPAIR_WHEEL_COMMAND: ""
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
CIBW_ENVIRONMENT_LINUX: SETUPTOOLS_DSO_PLAT_NAME=manylinux2014_x86_64
CIBW_SKIP: "*-musllinux*" # epicscorelibs doesn't build on musllinux platforms

- name: Upload Wheel
uses: actions/upload-artifact@v4
with:
name: dist-${{ matrix.os }}-${{ matrix.python }}
path: dist/softioc*

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
name: ${{ matrix.os }}/${{ matrix.python }}
directory: dist

test-sdist:
needs: [sdist]
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-13]
python: [cp37, cp38, cp39, cp310, cp311, cp312]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/download-artifact@v4
with:
name: dist
path: dist

- name: Install sdist in a venv and check cli works
run: pipx run --spec dist/*.tar.gz pythonSoftIOC --version
shell: bash

release:
needs: [build, sdist]
runs-on: ubuntu-latest
# upload to PyPI and make a release on every tag
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
steps:
- uses: actions/download-artifact@v4
with:
name: dist
path: dist

- name: Github Release
# We pin to the SHA, not the tag, for security reasons.
# https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
uses: softprops/action-gh-release@2d72d869af3bf23602f9593a1e3fd739b80ac1eb # v0.1.12
with:
files: dist/*
body: See [Changelog](CHANGELOG.rst) for more details
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Publish to PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.pypi_token }}
run: pipx run twine upload dist/*
#CIBW_TEST_COMMAND: pytest {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }} && sleep 2
# # Run with faulthandler and -s in the hope we get a stack trace on seg fault on windows...
# CIBW_TEST_COMMAND_WINDOWS: python -X faulthandler -m pytest -s {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }}
# # Disable auditwheel as it isn't compatible with setuptools_dso approach
# # https://github.com/mdavidsaver/setuptools_dso/issues/17
# CIBW_REPAIR_WHEEL_COMMAND: ""
# CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
# CIBW_ENVIRONMENT_LINUX: SETUPTOOLS_DSO_PLAT_NAME=manylinux2014_x86_64
# CIBW_SKIP: "*-musllinux*" # epicscorelibs doesn't build on musllinux platforms

# - name: Upload Wheel
# uses: actions/upload-artifact@v4
# with:
# name: dist-${{ matrix.os }}-${{ matrix.python }}
# path: dist/softioc*

# - name: Upload coverage to Codecov
# uses: codecov/codecov-action@v4
# with:
# name: ${{ matrix.os }}/${{ matrix.python }}
# directory: dist

# test-sdist:
# needs: [sdist]
# strategy:
# fail-fast: false
# matrix:
# os: [ubuntu-latest, windows-latest, macos-13]
# python: [cp37, cp38, cp39, cp310, cp311, cp312]
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/download-artifact@v4
# with:
# # TODO: Will this actually download ALL of the uploaded dists for all platforms?
# name: dist
# path: dist

# - name: Install sdist in a venv and check cli works
# run: pipx run --spec dist/*.tar.gz pythonSoftIOC --version
# shell: bash

# release:
# needs: [build, sdist]
# runs-on: ubuntu-latest
# # upload to PyPI and make a release on every tag
# if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
# steps:
# - uses: actions/download-artifact@v4
# with:
# name: dist
# path: dist

# - name: Github Release
# # We pin to the SHA, not the tag, for security reasons.
# # https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
# uses: softprops/action-gh-release@2d72d869af3bf23602f9593a1e3fd739b80ac1eb # v0.1.12
# with:
# files: dist/*
# body: See [Changelog](CHANGELOG.rst) for more details
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# - name: Publish to PyPI
# env:
# TWINE_USERNAME: __token__
# TWINE_PASSWORD: ${{ secrets.pypi_token }}
# run: pipx run twine upload dist/*

# Check that the master branches of various upstream dependencies are
# still compatible when used together
Expand Down

0 comments on commit fadfb3d

Please sign in to comment.