diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d6b9851def9..df9d47d775f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,6 +55,13 @@ jobs: with: python-versions: ${{ needs.set_python_versions.outputs.python_versions_linux_windows }} + windows_arm64_suite: + needs: set_python_versions + uses: ./.github/workflows/win-arm64-installer.yml + name: Windows arm64 test suite + with: + python-versions: '["3.11"]' # python versions from 3.11 or above supports win-arm64 + code_coverage: runs-on: ubuntu-latest name: Code coverage diff --git a/.github/workflows/win-arm64-installer.yml b/.github/workflows/win-arm64-installer.yml new file mode 100644 index 00000000000..663ce437fba --- /dev/null +++ b/.github/workflows/win-arm64-installer.yml @@ -0,0 +1,43 @@ +name: Build Conan WoA Installer + +on: + workflow_call: + inputs: + python-versions: + required: true + type: string + +jobs: + build-conan-installer: + runs-on: windows-11-arm + strategy: + matrix: + python-version: ${{ fromJson(inputs.python-versions) }} + steps: + - name: Checkout Conan source + uses: actions/checkout@v4 + with: + repository: conan-io/conan + ref: develop2 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Install PyInstaller + run: python -m pip install pyinstaller + + - name: Install Conan (editable) + run: | + pip install -e . + + - name: Build Conan standalone installer + run: | + python pyinstaller.py + + - name: Upload Conan executable + uses: actions/upload-artifact@v4 + with: + name: conan-${{ matrix.python-version }}-win-arm64 + path: pyinstaller/dist/conan/ \ No newline at end of file