Skip to content

Correct the naming of outputs. #136

Correct the naming of outputs.

Correct the naming of outputs. #136

Workflow file for this run

# This is the DEV workflow.
# Run this Action on creating a new tag matching "<version>-b<build>"
# e.g., 3.7-b1
name: Build support package
on:
push:
tags:
- '*-b*'
jobs:
build:
runs-on: macOS-latest
outputs:
TAG: ${{ steps.build-vars.outputs.TAG }}
PYTHON_VER: ${{ steps.build-vars.outputs.PYTHON_VER }}
BUILD_NUMBER: ${{ steps.build-vars.outputs.BUILD_NUMBER }}
PYTHON_VERSION: ${{ steps.version-details.outputs.PYTHON_VERSION }}
BZIP2_VERSION: ${{ steps.version-details.outputs.BZIP2_VERSION }}
XZ_VERSION: ${{ steps.version-details.outputs.XZ_VERSION }}
LIBFFI_VERSION: ${{ steps.version-details.outputs.LIBFFI_VERSION }}
OPENSSL_VERSION: ${{ steps.version-details.outputs.OPENSSL_VERSION }}
strategy:
matrix:
target: ['macOS', 'iOS', 'tvOS', 'watchOS']
steps:
- uses: actions/checkout@v4
- name: Set build variables
id: build-vars
env:
TAG_NAME: ${{ github.ref }}
run: |
export TAG=$(basename $TAG_NAME)
echo "TAG=${TAG}"
export PYTHON_VER="${TAG%-*}"
export BUILD_NUMBER="${TAG#*-}"
echo "PYTHON_VER=${PYTHON_VER}"
echo "BUILD_NUMBER=${BUILD_NUMBER}"
echo "TAG=${TAG}" >> ${GITHUB_OUTPUT}
echo "PYTHON_VER=${PYTHON_VER}" >> ${GITHUB_OUTPUT}
echo "BUILD_NUMBER=${BUILD_NUMBER}" >> ${GITHUB_OUTPUT}
- name: Set up Python
uses: actions/[email protected]
with:
python-version: "${{ steps.build-vars.outputs.PYTHON_VER }}-dev"
- name: Build ${{ matrix.target }}
run: |
# Do the build for the requested target.
make ${{ matrix.target }} BUILD_NUMBER=${{ steps.build-vars.outputs.BUILD_NUMBER }}
- name: Extract version details
id: version-details
run: |
export PYTHON_VERSION=$(grep "Python version:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 3)
export BZIP2_VERSION=$(grep "BZip2:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 2)
export XZ_VERSION=$(grep "XZ:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 2)
export OPENSSL_VERSION=$(grep "OpenSSL:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 2)
export LIBFFI_VERSION=$(grep "libFFI:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 2)
echo "PYTHON_VERSION=${PYTHON_VERSION}"
echo "BZIP2_VERSION=${BZIP2_VERSION}"
echo "XZ_VERSION=${XZ_VERSION}"
echo "OPENSSL_VERSION=${OPENSSL_VERSION}"
echo "LIBFFI_VERSION=${LIBFFI_VERSION}"
echo "PYTHON_VERSION=${PYTHON_VERSION}" >> ${GITHUB_OUTPUT}
echo "BZIP2_VERSION=${BZIP2_VERSION}" >> ${GITHUB_OUTPUT}
echo "XZ_VERSION=${XZ_VERSION}" >> ${GITHUB_OUTPUT}
echo "OPENSSL_VERSION=${OPENSSL_VERSION}" >> ${GITHUB_OUTPUT}
echo "LIBFFI_VERSION=${LIBFFI_VERSION}" >> ${GITHUB_OUTPUT}
- name: Upload build artifact
uses: actions/[email protected]
with:
name: dist
path: "dist"
if-no-files-found: error
make-release:
runs-on: ubuntu-latest
needs: build
steps:
- name: Get build artifacts
uses: actions/[email protected]
with:
name: dist
path: dist
- name: Create Release
uses: ncipollo/[email protected]
with:
name: ${{ needs.build.outputs.PYTHON_VER }}-${{ needs.build.outputs.BUILD_NUMBER }}
tag: ${{ needs.build.outputs.PYTHON_VER }}-${{ needs.build.outputs.BUILD_NUMBER }}
draft: true
body: |
Build ${{ needs.build.outputs.BUILD_NUMBER }} of the BeeWare support package for Python ${{ needs.build.outputs.PYTHON_VER }}.
Includes:
* Python ${{ needs.build.outputs.PYTHON_VERSION }}
* OpenSSL ${{ needs.build.outputs.OPENSSL_VERSION }}
* BZip2 ${{ needs.build.outputs.BZIP2_VERSION }}
* XZ ${{ needs.build.outputs.XZ_VERSION }}
* LibFFI ${{ needs.build.outputs.LIBFFI_VERSION }}
artifacts: "dist/*"