make a bunch of changes to the build process
This commit is contained in:
@@ -1,145 +0,0 @@
|
|||||||
name: Build and upload recommended package
|
|
||||||
|
|
||||||
env:
|
|
||||||
TYPE: "recommended"
|
|
||||||
DEV_INSTALLER_ID: "Developer ID Installer: Clever DevOps Co. (9GQZ7KUFR6)"
|
|
||||||
DEV_APPLICATION_ID: "Developer ID Application: Clever DevOps Co. (9GQZ7KUFR6)"
|
|
||||||
NOTARY_PASS: ${{ secrets.NOTARY_PASS }}
|
|
||||||
PYTHON_VERSION: "3.10.2"
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths-ignore:
|
|
||||||
- '**/README.md'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: macos-11.0
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout python repo
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Install Apple Developer ID Application certificates
|
|
||||||
uses: apple-actions/import-codesign-certs@253ddeeac23f2bdad1646faac5c8c2832e800071
|
|
||||||
with:
|
|
||||||
keychain-password: ${{ secrets.KEYCHAIN_PASSWORD }}
|
|
||||||
p12-file-base64: ${{ secrets.DEV_APP_CERTIFICATES_P12 }}
|
|
||||||
p12-password: ${{ secrets.DEV_APP_CERTIFICATES_P12_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Install Apple Developer ID Installer certificates
|
|
||||||
uses: apple-actions/import-codesign-certs@253ddeeac23f2bdad1646faac5c8c2832e800071
|
|
||||||
with:
|
|
||||||
create-keychain: false # do not create a new keychain for this value
|
|
||||||
keychain-password: ${{ secrets.KEYCHAIN_PASSWORD }}
|
|
||||||
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
|
|
||||||
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Run build package script
|
|
||||||
run: ./build_python_framework_pkgs.zsh "$TYPE" "$DEV_INSTALLER_ID" "$DEV_APPLICATION_ID" "$PYTHON_VERSION" "${NOTARY_PASS}"
|
|
||||||
|
|
||||||
- name: get environment variables
|
|
||||||
id: get_env_var
|
|
||||||
run: |
|
|
||||||
echo "PYTHON_BUILD_VERSION=$(/bin/cat ./build_info.txt)" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Generate changelog
|
|
||||||
id: changelog
|
|
||||||
uses: metcalfc/changelog-generator@e5306b306fa2e34f05258789e0e5c526c1bd4352 # v1.0.0
|
|
||||||
with:
|
|
||||||
myToken: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Create Release
|
|
||||||
if: github.ref == 'refs/heads/main'
|
|
||||||
id: create_release
|
|
||||||
uses: actions/create-release@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
tag_name: v${{env.PYTHON_BUILD_VERSION}}
|
|
||||||
release_name: Python ${{env.PYTHON_BUILD_VERSION}}
|
|
||||||
body: |
|
|
||||||
# Notes
|
|
||||||
Python ${{env.PYTHON_VERSION}} Framework
|
|
||||||
|
|
||||||
## Changes
|
|
||||||
**Note: Some of these updates have breaking changes. Always test your code before deploying production!**
|
|
||||||
- Library versions:
|
|
||||||
- attrs 21.4.0
|
|
||||||
- black 22.1.0
|
|
||||||
- certifi 2021.10.8
|
|
||||||
- cffi 1.15.0
|
|
||||||
- cfgv 3.3.1
|
|
||||||
- chardet 4.0.0
|
|
||||||
- click 8.0.3
|
|
||||||
- distlib 0.3.4
|
|
||||||
- filelock 3.4.2
|
|
||||||
- flake8-bugbear 22.1.11
|
|
||||||
- flake8 4.0.1
|
|
||||||
- identify 2.4.7
|
|
||||||
- idna 3.3
|
|
||||||
- importlib-metadata 4.10.1
|
|
||||||
- isort 5.10.1
|
|
||||||
- packaging 21.3
|
|
||||||
- pathspec 0.9.0
|
|
||||||
- pre-commit 2.17.0
|
|
||||||
- pycodestyle 2.8.0
|
|
||||||
- pycparser 2.21
|
|
||||||
- pyflakes 2.4.0
|
|
||||||
- pyobjc 8.2
|
|
||||||
- pyparsing 3.0.7
|
|
||||||
- PyYAML 6.0
|
|
||||||
- regex 2022.1.18
|
|
||||||
- requests 2.27.1
|
|
||||||
- tokenize-rt 4.2.0
|
|
||||||
- typed-ast 1.5.2
|
|
||||||
- urllib3 1.26.8
|
|
||||||
- virtualenv 20.13.0
|
|
||||||
- xattr 0.9.9
|
|
||||||
- zipp 3.7.0
|
|
||||||
|
|
||||||
${{ steps.changelog.outputs.changelog }}
|
|
||||||
|
|
||||||
# Flavors of Python
|
|
||||||
At this time, the automated build process will **only** create the Recommended package
|
|
||||||
|
|
||||||
## Recommended
|
|
||||||
This is a Python.framework that contains everything from minimal, and a few libraries that various well known open source projects require.
|
|
||||||
|
|
||||||
## Signing/Notarization
|
|
||||||
The signed package is fully notarized, including the Python.framework file
|
|
||||||
draft: false
|
|
||||||
prerelease: true
|
|
||||||
|
|
||||||
- name: Upload Signed Package Release Asset
|
|
||||||
if: github.ref == 'refs/heads/main'
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: ./outputs/python_${{env.TYPE}}_signed-${{env.PYTHON_BUILD_VERSION}}.pkg
|
|
||||||
asset_name: python_${{env.TYPE}}_signed-${{env.PYTHON_BUILD_VERSION}}.pkg
|
|
||||||
asset_content_type: application/x-newton-compatible-pkg
|
|
||||||
|
|
||||||
- name: Upload Python Framework Release Asset
|
|
||||||
if: github.ref == 'refs/heads/main'
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: ./outputs/Python3.framework_${{env.TYPE}}-${{env.PYTHON_BUILD_VERSION}}.zip
|
|
||||||
asset_name: Python3.framework_${{env.TYPE}}-${{env.PYTHON_BUILD_VERSION}}.zip
|
|
||||||
asset_content_type: application/zip
|
|
||||||
|
|
||||||
- name: Upload packages
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: packages
|
|
||||||
path: outputs/
|
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
name: Build and upload recommended package
|
||||||
|
|
||||||
|
env:
|
||||||
|
TYPE: "recommended"
|
||||||
|
DEV_INSTALLER_ID: "Developer ID Installer: Clever DevOps Co. (9GQZ7KUFR6)"
|
||||||
|
DEV_APPLICATION_ID: "Developer ID Application: Clever DevOps Co. (9GQZ7KUFR6)"
|
||||||
|
NOTARY_PASS: ${{ secrets.NOTARY_PASS }}
|
||||||
|
PYTHON_VERSION: "3.10.9"
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- '**/README.md'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: macos-12
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout python repo
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Install Apple Developer ID Application certificates
|
||||||
|
uses: ssrobins/import-codesign-certs@04ce695a5e6002f1971a8ed78fedd676318f950f # Move back to apple-actions/import-codesign-certs when merged
|
||||||
|
with:
|
||||||
|
keychain-password: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||||
|
p12-file-base64: ${{ secrets.DEV_APP_CERTIFICATES_P12 }}
|
||||||
|
p12-password: ${{ secrets.DEV_APP_CERTIFICATES_P12_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Install Apple Developer ID Installer certificates
|
||||||
|
uses: ssrobins/import-codesign-certs@04ce695a5e6002f1971a8ed78fedd676318f950f # Move back to apple-actions/import-codesign-certs when merged
|
||||||
|
with:
|
||||||
|
create-keychain: false # do not create a new keychain for this value
|
||||||
|
keychain-password: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||||
|
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
|
||||||
|
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Run build package script
|
||||||
|
run: ./build_python_framework_pkgs.zsh "$TYPE" "$DEV_INSTALLER_ID" "$DEV_APPLICATION_ID" "$PYTHON_VERSION" "${NOTARY_PASS}"
|
||||||
|
|
||||||
|
- name: get environment variables
|
||||||
|
id: get_env_var
|
||||||
|
run: |
|
||||||
|
echo "PYTHON_BUILD_VERSION=$(/bin/cat ./build_info.txt)" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Generate changelog
|
||||||
|
id: changelog
|
||||||
|
uses: metcalfc/changelog-generator@31b6d6f9e6e17e84ad34bee780f82d8ee79f6842 # v4.0.1
|
||||||
|
with:
|
||||||
|
myToken: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
reverse: 'true'
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
id: create_release
|
||||||
|
uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v0.1.15
|
||||||
|
with:
|
||||||
|
name: Python ${{env.PYTHON_BUILD_VERSION}}
|
||||||
|
tag_name: v${{env.PYTHON_BUILD_VERSION}}
|
||||||
|
draft: false
|
||||||
|
prerelease: true
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
body: |
|
||||||
|
# Notes
|
||||||
|
Python ${{env.PYTHON_VERSION}} Framework
|
||||||
|
|
||||||
|
## Changes
|
||||||
|
- Upgraded Python to 3.10.9
|
||||||
|
**Note: Some of these updates may have breaking changes. Always test your code before deploying to production!**
|
||||||
|
|
||||||
|
Please see the `requirements_recommended.txt` for the current libraries being used.
|
||||||
|
|
||||||
|
${{ steps.changelog.outputs.changelog }}
|
||||||
|
|
||||||
|
# Flavors of Python
|
||||||
|
At this time, the automated build process will **only** create the Recommended package
|
||||||
|
|
||||||
|
## Recommended
|
||||||
|
This is a Python.framework that contains everything from minimal, and a few libraries that various well known open source projects require.
|
||||||
|
|
||||||
|
## Signing/Notarization
|
||||||
|
The signed package is fully notarized, including the Python.framework file
|
||||||
|
files: ${{github.workspace}}/outputs/*.pkg
|
||||||
|
|
||||||
|
- name: Upload packages
|
||||||
|
uses: actions/upload-artifact@v3.1.1
|
||||||
|
with:
|
||||||
|
name: packages
|
||||||
|
path: outputs/
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
name: Build and upload recommended package
|
||||||
|
|
||||||
|
env:
|
||||||
|
TYPE: "recommended"
|
||||||
|
DEV_INSTALLER_ID: "Developer ID Installer: Clever DevOps Co. (9GQZ7KUFR6)"
|
||||||
|
DEV_APPLICATION_ID: "Developer ID Application: Clever DevOps Co. (9GQZ7KUFR6)"
|
||||||
|
NOTARY_PASS: ${{ secrets.NOTARY_PASS }}
|
||||||
|
PYTHON_VERSION: "3.11.1"
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- '**/README.md'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: macos-12
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout python repo
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Install Apple Developer ID Application certificates
|
||||||
|
uses: ssrobins/import-codesign-certs@04ce695a5e6002f1971a8ed78fedd676318f950f # Move back to apple-actions/import-codesign-certs when merged
|
||||||
|
with:
|
||||||
|
keychain-password: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||||
|
p12-file-base64: ${{ secrets.DEV_APP_CERTIFICATES_P12 }}
|
||||||
|
p12-password: ${{ secrets.DEV_APP_CERTIFICATES_P12_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Install Apple Developer ID Installer certificates
|
||||||
|
uses: ssrobins/import-codesign-certs@04ce695a5e6002f1971a8ed78fedd676318f950f # Move back to apple-actions/import-codesign-certs when merged
|
||||||
|
with:
|
||||||
|
create-keychain: false # do not create a new keychain for this value
|
||||||
|
keychain-password: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||||
|
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
|
||||||
|
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Run build package script
|
||||||
|
run: ./build_python_framework_pkgs.zsh "$TYPE" "$DEV_INSTALLER_ID" "$DEV_APPLICATION_ID" "$PYTHON_VERSION" "${NOTARY_PASS}"
|
||||||
|
|
||||||
|
- name: get environment variables
|
||||||
|
id: get_env_var
|
||||||
|
run: |
|
||||||
|
echo "PYTHON_BUILD_VERSION=$(/bin/cat ./build_info.txt)" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Generate changelog
|
||||||
|
id: changelog
|
||||||
|
uses: metcalfc/changelog-generator@31b6d6f9e6e17e84ad34bee780f82d8ee79f6842 # v4.0.1
|
||||||
|
with:
|
||||||
|
myToken: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
reverse: 'true'
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
id: create_release
|
||||||
|
uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v0.1.15
|
||||||
|
with:
|
||||||
|
name: Python ${{env.PYTHON_BUILD_VERSION}}
|
||||||
|
tag_name: v${{env.PYTHON_BUILD_VERSION}}
|
||||||
|
draft: false
|
||||||
|
prerelease: true
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
body: |
|
||||||
|
# Notes
|
||||||
|
Python ${{env.PYTHON_VERSION}} Framework
|
||||||
|
|
||||||
|
## Changes
|
||||||
|
- Upgraded Python to 3.11.1
|
||||||
|
**Note: Some of these updates may have breaking changes. Always test your code before deploying to production!**
|
||||||
|
|
||||||
|
Please see the `requirements_recommended.txt` for the current libraries being used.
|
||||||
|
|
||||||
|
${{ steps.changelog.outputs.changelog }}
|
||||||
|
|
||||||
|
# Flavors of Python
|
||||||
|
At this time, the automated build process will **only** create the Recommended package
|
||||||
|
|
||||||
|
## Recommended
|
||||||
|
This is a Python.framework that contains everything from minimal, and a few libraries that various well known open source projects require.
|
||||||
|
|
||||||
|
## Signing/Notarization
|
||||||
|
The signed package is fully notarized, including the Python.framework file
|
||||||
|
files: ${{github.workspace}}/outputs/*.pkg
|
||||||
|
|
||||||
|
- name: Upload packages
|
||||||
|
uses: actions/upload-artifact@v3.1.1
|
||||||
|
with:
|
||||||
|
name: packages
|
||||||
|
path: outputs/
|
||||||
@@ -1,133 +0,0 @@
|
|||||||
name: Build and upload recommended package
|
|
||||||
|
|
||||||
env:
|
|
||||||
TYPE: "recommended"
|
|
||||||
DEV_ID: "Developer ID Installer: Clever DevOps Co. (9GQZ7KUFR6)"
|
|
||||||
PYTHON_VERSION: "3.9.10"
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: macos-11.0
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Set environment variables
|
|
||||||
id: set_env_var
|
|
||||||
run: |
|
|
||||||
echo "BUILD_DATE=$(/bin/date -u "+%m%d%Y%H%M%S")" >> $GITHUB_ENV
|
|
||||||
echo "BUILD_DATE_RELEASE=$(/bin/date -u "+%B %d %Y %H:%M:%S")" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Checkout python repo
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install Apple certificates
|
|
||||||
if: github.ref == 'refs/heads/main'
|
|
||||||
uses: apple-actions/import-codesign-certs@253ddeeac23f2bdad1646faac5c8c2832e800071
|
|
||||||
with:
|
|
||||||
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
|
|
||||||
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Run build package script
|
|
||||||
run: ./build_python_framework_pkgs.zsh "$TYPE" "$DEV_ID" "$PYTHON_VERSION" "${BUILD_DATE}"
|
|
||||||
|
|
||||||
- name: Create Release
|
|
||||||
if: github.ref == 'refs/heads/main'
|
|
||||||
id: create_release
|
|
||||||
uses: actions/create-release@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
tag_name: v.${{env.PYTHON_VERSION}}.${{env.BUILD_DATE}}
|
|
||||||
release_name: Python ${{env.PYTHON_VERSION}} (${{env.BUILD_DATE_RELEASE}})
|
|
||||||
body: |
|
|
||||||
# Notes
|
|
||||||
Python 3.9.10 Framework
|
|
||||||
|
|
||||||
## Changes
|
|
||||||
- Upgraded Python to 3.9.10
|
|
||||||
**Note: Some of these updates have breaking changes. Always test your code before deploying to production!**
|
|
||||||
- Updated the following libraries:
|
|
||||||
- attrs to 21.4.0
|
|
||||||
- black to 22.1.0
|
|
||||||
- certifi to 2021.10.8
|
|
||||||
- cffi to 1.15.0
|
|
||||||
- cfgv to 3.3.1
|
|
||||||
- chardet to 4.0.0
|
|
||||||
- click to 8.0.3
|
|
||||||
- distlib to 0.3.4
|
|
||||||
- filelock to 3.4.2
|
|
||||||
- flake8-bugbear to 22.1.11
|
|
||||||
- flake8 to 4.0.1
|
|
||||||
- identify to 2.4.7
|
|
||||||
- idna to 3.3
|
|
||||||
- importlib-metadata to 4.10.1
|
|
||||||
- isort to 5.10.1
|
|
||||||
- packaging to 21.3
|
|
||||||
- pathspec to 0.9.0
|
|
||||||
- pre-commit to 2.17.0
|
|
||||||
- pycodestyle to 2.8.0
|
|
||||||
- pycparser to 2.21
|
|
||||||
- pyflakes to 2.4.0
|
|
||||||
- pyobjc to 8.2
|
|
||||||
- pyparsing to 3.0.7
|
|
||||||
- PyYAML to 6.0
|
|
||||||
- regex to 2022.1.18
|
|
||||||
- requests to 2.27.1
|
|
||||||
- tokenize-rt to 4.2.0
|
|
||||||
- typed-ast to 1.5.2
|
|
||||||
- urllib3 to 1.26.8
|
|
||||||
- virtualenv to 20.13.0
|
|
||||||
- xattr to 0.9.9
|
|
||||||
- zipp to 3.7.0
|
|
||||||
|
|
||||||
# Flavors of Python
|
|
||||||
At this time, the automated build process will **only** create the Recommended package
|
|
||||||
|
|
||||||
## Recommended
|
|
||||||
This is a Python.framework that contains everything from minimal, and a few libraries that various well known open source projects require.
|
|
||||||
draft: false
|
|
||||||
prerelease: true
|
|
||||||
|
|
||||||
- name: Upload Unsigned Package Release Asset
|
|
||||||
if: github.ref == 'refs/heads/main'
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: ./outputs/python_${{env.TYPE}}-${{env.PYTHON_VERSION}}.${{env.BUILD_DATE}}.pkg
|
|
||||||
asset_name: python_${{env.TYPE}}-${{env.PYTHON_VERSION}}.${{env.BUILD_DATE}}.pkg
|
|
||||||
asset_content_type: application/x-newton-compatible-pkg
|
|
||||||
|
|
||||||
- name: Upload Signed Package Release Asset
|
|
||||||
if: github.ref == 'refs/heads/main'
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: ./outputs/python_${{env.TYPE}}_signed-${{env.PYTHON_VERSION}}.${{env.BUILD_DATE}}.pkg
|
|
||||||
asset_name: python_${{env.TYPE}}_signed-${{env.PYTHON_VERSION}}.${{env.BUILD_DATE}}.pkg
|
|
||||||
asset_content_type: application/x-newton-compatible-pkg
|
|
||||||
|
|
||||||
- name: Upload Python Framework Release Asset
|
|
||||||
if: github.ref == 'refs/heads/main'
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: ./outputs/Python3.framework_${{env.TYPE}}-${{env.PYTHON_VERSION}}.${{env.BUILD_DATE}}.zip
|
|
||||||
asset_name: Python3.framework_${{env.TYPE}}-${{env.PYTHON_VERSION}}.${{env.BUILD_DATE}}.zip
|
|
||||||
asset_content_type: application/zip
|
|
||||||
|
|
||||||
- name: Upload packages
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: packages
|
|
||||||
path: outputs/
|
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
name: Build and upload recommended package
|
||||||
|
|
||||||
|
env:
|
||||||
|
TYPE: "recommended"
|
||||||
|
DEV_INSTALLER_ID: "Developer ID Installer: Clever DevOps Co. (9GQZ7KUFR6)"
|
||||||
|
DEV_APPLICATION_ID: "Developer ID Application: Clever DevOps Co. (9GQZ7KUFR6)"
|
||||||
|
NOTARY_PASS: ${{ secrets.NOTARY_PASS }}
|
||||||
|
PYTHON_VERSION: "3.9.16"
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- '**/README.md'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: macos-12
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout python repo
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Install Apple Developer ID Application certificates
|
||||||
|
uses: ssrobins/import-codesign-certs@04ce695a5e6002f1971a8ed78fedd676318f950f # Move back to apple-actions/import-codesign-certs when merged
|
||||||
|
with:
|
||||||
|
keychain-password: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||||
|
p12-file-base64: ${{ secrets.DEV_APP_CERTIFICATES_P12 }}
|
||||||
|
p12-password: ${{ secrets.DEV_APP_CERTIFICATES_P12_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Install Apple Developer ID Installer certificates
|
||||||
|
uses: ssrobins/import-codesign-certs@04ce695a5e6002f1971a8ed78fedd676318f950f # Move back to apple-actions/import-codesign-certs when merged
|
||||||
|
with:
|
||||||
|
create-keychain: false # do not create a new keychain for this value
|
||||||
|
keychain-password: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||||
|
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
|
||||||
|
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Run build package script
|
||||||
|
run: ./build_python_framework_pkgs.zsh "$TYPE" "$DEV_INSTALLER_ID" "$DEV_APPLICATION_ID" "$PYTHON_VERSION" "${NOTARY_PASS}"
|
||||||
|
|
||||||
|
- name: get environment variables
|
||||||
|
id: get_env_var
|
||||||
|
run: |
|
||||||
|
echo "PYTHON_BUILD_VERSION=$(/bin/cat ./build_info.txt)" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Generate changelog
|
||||||
|
id: changelog
|
||||||
|
uses: metcalfc/changelog-generator@31b6d6f9e6e17e84ad34bee780f82d8ee79f6842 # v4.0.1
|
||||||
|
with:
|
||||||
|
myToken: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
reverse: 'true'
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
id: create_release
|
||||||
|
uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v0.1.15
|
||||||
|
with:
|
||||||
|
name: Python ${{env.PYTHON_BUILD_VERSION}}
|
||||||
|
tag_name: v${{env.PYTHON_BUILD_VERSION}}
|
||||||
|
draft: false
|
||||||
|
prerelease: true
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
body: |
|
||||||
|
# Notes
|
||||||
|
Python ${{env.PYTHON_VERSION}} Framework
|
||||||
|
|
||||||
|
## Changes
|
||||||
|
- Upgraded Python to 3.9.16
|
||||||
|
**Note: Some of these updates may have breaking changes. Always test your code before deploying to production!**
|
||||||
|
|
||||||
|
Please see the `requirements_recommended.txt` for the current libraries being used.
|
||||||
|
|
||||||
|
${{ steps.changelog.outputs.changelog }}
|
||||||
|
|
||||||
|
# Flavors of Python
|
||||||
|
At this time, the automated build process will **only** create the Recommended package
|
||||||
|
|
||||||
|
## Recommended
|
||||||
|
This is a Python.framework that contains everything from minimal, and a few libraries that various well known open source projects require.
|
||||||
|
|
||||||
|
## Signing/Notarization
|
||||||
|
The signed package is fully notarized, including the Python.framework file
|
||||||
|
files: ${{github.workspace}}/outputs/*.pkg
|
||||||
|
|
||||||
|
- name: Upload packages
|
||||||
|
uses: actions/upload-artifact@v3.1.1
|
||||||
|
with:
|
||||||
|
name: packages
|
||||||
|
path: outputs/
|
||||||
@@ -5,6 +5,9 @@ Please see Apple's documentation on [file system basics](https://developer.apple
|
|||||||
|
|
||||||
This is an intended replacement for when Apple removes `/usr/bin/python` (which is happening with the macOS 12.3 release Spring 2022)
|
This is an intended replacement for when Apple removes `/usr/bin/python` (which is happening with the macOS 12.3 release Spring 2022)
|
||||||
|
|
||||||
|
## Build Issues
|
||||||
|
At this time, it is required to build this version of python on an Intel macOS device.
|
||||||
|
|
||||||
## Why should I use this instead of a package from python.org?
|
## Why should I use this instead of a package from python.org?
|
||||||
- It comes with PyObjC and other modules useful for Mac admins pre-installed; making it more like the Apple Python it's intended to replace
|
- It comes with PyObjC and other modules useful for Mac admins pre-installed; making it more like the Apple Python it's intended to replace
|
||||||
- It installs to a location less likely to be overwritten, removed, or modified by developers or power users who are also working with Python
|
- It installs to a location less likely to be overwritten, removed, or modified by developers or power users who are also working with Python
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
# Run this with your current directory being the path where this script is located
|
# Run this with your current directory being the path where this script is located
|
||||||
|
|
||||||
# Harcoded versions
|
# Harcoded versions
|
||||||
RP_SHA="06b3052afe49c400aa4196f2aada15c0992e3725"
|
RP_SHA="fb4dd9b024b249c71713f14d887f4bcea78aa8b0"
|
||||||
MP_SHA="0fcd47faf0fb2b4e8a0256a77be315a3cb6ab319"
|
MP_SHA="0fcd47faf0fb2b4e8a0256a77be315a3cb6ab319"
|
||||||
MACOS_VERSION=11 # use 10.9 for non-universal
|
MACOS_VERSION=11 # use 10.9 for non-universal
|
||||||
PYTHON_PRERELEASE_VERSION=
|
PYTHON_PRERELEASE_VERSION=
|
||||||
@@ -18,7 +18,7 @@ RP_BINDIR="/tmp/relocatable-python"
|
|||||||
MP_BINDIR="/tmp/munki-pkg"
|
MP_BINDIR="/tmp/munki-pkg"
|
||||||
CONSOLEUSER=$(/usr/bin/stat -f "%Su" /dev/console)
|
CONSOLEUSER=$(/usr/bin/stat -f "%Su" /dev/console)
|
||||||
PIPCACHEDIR="/Users/${CONSOLEUSER}/Library/Caches/pip"
|
PIPCACHEDIR="/Users/${CONSOLEUSER}/Library/Caches/pip"
|
||||||
XCODE_PATH="/Applications/Xcode_13.2.1.app"
|
XCODE_PATH="/Applications/Xcode_14.1.app"
|
||||||
XCODE_NOTARY_PATH="$XCODE_PATH/Contents/Developer/usr/bin/notarytool"
|
XCODE_NOTARY_PATH="$XCODE_PATH/Contents/Developer/usr/bin/notarytool"
|
||||||
XCODE_STAPLER_PATH="$XCODE_PATH/Contents/Developer/usr/bin/stapler"
|
XCODE_STAPLER_PATH="$XCODE_PATH/Contents/Developer/usr/bin/stapler"
|
||||||
NEWSUBBUILD=$((80620 + $(git rev-parse HEAD~0 | xargs -I{} git rev-list --count {})))
|
NEWSUBBUILD=$((80620 + $(git rev-parse HEAD~0 | xargs -I{} git rev-list --count {})))
|
||||||
@@ -55,7 +55,7 @@ fi
|
|||||||
if [ -n "$4" ]; then
|
if [ -n "$4" ]; then
|
||||||
PYTHON_VERSION=$4
|
PYTHON_VERSION=$4
|
||||||
else
|
else
|
||||||
PYTHON_VERSION=3.10.2
|
PYTHON_VERSION=3.11.1
|
||||||
fi
|
fi
|
||||||
# Set python bin version based on PYTHON_VERSION
|
# Set python bin version based on PYTHON_VERSION
|
||||||
PYTHON_BIN_VERSION="${PYTHON_VERSION%.*}"
|
PYTHON_BIN_VERSION="${PYTHON_VERSION%.*}"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
--no-binary :all:
|
--no-binary :all:
|
||||||
cffi==1.15.0
|
cffi==1.15.1
|
||||||
pycparser==2.21
|
pycparser==2.21
|
||||||
pyobjc==7.3
|
pyobjc==9.0.1
|
||||||
xattr==0.9.9
|
xattr==0.10.1
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ asn1crypto==1.4.0
|
|||||||
attrs==21.4.0
|
attrs==21.4.0
|
||||||
black==22.1.0
|
black==22.1.0
|
||||||
certifi==2022.12.7
|
certifi==2022.12.7
|
||||||
cffi==1.15.0
|
cffi==1.15.1
|
||||||
cfgv==3.3.1
|
cfgv==3.3.1
|
||||||
chardet==4.0.0
|
chardet==4.0.0
|
||||||
click==8.0.3
|
click==8.0.3
|
||||||
@@ -26,7 +26,7 @@ pre-commit==2.17.0
|
|||||||
pycodestyle==2.8.0
|
pycodestyle==2.8.0
|
||||||
pycparser==2.21
|
pycparser==2.21
|
||||||
pyflakes==2.4.0
|
pyflakes==2.4.0
|
||||||
pyobjc==8.2
|
pyobjc==9.0.1
|
||||||
pyparsing==3.0.7
|
pyparsing==3.0.7
|
||||||
PyYAML==6.0
|
PyYAML==6.0
|
||||||
regex==2022.1.18
|
regex==2022.1.18
|
||||||
@@ -37,5 +37,5 @@ toml==0.10.2
|
|||||||
typed-ast==1.5.2
|
typed-ast==1.5.2
|
||||||
urllib3==1.26.8
|
urllib3==1.26.8
|
||||||
virtualenv==20.13.0
|
virtualenv==20.13.0
|
||||||
xattr==0.9.9
|
xattr==0.10.1
|
||||||
zipp==3.7.0
|
zipp==3.7.0
|
||||||
|
|||||||
Reference in New Issue
Block a user