Skip to content

Commit

Permalink
Test generated file.
Browse files Browse the repository at this point in the history
  • Loading branch information
benjaminrwilson committed Jan 24, 2025
1 parent b4090f6 commit 03f9e3e
Showing 1 changed file with 258 additions and 81 deletions.
339 changes: 258 additions & 81 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -1,107 +1,284 @@
name: release
# name: release

# on:
# push:
# branches:
# - main
# tags:
# - '*'
# pull_request:
# workflow_dispatch:

# concurrency:
# group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.sha }}
# cancel-in-progress: true

# jobs:

# build:
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# # os: [macos-latest, ubuntu-latest]
# os: [ubuntu-latest]
# target: [x86_64, aarch64]
# # os: [macos-latest]
# # target: [x86_64]
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-python@v5
# with:
# python-version: '3.13'
# - name: Build wheels.
# uses: PyO3/maturin-action@v1
# with:
# command: publish
# args: --no-password
# # - name: Build sdist.
# # if: matrix.os == 'ubuntu-latest' && matrix.target == 'x86_64'
# # uses: PyO3/maturin-action@v1
# # with:
# # command: sdist
# # - name: Upload wheels.
# # uses: actions/upload-artifact@v4
# # with:
# # name: wheels-artifact-${{ matrix.os }}-${{ matrix.target }}
# # path: target/wheels/*.whl
# # - name: Upload sdist artifact (only on Ubuntu).
# # if: matrix.os == 'ubuntu-latest' && matrix.target == 'x86_64'
# # uses: actions/upload-artifact@v4
# # with:
# # name: sdist-artifact
# # path: target/wheels/*.tar.gz

# # publish-to-testpypi:
# # name: Test release.
# # needs: [build]
# # runs-on: ubuntu-latest
# # permissions:
# # id-token: write # IMPORTANT: mandatory for trusted publishing

# # steps:
# # - name: Download all the dists.
# # uses: actions/download-artifact@v4
# # - name: Display structure of downloaded files
# # run: ls -R
# # - name: Organize artifacts into a directory
# # run: |
# # mkdir -p dist
# # mv **/* dist/
# # # with:
# # # merge-multiple: true
# # - name: Display structure of downloaded files
# # run: ls -R
# # - name: Publish distribution to TestPyPI.
# # uses: pypa/gh-action-pypi-publish@release/v1
# # with:
# # repository-url: https://test.pypi.org/legacy/

# # steps:
# # - uses: actions/download-artifact@v4
# # with:
# # name: python-package-distributions
# # path: dist/
# # - name: Publish distribution to Test PyPI.
# # uses: pypa/gh-action-pypi-publish@release/v1
# # with:
# # password: ${{ secrets.TEST_PYPI_API_TOKEN }}
# # repository-url: https://test.pypi.org/legacy/
# # skip-existing: true

# # release:
# # name: Release
# # runs-on: ubuntu-latest
# # if: "startsWith(github.ref, 'refs/tags/')"
# # needs: [linux, macos, sdist]
# # steps:
# # - uses: actions/download-artifact@v4
# # with:
# # name: python-package-distributions
# # path: dist/
# # - name: Publish to PyPI
# # uses: PyO3/maturin-action@v1
# # env:
# # MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
# # with:
# # command: upload
# # args: --skip-existing *

name: CI

on:
push:
branches:
- main
- master
tags:
- '*'
pull_request:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
permissions:
contents: read

jobs:

build:
runs-on: ${{ matrix.os }}
linux:
runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
# os: [macos-latest, ubuntu-latest]
os: [ubuntu-latest]
target: [x86_64, aarch64]
# os: [macos-latest]
# target: [x86_64]
platform:
- runner: ubuntu-22.04
target: x86_64
- runner: ubuntu-22.04
target: x86
- runner: ubuntu-22.04
target: aarch64
- runner: ubuntu-22.04
target: armv7
- runner: ubuntu-22.04
target: s390x
- runner: ubuntu-22.04
target: ppc64le
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Build wheels.
python-version: 3.x
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
command: publish
args: --no-password
# - name: Build sdist.
# if: matrix.os == 'ubuntu-latest' && matrix.target == 'x86_64'
# uses: PyO3/maturin-action@v1
# with:
# command: sdist
# - name: Upload wheels.
# uses: actions/upload-artifact@v4
# with:
# name: wheels-artifact-${{ matrix.os }}-${{ matrix.target }}
# path: target/wheels/*.whl
# - name: Upload sdist artifact (only on Ubuntu).
# if: matrix.os == 'ubuntu-latest' && matrix.target == 'x86_64'
# uses: actions/upload-artifact@v4
# with:
# name: sdist-artifact
# path: target/wheels/*.tar.gz

