From 54b2f76fdf49f18c5fcfe83dd626a3d3c5ca6484 Mon Sep 17 00:00:00 2001
From: Renata <rvaderna@openlawlib.org>
Date: Tue, 25 Jun 2024 23:29:25 -0400
Subject: [PATCH] devops: remove platform specific buids

---
 .github/workflows/deploy.yml | 158 ++++++++++++++++++++++-------------
 setup.py                     |  14 ----
 2 files changed, 102 insertions(+), 70 deletions(-)

diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 08149029b..5af3c6e81 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -9,92 +9,46 @@ on:
       - '**'
 
 jobs:
-  build_and_upload:
+  build_and_upload_wheel:
     strategy:
       matrix:
-        # os: [ubuntu-latest, windows-latest, macos-latest]
         # python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
-        # architecture: ['x64', 'x86']
-        os: [windows-latest]
         python-version: ['3.10']
-        architecture: ['x64', 'x86']
-        exclude:
-          # Exclude macOS and Linux with x86 architecture
-          - os: macos-latest
-            architecture: x86
-          - os: ubuntu-latest
-            architecture: x86
 
-    runs-on: ${{ matrix.os }}
+    runs-on: ubuntu-latest
 
     steps:
       - name: Checkout code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
 
       - name: Set up Python ${{ matrix.python-version }}
         uses: actions/setup-python@v3
         with:
           python-version: ${{ matrix.python-version }}
 
-      - name: Set up 32-bit Python on Windows
-        if: matrix.os == 'windows-latest' && matrix.architecture == 'x86'
-        uses: actions/setup-python@v3
-        with:
-          python-version: ${{ matrix.python-version }}
-          architecture: 'x86'
-
       - name: Set up Python
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v3
         with:
-          python-version: '3.10'
-
-      - name: Upgrade pip windows
-        if: matrix.os == 'windows-latest'
-        run: |
-          python -m pip install --upgrade pip setuptools wheel
+            python-version: ${{ matrix.python-version }}
 
       - name: Upgrade pip
-        if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'
         run: |
           pip install --upgrade pip setuptools wheel
 
-      - name: Install Linux dependencies
-        if: matrix.os == 'ubuntu-latest'
+      - name: Install swig
         run: |
           sudo apt-get update
           sudo apt-get install libhdf5-serial-dev zlib1g-dev libatlas-base-dev lcov swig3.0 libpcsclite-dev
           mkdir -p ~/bin/ && ln -s /usr/bin/swig3.0 ~/bin/swig && export PATH=~/bin/:$PATH
 
-      - name: Install Windows dependencies
-        if: matrix.os == 'windows-latest'
-        run: |
-          choco install swig
-
-      - name: Install macOS dependencies
-        if: matrix.os == 'macos-latest'
-        run: |
-          brew install swig
-
-      - name: Install dependencies
+      - name: Install and build TAF
         run: |
           pip install .[yubikey]
-          pip install pyinstaller
-          pip install twine==3.8.0
-
-      - name: Build TAF
-        run: |
           python setup.py sdist bdist_wheel clean --all
 
-      # - name: Convert to anylinux (if Ubuntu latest)
-      #   if: matrix.os == 'ubuntu-latest'
-      #   run: |
-      #     pip install auditwheel
-      #     auditwheel repair dist/*.whl --plat manylinux_2_24_x86_64
-
-      # - name: Delete Linux-tagged wheel files
-      #   if: matrix.os == 'ubuntu-latest'
-      #   run: |
-      #     rm -f dist/*-linux_*.whl  # Remove Linux-tagged .whl files in the dist directory
+      - name: Install publishing dependencies
+        run: |
+          pip install twine==3.8.0
 
       - name: Upload to TestPyPi
         # if: startsWith(github.ref, 'refs/tags/v')
@@ -103,6 +57,8 @@ jobs:
         env:
           TWINE_USERNAME: ${{ secrets.TEST_PYPI_USERNAME }}
           TWINE_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }}
+
+
       # - name: Upload wheels to PyPI
       #   if: startsWith(github.ref, 'refs/tags/v')
       #   run: |
@@ -113,3 +69,93 @@ jobs:
       #     PYPI_USERNAME: ${{ secrets.PYPI_USERNAME }}
       #     PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
       #   displayName: "Upload wheels"
