Skip to content

Commit

Permalink
Test out pwsh 7.4 changes in GHA
Browse files Browse the repository at this point in the history
Signed-off-by: Jordan Borean <jborean93@gmail.com>
  • Loading branch information
jborean93 committed Jan 29, 2024
1 parent 18f3e2b commit 95bc6af
Showing 1 changed file with 1 addition and 273 deletions.
274 changes: 1 addition & 273 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,29 +43,6 @@ jobs:
fail-fast: false
matrix:
include:
- os: macOS-12
version: cp312-macosx_x86_64
- os: macOS-12
version: cp312-macosx_arm64
- os: macOS-12
version: cp311-macosx_x86_64
- os: macOS-12
version: cp311-macosx_arm64
- os: macOS-12
version: cp310-macosx_x86_64
- os: macOS-12
version: cp310-macosx_arm64
- os: macOS-12
version: cp39-macosx_x86_64
- os: macOS-12
version: cp39-macosx_arm64
- os: macOS-12
version: cp38-macosx_x86_64
- os: macOS-12
version: cp38-macosx_arm64
- os: macOS-12
version: cp37-macosx_x86_64

- os: windows-2022
version: cp312-win_amd64
- os: windows-2022
Expand Down Expand Up @@ -121,7 +98,7 @@ jobs:
rm gssapi-*.tar.gz
- name: Build wheel
uses: pypa/cibuildwheel@v2.16.4
uses: jborean93/cibuildwheel@c753cd282d1e150e2d3f7534a3e25004d6c2cf5f
env:
CIBW_ARCHS: all
CIBW_TEST_SKIP: '*_arm64'
Expand All @@ -133,252 +110,3 @@ jobs:
with:
path: ./wheelhouse/*.whl
name: artifact-wheel-${{ matrix.version }}

# To catch issues like this https://github.com/pythongssapi/python-gssapi/issues/327
assertion_build:
needs:
- build_sdist

runs-on: ubuntu-latest
steps:
- name: Download gssapi sdist
uses: actions/download-artifact@v4
with:
name: artifact-sdist
path: ./dist

- name: Compile Python with assertions
shell: bash
run: |
PYTHON_VERSION="3.11.5"
wget --quiet "https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz"
tar xf "Python-${PYTHON_VERSION}.tar.xz"
cd "Python-${PYTHON_VERSION}/"
./configure --with-assertions --prefix "${PWD}/../Python-${PYTHON_VERSION}-build"
make
make install
cd ..
sudo apt-get update
DEBIAN_FRONTEND=noninteractive sudo apt-get -y install krb5-user libkrb5-dev
GSSAPI_VER="$( find ./dist -type f -name 'gssapi-*.tar.gz' -printf "%f\n" | sed -n 's/gssapi-\(.*\)\.tar\.gz/\1/p' )"
PATH="${PWD}/Python-${PYTHON_VERSION}-build/bin:${PATH}"
python3 -m pip install gssapi=="${GSSAPI_VER}" \
--find-links "file://${PWD}/dist" \
--verbose
python3 -c "import gssapi"
linux:
needs:
- build_sdist
- build_wheels

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
name:
- debian-stable
- debian-heimdal
- centos-stream-9
- fedora-latest
include:
- name: debian-stable
distro: debian:stable
- name: debian-heimdal
distro: debian:stable
krb5_ver: heimdal
- name: centos-stream-9
distro: quay.io/centos/centos:stream9
- name: fedora-latest
distro: fedora:latest
flake: 'yes'

steps:
- name: Check out code
uses: actions/checkout@v4

- name: Download built project
uses: actions/download-artifact@v4
with:
pattern: artifact-*
merge-multiple: true
path: ./dist

- name: Test gssapi
run: ./ci/run-on-linux.sh ./ci/test.sh
env:
DISTRO: ${{ matrix.distro }}
KRB5_VER: ${{ matrix.krb5_ver }}
FLAKE: ${{ matrix.flake }}

windows:
needs:
- build_sdist
- build_wheels

runs-on: windows-latest
strategy:
fail-fast: false
matrix:
name:
- win-py-3.12
- win-py-3.11
- win-py-3.10
- win-py-3.9
- win-py-3.8
- win-py-3.7
arch:
- x64
- x86
include:
- name: win-py-3.12
pyenv: '3.12.0-rc.1'
- name: win-py-3.11
pyenv: '3.11'
- name: win-py-3.10
pyenv: '3.10'
- name: win-py-3.9
pyenv: '3.9'
- name: win-py-3.8
pyenv: '3.8'
- name: win-py-3.7
pyenv: '3.7'

steps:
- name: Check out code
uses: actions/checkout@v4

- name: Download built project
uses: actions/download-artifact@v4
with:
pattern: artifact-*
merge-multiple: true
path: ./dist

- name: Install the right python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.pyenv }}
architecture: ${{ matrix.arch }}

- name: Test gssapi
shell: bash
run: ./ci/test.sh
env:
OS_NAME: windows

macos:
needs:
- build_sdist
- build_wheels

runs-on: macos-latest
steps:
- name: Check out code
uses: actions/checkout@v4

- name: Download built project
uses: actions/download-artifact@v4
with:
pattern: artifact-*
merge-multiple: true
path: ./dist

- name: Test gssapi
run: ./ci/test.sh
env:
KRB5_VER: heimdal

publish:
name: publish

needs:
- assertion_build
- linux
- macos
- windows

runs-on: ubuntu-latest
permissions:
# Needed for OIDC publishing
id-token: write
# Needed for github-pages-deploy-action and other repo write tasks
contents: write

steps:
- name: Check out code
uses: actions/checkout@v4

- name: Download built project
uses: actions/download-artifact@v4
with:
pattern: artifact-*
merge-multiple: true
path: ./dist

- name: Create GitHub release artifact
run: ./ci/run-on-linux.sh ./ci/create-release-tar.sh
env:
DISTRO: fedora:latest

- name: Get tarball path
id: tarball
run: echo "tarball=`ls tag_build/*.tar.gz | awk -F/ '{print $2}'`" >> $GITHUB_OUTPUT

- name: Get release checksum path
id: checksum
run: echo "checksum=`ls tag_build/*.sha512sum | awk -F/ '{print $2}'`" >> $GITHUB_OUTPUT

- name: Upload tagged build artifact
uses: actions/upload-artifact@v4
with:
path: tag_build/${{ steps.tarball.outputs.tarball }}
name: release-asset

- name: Deploy stable docs
if: startsWith(github.ref, 'refs/tags/v')
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: gh-pages
folder: ci_docs_build
target-folder: stable

- name: Create release
if: startsWith(github.ref, 'refs/tags/v')
uses: actions/create-release@v1
id: cr
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}

- name: Upload release tarball
if: startsWith(github.ref, 'refs/tags/v')
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.cr.outputs.upload_url }}
asset_path: tag_build/${{ steps.tarball.outputs.tarball }}
asset_name: ${{ steps.tarball.outputs.tarball }}
asset_content_type: application/octet-stream

- name: Upload release checksum
if: startsWith(github.ref, 'refs/tags/v')
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.cr.outputs.upload_url }}
asset_path: tag_build/${{ steps.checksum.outputs.checksum }}
asset_name: ${{ steps.checksum.outputs.checksum }}
asset_content_type: text/plain

- name: Deploy to PyPI
if: startsWith(github.ref, 'refs/tags/v')
uses: pypa/gh-action-pypi-publish@release/v1

0 comments on commit 95bc6af

Please sign in to comment.