# publish-to-testpypi:
# name: Test release.
# needs: [build]
# runs-on: ubuntu-latest
# permissions:
# id-token: write # IMPORTANT: mandatory for trusted publishing
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter
sccache: 'true'
manylinux: auto
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-linux-${{ matrix.platform.target }}
path: dist

# musllinux:
# runs-on: ${{ matrix.platform.runner }}
# strategy:
# matrix:
# platform:
# - runner: ubuntu-22.04
# target: x86_64
# - runner: ubuntu-22.04
# target: x86
# - runner: ubuntu-22.04
# target: aarch64
# - runner: ubuntu-22.04
# target: armv7
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-python@v5
# with:
# python-version: 3.x
# - name: Build wheels
# uses: PyO3/maturin-action@v1
# with:
# target: ${{ matrix.platform.target }}
# args: --release --out dist --find-interpreter
# sccache: 'true'
# manylinux: musllinux_1_2
# - name: Upload wheels
# uses: actions/upload-artifact@v4
# with:
# name: wheels-musllinux-${{ matrix.platform.target }}
# path: dist

# windows:
# runs-on: ${{ matrix.platform.runner }}
# strategy:
# matrix:
# platform:
# - runner: windows-latest
# target: x64
# - runner: windows-latest
# target: x86
# steps:
# - name: Download all the dists.
# uses: actions/download-artifact@v4
# - name: Display structure of downloaded files
# run: ls -R
# - name: Organize artifacts into a directory
# run: |
# mkdir -p dist
# mv **/* dist/
# # with:
# # merge-multiple: true
# - name: Display structure of downloaded files
# run: ls -R
# - name: Publish distribution to TestPyPI.
# uses: pypa/gh-action-pypi-publish@release/v1
# with:
# repository-url: https://test.pypi.org/legacy/

# steps:
# - uses: actions/download-artifact@v4
# with:
# name: python-package-distributions
# path: dist/
# - name: Publish distribution to Test PyPI.
# uses: pypa/gh-action-pypi-publish@release/v1
# with:
# password: ${{ secrets.TEST_PYPI_API_TOKEN }}
# repository-url: https://test.pypi.org/legacy/
# skip-existing: true

# release:
# name: Release
# runs-on: ubuntu-latest
# if: "startsWith(github.ref, 'refs/tags/')"
# needs: [linux, macos, sdist]
# - uses: actions/checkout@v4
# - uses: actions/setup-python@v5
# with:
# python-version: 3.x
# architecture: ${{ matrix.platform.target }}
# - name: Build wheels
# uses: PyO3/maturin-action@v1
# with:
# target: ${{ matrix.platform.target }}
# args: --release --out dist --find-interpreter
# sccache: 'true'
# - name: Upload wheels
# uses: actions/upload-artifact@v4
# with:
# name: wheels-windows-${{ matrix.platform.target }}
# path: dist

# macos:
# runs-on: ${{ matrix.platform.runner }}
# strategy:
# matrix:
# platform:
# - runner: macos-13
# target: x86_64
# - runner: macos-14
# target: aarch64
# steps:
# - uses: actions/download-artifact@v4
# - uses: actions/checkout@v4
# - uses: actions/setup-python@v5
# with:
# name: python-package-distributions
# path: dist/
# - name: Publish to PyPI
# python-version: 3.x
# - name: Build wheels
# uses: PyO3/maturin-action@v1
# env:
# MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
# with:
# command: upload
# args: --skip-existing *
# target: ${{ matrix.platform.target }}
# args: --release --out dist --find-interpreter
# sccache: 'true'
# - name: Upload wheels
# uses: actions/upload-artifact@v4
# with:
# name: wheels-macos-${{ matrix.platform.target }}
# path: dist

sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
- name: Upload sdist
uses: actions/upload-artifact@v4
with:
name: wheels-sdist
path: dist

release:
name: Release
runs-on: ubuntu-latest
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
needs: [linux, sdist]
permissions:
# Use to sign the release artifacts
id-token: write
# Used to upload release artifacts
contents: write
# Used to generate artifact attestation
attestations: write
steps:
- uses: actions/download-artifact@v4
- name: Generate artifact attestation
uses: actions/attest-build-provenance@v1
with:
subject-path: 'wheels-*/*'
- name: Publish to PyPI
if: ${{ startsWith(github.ref, 'refs/tags/') }}
uses: PyO3/maturin-action@v1
# env:
# MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
with:
command: upload
args: --non-interactive --skip-existing wheels-*/*

0 comments on commit 03f9e3e

Please sign in to comment.