+
+
+#   build-and-test-executables:
+#     needs: run-tests
+#     strategy:
+#       matrix:
+#         os: [ubuntu-latest, windows-latest, macos-latest]
+#     runs-on: ${{ matrix.os }}
+
+#     if: ${{ needs.run-tests.result == 'success' }}
+#     steps:
+#       - name: Checkout Repository
+#         uses: actions/checkout@v3
+
+#       - name: Set up Python
+#         uses: actions/setup-python@v2
+#         with:
+#           python-version: '3.10'
+
+#       - name: Upgrade pip windows
+#         if: matrix.os == 'windows-latest'
+#         run: |
+#           python -m pip install --upgrade pip setuptools wheel
+
+#       - name: Upgrade pip
+#         if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'
+#         run: |
+#           pip install --upgrade pip setuptools wheel
+
+#       - name: Install Linux dependencies
+#         if: matrix.os == 'ubuntu-latest'
+#         run: |
+#           sudo apt-get update
+#           sudo apt-get install libhdf5-serial-dev zlib1g-dev libatlas-base-dev lcov swig3.0 libpcsclite-dev
+#           mkdir -p ~/bin/ && ln -s /usr/bin/swig3.0 ~/bin/swig && export PATH=~/bin/:$PATH
+
+#       - name: Install Windows dependencies
+#         if: matrix.os == 'windows-latest'
+#         run: |
+#           choco install swig
+
+#       - name: Install macOS dependencies
+#         if: matrix.os == 'macos-latest'
+#         run: |
+#           brew install swig
+
+#       - name: Install dependencies
+#         run: |
+#           pip install .[yubikey]
+#           pip install pyinstaller
+
+#       - name: Build and test standalone executable (Linux)
+#         if: matrix.os == 'ubuntu-latest'
+#         run: |
+#           pyinstaller --onefile --name taf -y taf/tools/cli/taf.py
+#           chmod +x dist/taf
+#           ./dist/taf --help | grep "TAF Command Line Interface" || { echo "Error: Expected text not found in the executable output"; exit 1; }
+
+#       - name: Build and test standalone executable (Windows)
+#         if: matrix.os == 'windows-latest'
+#         run: |
+#           pyinstaller --onefile --name taf.exe -y taf/tools/cli/taf.py
+#           ./dist/taf.exe --help | Select-String "TAF Command Line Interface" -quiet
+
+#       - name: Build and test standalone executable (macOS)
+#         if: matrix.os == 'macos-latest'
+#         run: |
+#           pyinstaller --onefile --name taf -y taf/tools/cli/taf.py
+#           ./dist/taf --help | grep "TAF Command Line Interface" || { echo "Error: Expected text not found in the executable output"; exit 1; }
+
+#       - name: Upload standalone executable (Linux)
+#         if: matrix.os == 'ubuntu-latest'
+#         uses: actions/upload-artifact@v3
+#         with:
+#           name: taf-executable-linux
+#           path: dist/taf
+
+#       - name: Upload standalone executable (Windows)
+#         if: matrix.os == 'windows-latest'
+#         uses: actions/upload-artifact@v3
+#         with:
+#           name: taf-executable-windows
+#           path: dist/taf.exe
+
+#       - name: Upload standalone executable (macOS)
+#         if: matrix.os == 'macos-latest'
+#         uses: actions/upload-artifact@v3
+#         with:
+#           name: taf-executable-macos
+#           path: dist/taf
diff --git a/setup.py b/setup.py
index 476717c26..d9ae15f34 100644
--- a/setup.py
+++ b/setup.py
@@ -15,19 +15,6 @@
 
 packages = find_packages()
 
-# Create platform specific wheel
-# https://stackoverflow.com/a/45150383/9669050
-try:
-    from wheel.bdist_wheel import bdist_wheel as _bdist_wheel
-
-    class bdist_wheel(_bdist_wheel):
-        def finalize_options(self):
-            _bdist_wheel.finalize_options(self)
-            self.root_is_pure = False
-
-except ImportError:
-    bdist_wheel = None  # type: ignore
-
 ci_require = [
     "bandit>=1.6.0",
     "black>=19.3b0",
@@ -65,7 +52,6 @@ def finalize_options(self):
     "author_email": AUTHOR_EMAIL,
     "keywords": KEYWORDS,
     "packages": packages,
-    "cmdclass": {"bdist_wheel": bdist_wheel},
     "include_package_data": True,
     "data_files": [("lib/site-packages/taf", ["./LICENSE.md", "./README.md"])],
     "zip_safe": False,