From eb1558c95f244e24bc68d8595fd4f6d2837682bd Mon Sep 17 00:00:00 2001 From: Nate Walck Date: Thu, 8 Jul 2021 17:55:01 -0400 Subject: [PATCH] Combined dependabot and docklib PRs (#30) * Combined dependabot and docklib PRs * Update requests to 2.25.1 * Add additional debug output when archs do not match * Update PyYAML to 5.4.1 * Update Python to 3.9.5 * Update github action to do python 3.9.5 * Fix MACOS_VERSION name as they now use 11 upstream instead of 11.0 * Trying minimal to confirm that works * First stab at updating all recommended libs, will need another pr * Fix lib versions * Requests was unhappy with idna 3, reverting to 2.x * Revert pyobjc to 7.0.1 * force compilation for items that lack a universal binary * bad copy pasta * Update release description * Only create a release and upload signed packages if on main * try some more fixes Co-authored-by: erikg --- ...ython_3.9.1.yml => build_python_3.9.5.yml} | 43 ++++++++++++-- build_python_framework_pkgs.zsh | 7 ++- requirement_files/Sphinx.txt | 4 +- requirement_files/aspy.yaml.txt | 2 +- requirement_files/pre-commit.txt | 2 +- requirement_files/requests.txt | 4 +- requirement_files/rsa.txt | 2 +- requirement_files/slacker.txt | 4 +- requirements_opinionated.txt | 10 ++-- requirements_recommended.txt | 59 ++++++++++--------- 10 files changed, 86 insertions(+), 51 deletions(-) rename .github/workflows/{build_python_3.9.1.yml => build_python_3.9.5.yml} (71%) diff --git a/.github/workflows/build_python_3.9.1.yml b/.github/workflows/build_python_3.9.5.yml similarity index 71% rename from .github/workflows/build_python_3.9.1.yml rename to .github/workflows/build_python_3.9.5.yml index 03ea7ac..ba5aba6 100644 --- a/.github/workflows/build_python_3.9.1.yml +++ b/.github/workflows/build_python_3.9.5.yml @@ -3,7 +3,7 @@ name: Build and upload recommended package env: TYPE: "recommended" DEV_ID: "Developer ID Installer: Clever DevOps Co. (9GQZ7KUFR6)" - PYTHON_VERSION: "3.9.1" + PYTHON_VERSION: "3.9.5" on: pull_request: @@ -36,6 +36,7 @@ jobs: 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: @@ -45,12 +46,39 @@ jobs: release_name: Python ${{env.PYTHON_VERSION}} (${{env.BUILD_DATE_RELEASE}}) body: | # Notes - Python 3.9.1 Framework + Python 3.9.5 Framework ## Changes - - Universal build! Now supports Apple M1 Machines - - Upgraded Python to 3.9.1 - - pyobjc is now 7.0.1 + - Upgraded Python to 3.9.5 + - Updated the following libraries: + - attrs to 21.2.0 + - black to 21.6b0 + - certifi to 2021.05.30 + - cffi to 1.14.5 + - cfgv to 3.3.0 + - distlib to 0.3.2 + - docklib to 1.3.0 + - flake8-bugbear to 21.4.3 + - flake8 to 3.9.2 + - identify to 2.2.10 + - importlib-metadata to 4.6.1 + - isort to 5.9.2 + - nodeenv to 1.6.0 + - packaging to 21.0 + - pathspec to 0.8.1 + - pre-commit to 2.13.0 + - pycodestyle to 2.7.0 + - pyflakes to 2.3.1 + - PyYAML to 5.4.1 + - regex to 2021.7.6 + - requests to 2.25.1 + - six to 1.16.0 + - tokenize-rt to 4.1.0 + - toml to 0.10.2 + - typed-ast to 1.4.3 + - urllib3 to 1.26.6 + - virtualenv to 20.0.27 + - zipp to 3.5.0 # Flavors of Python At this time, the automated build process will **only** create the Recommended package @@ -61,6 +89,7 @@ jobs: 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 }} @@ -71,6 +100,7 @@ jobs: 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 }} @@ -81,6 +111,7 @@ jobs: 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 }} @@ -91,7 +122,7 @@ jobs: asset_content_type: application/zip - name: Upload packages - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v2 with: name: packages path: outputs/ diff --git a/build_python_framework_pkgs.zsh b/build_python_framework_pkgs.zsh index 63fbaeb..3e2a439 100755 --- a/build_python_framework_pkgs.zsh +++ b/build_python_framework_pkgs.zsh @@ -8,7 +8,7 @@ # Harcoded versions RP_SHA="93f3fea5290b761b1c25c15f46f7c76641d94d58" MP_SHA="71c57fcfdf43692adcd41fa7305be08f66bae3e5" -MACOS_VERSION=11.0 # use 10.9 for non-universal +MACOS_VERSION=11 # use 10.9 for non-universal PYTHON_PRERELEASE_VERSION= PYTHON_BASEURL="https://www.python.org/ftp/python/%s/python-%s${PYTHON_PRERELEASE_VERSION}-macos%s.pkg" # Hardcoded paths @@ -56,7 +56,7 @@ fi if [ -n "$3" ]; then PYTHON_VERSION=$3 else - PYTHON_VERSION=3.9.1 + PYTHON_VERSION=3.9.5 fi # Set python bin version based on PYTHON_VERSION PYTHON_BIN_VERSION="${PYTHON_VERSION%.*}" @@ -168,6 +168,9 @@ if [ "${TOTAL_SO}" != "${UNIVERSAL_SO}" ] ; then echo "Shared objects do not match, resulting in a non-universal Python framework." echo "Total shared objects found: ${TOTAL_SO}" echo "Universal shared objects found: ${UNIVERSAL_SO}" + UNIVERSAL_SO_ARRAY=("${(@f)$(/usr/bin/find "$TOOLSDIR/$TYPE/payload/${FRAMEWORKDIR}/Python3.framework/Versions/Current/lib" -name "*.so" | /usr/bin/xargs file | /usr/bin/grep "2 architectures" | awk '{print $1;}' | sed 's/:*$//g')}") + TOTAL_SO_ARRAY=("${(@f)$(/usr/bin/find "$TOOLSDIR/$TYPE/payload/${FRAMEWORKDIR}/Python3.framework/Versions/Current/lib" -name "*.so" )}") + echo ${TOTAL_SO_ARRAY[@]} ${UNIVERSAL_SO_ARRAY[@]} | tr ' ' '\n' | sort | uniq -u exit 1 fi diff --git a/requirement_files/Sphinx.txt b/requirement_files/Sphinx.txt index 1b0f944..f24b099 100644 --- a/requirement_files/Sphinx.txt +++ b/requirement_files/Sphinx.txt @@ -11,7 +11,7 @@ packaging==20.4 Pygments==2.7.4 pyparsing==2.4.7 pytz==2020.1 -requests==2.24.0 +requests==2.25.1 six==1.15.0 snowballstemmer==2.0.0 Sphinx==3.1.2 @@ -21,4 +21,4 @@ sphinxcontrib-htmlhelp==1.0.3 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.4 -urllib3==1.25.9 +urllib3==1.26.5 diff --git a/requirement_files/aspy.yaml.txt b/requirement_files/aspy.yaml.txt index 56a83a5..c4db965 100644 --- a/requirement_files/aspy.yaml.txt +++ b/requirement_files/aspy.yaml.txt @@ -1,2 +1,2 @@ aspy.yaml==1.3.0 -PyYAML==5.3.1 +PyYAML==5.4.1 diff --git a/requirement_files/pre-commit.txt b/requirement_files/pre-commit.txt index 3d54b87..f972f5a 100644 --- a/requirement_files/pre-commit.txt +++ b/requirement_files/pre-commit.txt @@ -6,7 +6,7 @@ identify==1.4.21 importlib-metadata==1.7.0 nodeenv==1.4.0 pre-commit==2.6.0 -PyYAML==5.3.1 +PyYAML==5.4.1 six==1.15.0 toml==0.10.1 virtualenv==20.0.26 diff --git a/requirement_files/requests.txt b/requirement_files/requests.txt index 4d72486..fce33d0 100644 --- a/requirement_files/requests.txt +++ b/requirement_files/requests.txt @@ -1,5 +1,5 @@ certifi==2020.6.20 chardet==3.0.4 idna==2.10 -requests==2.24.0 -urllib3==1.25.9 +requests==2.25.1 +urllib3==1.26.5 diff --git a/requirement_files/rsa.txt b/requirement_files/rsa.txt index 76f26c5..e495778 100644 --- a/requirement_files/rsa.txt +++ b/requirement_files/rsa.txt @@ -1,2 +1,2 @@ pyasn1==0.4.8 -rsa==4.6 +rsa==4.7 diff --git a/requirement_files/slacker.txt b/requirement_files/slacker.txt index f6f0d84..88af510 100644 --- a/requirement_files/slacker.txt +++ b/requirement_files/slacker.txt @@ -1,6 +1,6 @@ certifi==2020.6.20 chardet==3.0.4 idna==2.10 -requests==2.24.0 +requests==2.25.1 slacker==0.14.0 -urllib3==1.25.9 +urllib3==1.26.5 diff --git a/requirements_opinionated.txt b/requirements_opinionated.txt index 980bf09..e2d07a1 100644 --- a/requirements_opinionated.txt +++ b/requirements_opinionated.txt @@ -14,7 +14,7 @@ cfgv==3.1.0 chardet==3.0.4 click==7.1.2 distlib==0.3.1 -docklib==1.2.0 +docklib==1.3.0 docutils==0.16 entrypoints==0.3 filelock==3.0.12 @@ -48,10 +48,10 @@ pytest==5.4.3 python-dateutil==2.8.1 python-dotenv==0.14.0 pytz==2020.1 -PyYAML==5.3.1 +PyYAML==5.4.1 regex==2020.6.8 -requests==2.24.0 -rsa==4.6 +requests==2.25.1 +rsa==4.7 six==1.15.0 slacker==0.14.0 snowballstemmer==2.0.0 @@ -66,7 +66,7 @@ tokenize-rt==4.0.0 toml==0.10.1 typed-ast==1.4.1 --no-binary typed-ast -urllib3==1.25.9 +urllib3==1.26.5 virtualenv==20.0.26 wcwidth==0.2.5 xattr==0.9.7 diff --git a/requirements_recommended.txt b/requirements_recommended.txt index 7f443db..7eb9ec4 100644 --- a/requirements_recommended.txt +++ b/requirements_recommended.txt @@ -1,43 +1,44 @@ appdirs==1.4.4 -aspy.yaml==1.3.0 -attrs==19.3.0 -black==19.10b0 -certifi==2020.6.20 -cffi==1.14.4 +attrs==21.2.0 +black==21.6b0 +certifi==2021.05.30 +cffi==1.14.5 --no-binary cffi -cfgv==3.1.0 +cfgv==3.3.0 chardet==3.0.4 click==7.1.2 -distlib==0.3.1 -docklib==1.2.0 +distlib==0.3.2 +docklib==1.3.0 entrypoints==0.3 filelock==3.0.12 -flake8-bugbear==20.1.4 -flake8==3.8.3 -identify==1.4.21 +flake8-bugbear==21.4.3 +flake8==3.9.2 +identify==2.2.10 idna==2.10 -importlib-metadata==1.7.0 -isort==5.0.6 +importlib-metadata==4.6.1 +isort==5.9.2 mccabe==0.6.1 -nodeenv==1.4.0 -packaging==20.4 -pathspec==0.8.0 -pre-commit==2.6.0 -pycodestyle==2.6.0 +nodeenv==1.6.0 +packaging==21.0 +pathspec==0.8.1 +pre-commit==2.13.0 +pycodestyle==2.7.0 pycparser==2.20 -pyflakes==2.2.0 +pyflakes==2.3.1 pyobjc==7.0.1 pyparsing==2.4.7 -PyYAML==5.3.1 -regex==2020.6.8 -requests==2.24.0 -six==1.15.0 -tokenize-rt==4.0.0 -toml==0.10.1 -typed-ast==1.4.1 +PyYAML==5.4.1 +--no-binary PyYAML +regex==2021.7.6 +--no-binary regex +requests==2.25.1 +six==1.16.0 +tokenize-rt==4.1.0 +toml==0.10.2 +typed-ast==1.4.3 --no-binary typed-ast -urllib3==1.25.9 -virtualenv==20.0.26 +urllib3==1.26.6 +virtualenv==20.0.27 xattr==0.9.7 --no-binary xattr -zipp==3.1.0 +zipp==3.5.0