Skip to content

logs

logs #217

Workflow file for this run

# Build wheels and publish them to PyPi (for the master branch)
name: Python Wheels
on:
workflow_dispatch:
push:
branches:
- dev
- 57-add-support-for-adjustment-layers
pull_request:
branches:
- master
release:
types:
- published
jobs:
build_sdist:
name: Build SDist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Build SDist
run: pipx run build --sdist
- name: Check metadata
run: pipx run twine check dist/*
- uses: actions/upload-artifact@v4
with:
name: PhotoshopAPI_Py-srcdist
path: dist/*.tar.gz
build_wheels:
name: Wheels on ${{ matrix.os_dist.os }}-${{ matrix.os_dist.dist }}
runs-on: ${{ matrix.os_dist.os }}
strategy:
fail-fast: false
matrix:
os_dist: [
{os: ubuntu-latest, dist: cp37-manylinux_x86_64},
{os: ubuntu-latest, dist: cp38-manylinux_x86_64},
{os: ubuntu-latest, dist: cp39-manylinux_x86_64},
{os: ubuntu-latest, dist: cp310-manylinux_x86_64},
{os: ubuntu-latest, dist: cp311-manylinux_x86_64},
{os: ubuntu-latest, dist: cp312-manylinux_x86_64},
{os: windows-latest, dist: cp37-win_amd64},
{os: windows-latest, dist: cp38-win_amd64},
{os: windows-latest, dist: cp39-win_amd64},
{os: windows-latest, dist: cp310-win_amd64},
{os: windows-latest, dist: cp311-win_amd64},
{os: windows-latest, dist: cp312-win_amd64},
{os: macos-latest, dist: cp310-macosx_arm64},
{os: macos-latest, dist: cp311-macosx_arm64},
{os: macos-latest, dist: cp312-macosx_arm64}
]
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
fetch-depth: 0
# Further brew packages needed to run/install vcpkg dependencies
- name: Setup MacOS dependencies
if: matrix.os_dist.os == 'macos-latest'
run: |
brew install ninja
brew install autoconf
brew install libtool
brew install automake
- name: Initialize vcpkg
uses: lukka/run-vcpkg@v11
with:
vcpkgDirectory: '${{ github.workspace }}/thirdparty/vcpkg'
- uses: pypa/[email protected]
env:
CC: gcc-13
CXX: g++-13
CIBW_ARCHS: auto64
MACOSX_DEPLOYMENT_TARGET: 14.0
CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux_2_34_x86_64:latest
CIBW_BUILD: "${{ matrix.os_dist.dist }}"
# Test not only by running the test suite but also by executing every example we provide. This is to ensure
# our examples are working and users can rely on them for starting off points
CIBW_TEST_COMMAND: >
python -m pip install -r {project}/python/psapi-test/requirements.txt &&
python -u {project}/PhotoshopExamples/AddLayerMasks/add_layer_masks.py &&
python -u {project}/PhotoshopExamples/CreateGroups/create_groups.py &&
python -u {project}/PhotoshopExamples/CreateSimpleDocument/create_simple_document.py &&
python -u {project}/PhotoshopExamples/ExtractImageData/extract_image_data.py &&
python -u {project}/PhotoshopExamples/ModifyLayerStructure/modify_layer_structure.py &&
python -u {project}/PhotoshopExamples/ReplaceImageData/replace_image_data.py &&
python -u {project}/PhotoshopExamples/RescaleCanvas/rescale_canvas.py &&
nosetests {project}/python/psapi-test --verbose
- name: Verify clean directory
run: git diff --exit-code
shell: bash
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: PhotoshopAPI_Py-${{ matrix.os_dist.os }}-${{ matrix.os_dist.dist }}
path: wheelhouse/*.whl
- name: Upload logs as artifact
if: always() # Ensure this runs no matter what
uses: actions/upload-artifact@v3
with:
name: build-logs
path: D:\a\PhotoshopAPI\PhotoshopAPI\thirdparty\vcpkg\buildtrees\detect_compiler\stdout-x64-windows.log
mock-publish:
name: Mock Upload release to PyPI
permissions:
id-token: write
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
steps:
- uses: actions/setup-python@v5
with:
python-version: "3.x"
- uses: actions/download-artifact@v4
with:
path: PhotoshopAPI_Py
pattern: PhotoshopAPI_Py-*
merge-multiple: true
- run: ls -R PhotoshopAPI_Py
pypi-publish:
name: Upload release to PyPI
permissions:
id-token: write
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
if: github.event_name == 'release' && github.event.action == 'published'
steps:
- uses: actions/setup-python@v5
with:
python-version: "3.x"
- uses: actions/download-artifact@v4
with:
path: dist
pattern: PhotoshopAPI_Py-*
merge-multiple: true
- uses: pypa/gh-action-pypi-publish@release/v1