From 2df5130cab6fdf0d7228a37a012862e745930213 Mon Sep 17 00:00:00 2001 From: Michal Gniadek Date: Tue, 7 Nov 2023 17:21:01 +0100 Subject: [PATCH] [CI] Fix macOS GitHub CI Summary: [ENG-5678](https://linear.app/comm/issue/ENG-5678) The general error that breaks the github CI is the same as in this [issue](https://github.com/electron/forge/issues/2807) - `distutils` was removed in a newer version of python and so one of the dependencies postinstall script breaks because of that. This diff fixes that by additionaly installing an older (3.10) version of python before installing the dependencies. Note that I'm still not sure why the CI is sometimes successful but I'm hoping this should fix the errors. INFO: Most native (written in C++) js modules are built with something called `node-gyp`. It's written in python and used at build time in postinstall scripts. That's why we need to mess with python. Test Plan: Tested on a GitHub fork. Without this changes CI failed. After this changes tried running it 3 times and it succeded every time. Reviewers: atul, ashoat, tomek Reviewed By: ashoat Subscribers: wyilio Differential Revision: https://phab.comm.dev/D9760 --- .github/workflows/android_ci.yml | 3 +++ .github/workflows/android_release.yml | 3 +++ .github/workflows/eslint_flow_jest.yml | 3 +++ .github/workflows/ios_ci.yml | 3 +++ .github/workflows/ios_release.yml | 3 +++ .github/workflows/jsi_codegen.yml | 3 +++ .github/workflows/macos_ci.yml | 3 +++ .github/workflows/remove_harbormaster_tags.yml | 3 +++ .github/workflows/windows_ci.yml | 3 +++ 9 files changed, 27 insertions(+) diff --git a/.github/workflows/android_ci.yml b/.github/workflows/android_ci.yml index f628ed3067..7876e7d038 100644 --- a/.github/workflows/android_ci.yml +++ b/.github/workflows/android_ci.yml @@ -41,6 +41,9 @@ jobs: working-directory: ./scripts run: sudo ./install_protobuf.sh + - name: Fix node-gyp + run: python3 -m pip install packaging setuptools + - name: yarn ci-cleaninstall run: yarn ci-cleaninstall diff --git a/.github/workflows/android_release.yml b/.github/workflows/android_release.yml index cb5ba5277c..0c914e4a9e 100644 --- a/.github/workflows/android_release.yml +++ b/.github/workflows/android_release.yml @@ -34,6 +34,9 @@ jobs: working-directory: ./scripts run: sudo ./install_protobuf.sh + - name: Fix node-gyp + run: python3 -m pip install packaging setuptools + - name: yarn ci-cleaninstall run: yarn ci-cleaninstall diff --git a/.github/workflows/eslint_flow_jest.yml b/.github/workflows/eslint_flow_jest.yml index 0e628b47e7..355b87903b 100644 --- a/.github/workflows/eslint_flow_jest.yml +++ b/.github/workflows/eslint_flow_jest.yml @@ -16,6 +16,9 @@ jobs: working-directory: ./scripts run: sudo ./install_protobuf.sh + - name: Fix node-gyp + run: python3 -m pip install packaging setuptools + - name: yarn ci-cleaninstall run: yarn ci-cleaninstall diff --git a/.github/workflows/ios_ci.yml b/.github/workflows/ios_ci.yml index b037f06a57..23cddc2c2a 100644 --- a/.github/workflows/ios_ci.yml +++ b/.github/workflows/ios_ci.yml @@ -48,6 +48,9 @@ jobs: - name: brew install protobuf run: brew install protobuf + - name: Fix node-gyp + run: python3 -m pip install packaging setuptools + - name: yarn ci-cleaninstall run: yarn ci-cleaninstall diff --git a/.github/workflows/ios_release.yml b/.github/workflows/ios_release.yml index 5e25549178..9c6677fe78 100644 --- a/.github/workflows/ios_release.yml +++ b/.github/workflows/ios_release.yml @@ -41,6 +41,9 @@ jobs: - name: brew install protobuf run: brew install protobuf + - name: Fix node-gyp + run: python3 -m pip install packaging setuptools + - name: yarn ci-cleaninstall run: yarn ci-cleaninstall diff --git a/.github/workflows/jsi_codegen.yml b/.github/workflows/jsi_codegen.yml index 94f1704151..e20fbd1376 100644 --- a/.github/workflows/jsi_codegen.yml +++ b/.github/workflows/jsi_codegen.yml @@ -16,6 +16,9 @@ jobs: working-directory: ./scripts run: sudo ./install_protobuf.sh + - name: Fix node-gyp + run: python3 -m pip install packaging setuptools + - name: yarn ci-cleaninstall run: yarn ci-cleaninstall diff --git a/.github/workflows/macos_ci.yml b/.github/workflows/macos_ci.yml index 7687f4566d..92c0ae56de 100644 --- a/.github/workflows/macos_ci.yml +++ b/.github/workflows/macos_ci.yml @@ -20,6 +20,9 @@ jobs: - name: Checkout uses: actions/checkout@v3 + - name: Fix node-gyp + run: python3 -m pip install packaging setuptools + - name: Install Developer certificate env: MACOS_BUILD_CERTIFICATE_BASE64: ${{ secrets.MACOS_BUILD_CERTIFICATE_BASE64 }} diff --git a/.github/workflows/remove_harbormaster_tags.yml b/.github/workflows/remove_harbormaster_tags.yml index 28c50014c9..7495eed311 100644 --- a/.github/workflows/remove_harbormaster_tags.yml +++ b/.github/workflows/remove_harbormaster_tags.yml @@ -15,6 +15,9 @@ jobs: working-directory: ./scripts run: sudo ./install_protobuf.sh + - name: Fix node-gyp + run: python3 -m pip install packaging setuptools + - name: yarn ci-cleaninstall run: yarn ci-cleaninstall diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index c9b910869e..35a80120cb 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -19,6 +19,9 @@ jobs: steps: - uses: actions/checkout@v3 + - name: Fix node-gyp + run: python3 -m pip install packaging setuptools + - name: yarn ci-cleaninstall run: yarn ci-cleaninstall