From 0e40396008c1425a8636bd5a6e847ace9e7b12cd Mon Sep 17 00:00:00 2001
From: AlexWells <alex.wells@diamond.ac.uk>
Date: Thu, 9 Mar 2023 09:55:51 +0000
Subject: [PATCH 1/9] Add aarch64 build

---
 .github/workflows/code.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/code.yml b/.github/workflows/code.yml
index 7f693a9c..dd317614 100644
--- a/.github/workflows/code.yml
+++ b/.github/workflows/code.yml
@@ -93,7 +93,7 @@ jobs:
       - name: Build Wheel
         run: cibuildwheel --output-dir dist
         env:
-          CIBW_BUILD: ${{ matrix.python }}*64
+          CIBW_BUILD: ${{ matrix.python }}*64 ${{ matrix.python }}-manylinux_aarch64
           CIBW_TEST_EXTRAS: dev
           CIBW_TEST_COMMAND: pytest {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }}
           # Run with faulthandler and -s in the hope we get a stack trace on seg fault on windows...

From d7262fdbe771085643dbb5d80410bf05f595046c Mon Sep 17 00:00:00 2001
From: AlexWells <alex.wells@diamond.ac.uk>
Date: Thu, 9 Mar 2023 10:04:07 +0000
Subject: [PATCH 2/9] Continue CI testing

---
 .github/workflows/code.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/code.yml b/.github/workflows/code.yml
index dd317614..de7f0b22 100644
--- a/.github/workflows/code.yml
+++ b/.github/workflows/code.yml
@@ -93,7 +93,7 @@ jobs:
       - name: Build Wheel
         run: cibuildwheel --output-dir dist
         env:
-          CIBW_BUILD: ${{ matrix.python }}*64 ${{ matrix.python }}-manylinux_aarch64
+          CIBW_BUILD: ${{ matrix.python }}-manylinux_aarch64
           CIBW_TEST_EXTRAS: dev
           CIBW_TEST_COMMAND: pytest {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }}
           # Run with faulthandler and -s in the hope we get a stack trace on seg fault on windows...

From b165b616556ca30e799c94234060bdcd2c00daa0 Mon Sep 17 00:00:00 2001
From: AlexWells <alex.wells@diamond.ac.uk>
Date: Thu, 9 Mar 2023 10:09:07 +0000
Subject: [PATCH 3/9] Continue CI testing

---
 .github/workflows/code.yml | 76 +++++++++++++++++++-------------------
 1 file changed, 38 insertions(+), 38 deletions(-)

diff --git a/.github/workflows/code.yml b/.github/workflows/code.yml
index de7f0b22..6be1f6f1 100644
--- a/.github/workflows/code.yml
+++ b/.github/workflows/code.yml
@@ -13,48 +13,48 @@ on:
     - cron: '0 8 * * MON'
 
 jobs:
-  lint:
-    runs-on: "ubuntu-latest"
-    steps:
-      - name: Checkout Source
-        uses: actions/checkout@v2
-
-      - name: Install Python
-        uses: actions/setup-python@v2
-        with:
-          python-version: "3.7"
-
-      - name: Install Python Dependencies
-        run: pip install flake8
-
-      - name: Lint
-        run: flake8
-
-  sdist:
-    runs-on: "ubuntu-latest"
-    steps:
-      - name: Checkout Source
-        uses: actions/checkout@v2
-        with:
-          # require history to get back to last tag for version number of branches
-          fetch-depth: 0
-          submodules: true
-
-      - name: Build Sdist
-        run: pipx run build --sdist .
-
-      - name: Upload Sdist
-        uses: actions/upload-artifact@v2
-        with:
-          name: dist
-          path: dist/*
+  # lint:
+  #   runs-on: "ubuntu-latest"
+  #   steps:
+  #     - name: Checkout Source
+  #       uses: actions/checkout@v2
+
+  #     - name: Install Python
+  #       uses: actions/setup-python@v2
+  #       with:
+  #         python-version: "3.7"
+
+  #     - name: Install Python Dependencies
+  #       run: pip install flake8
+
+  #     - name: Lint
+  #       run: flake8
+
+  # sdist:
+  #   runs-on: "ubuntu-latest"
+  #   steps:
+  #     - name: Checkout Source
+  #       uses: actions/checkout@v2
+  #       with:
+  #         # require history to get back to last tag for version number of branches
+  #         fetch-depth: 0
+  #         submodules: true
+
+  #     - name: Build Sdist
+  #       run: pipx run build --sdist .
+
+  #     - name: Upload Sdist
+  #       uses: actions/upload-artifact@v2
+  #       with:
+  #         name: dist
+  #         path: dist/*
 
   build:
     strategy:
       fail-fast: false
       matrix:
-        os: [ubuntu-latest, windows-latest, macos-latest]
-        python: [cp36, cp37, cp38, cp39, cp310]
+        os: [ubuntu-latest]
+        python: [cp39]
 
         include:
           # Put coverage and results files in the project directory for mac
@@ -93,7 +93,7 @@ jobs:
       - name: Build Wheel
         run: cibuildwheel --output-dir dist
         env:
-          CIBW_BUILD: ${{ matrix.python }}-manylinux_aarch64
+          CIBW_BUILD: cp39-manylinux_aarch64
           CIBW_TEST_EXTRAS: dev
           CIBW_TEST_COMMAND: pytest {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }}
           # Run with faulthandler and -s in the hope we get a stack trace on seg fault on windows...

From 4ef978f36922c3515203c99d1e43d78e083e0922 Mon Sep 17 00:00:00 2001
From: AlexWells <alex.wells@diamond.ac.uk>
Date: Thu, 9 Mar 2023 10:12:14 +0000
Subject: [PATCH 4/9] Continue CI testing

---
 .github/workflows/code.yml | 120 ++++++++++++++++++-------------------
 1 file changed, 60 insertions(+), 60 deletions(-)

diff --git a/.github/workflows/code.yml b/.github/workflows/code.yml
index 6be1f6f1..2bf11f86 100644
--- a/.github/workflows/code.yml
+++ b/.github/workflows/code.yml
@@ -111,11 +111,11 @@ jobs:
           name: dist
           path: dist/softioc*
 
-      - name: Upload coverage to Codecov
-        uses: codecov/codecov-action@v2
-        with:
-          name: ${{ matrix.os }}/${{ matrix.python }}
-          directory: dist
+      # - name: Upload coverage to Codecov
+      #   uses: codecov/codecov-action@v2
+      #   with:
+      #     name: ${{ matrix.os }}/${{ matrix.python }}
+      #     directory: dist
 
       - name: Upload Unit Test Results
         if: always()
@@ -124,66 +124,66 @@ jobs:
           name: Unit Test Results (${{ matrix.os }}-${{ matrix.python }})
           path: dist/pytest-results.xml
 
-  publish-test-results:
-    name: Publish Unit Tests Results
-    needs: build
-    runs-on: ubuntu-latest
-    if: always()
-
-    steps:
-      - name: Download Artifacts
-        uses: actions/download-artifact@v2
-        with:
-          path: artifacts
+  # publish-test-results:
+  #   name: Publish Unit Tests Results
+  #   needs: build
+  #   runs-on: ubuntu-latest
+  #   if: always()
 
-      - name: Publish Unit Test Results
-        uses: EnricoMi/publish-unit-test-result-action@v1
-        with:
-          files: artifacts/**/*.xml
+  #   steps:
+  #     - name: Download Artifacts
+  #       uses: actions/download-artifact@v2
+  #       with:
+  #         path: artifacts
 
-  test-sdist:
-    needs: [sdist]
-    strategy:
-      fail-fast: false
-      matrix:
-        os: [ubuntu-latest, windows-latest, macos-latest]
-        python: [cp36, cp37, cp38, cp39, cp310]
+  #     - name: Publish Unit Test Results
+  #       uses: EnricoMi/publish-unit-test-result-action@v1
+  #       with:
+  #         files: artifacts/**/*.xml
 
-    runs-on: ${{ matrix.os }}
+  # test-sdist:
+  #   needs: [sdist]
+  #   strategy:
+  #     fail-fast: false
+  #     matrix:
+  #       os: [ubuntu-latest, windows-latest, macos-latest]
+  #       python: [cp36, cp37, cp38, cp39, cp310]
 
-    steps:
-      - uses: actions/download-artifact@v2
-        with:
-          name: dist
-          path: dist
+  #   runs-on: ${{ matrix.os }}
 
-      - name: Install sdist in a venv and check cli works
-        run: pipx run --spec dist/*.tar.gz pythonSoftIOC --version
-        shell: bash
+  #   steps:
+  #     - uses: actions/download-artifact@v2
+  #       with:
+  #         name: dist
+  #         path: dist
 
-  release:
-    needs: [build, sdist]
-    runs-on: ubuntu-latest
-    # upload to PyPI and make a release on every tag
-    if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
-    steps:
-      - uses: actions/download-artifact@v2
-        with:
-          name: dist
-          path: dist
+  #     - name: Install sdist in a venv and check cli works
+  #       run: pipx run --spec dist/*.tar.gz pythonSoftIOC --version
+  #       shell: bash
 
-      - name: Github Release
-        # We pin to the SHA, not the tag, for security reasons.
-        # https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
-        uses: softprops/action-gh-release@2d72d869af3bf23602f9593a1e3fd739b80ac1eb  # v0.1.12
-        with:
-          files: dist/*
-          body: See [Changelog](CHANGELOG.rst) for more details
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+  # release:
+  #   needs: [build, sdist]
+  #   runs-on: ubuntu-latest
+  #   # upload to PyPI and make a release on every tag
+  #   if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
+  #   steps:
+  #     - uses: actions/download-artifact@v2
+  #       with:
+  #         name: dist
+  #         path: dist
 
-      - name: Publish to PyPI
-        env:
-          TWINE_USERNAME: __token__
-          TWINE_PASSWORD: ${{ secrets.pypi_token }}
-        run: pipx run twine upload dist/*
+  #     - name: Github Release
+  #       # We pin to the SHA, not the tag, for security reasons.
+  #       # https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
+  #       uses: softprops/action-gh-release@2d72d869af3bf23602f9593a1e3fd739b80ac1eb  # v0.1.12
+  #       with:
+  #         files: dist/*
+  #         body: See [Changelog](CHANGELOG.rst) for more details
+  #       env:
+  #         GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+  #     - name: Publish to PyPI
+  #       env:
+  #         TWINE_USERNAME: __token__
+  #         TWINE_PASSWORD: ${{ secrets.pypi_token }}
+  #       run: pipx run twine upload dist/*

From c97d3dd1c54308dee4af9b724d06a6edf7d8c483 Mon Sep 17 00:00:00 2001
From: AlexWells <alex.wells@diamond.ac.uk>
Date: Thu, 9 Mar 2023 10:20:51 +0000
Subject: [PATCH 5/9] Continue CI testing

---
 .github/workflows/code.yml | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/.github/workflows/code.yml b/.github/workflows/code.yml
index 2bf11f86..701b938c 100644
--- a/.github/workflows/code.yml
+++ b/.github/workflows/code.yml
@@ -57,14 +57,14 @@ jobs:
         python: [cp39]
 
         include:
-          # Put coverage and results files in the project directory for mac
-          - os: macos-latest
-            cov_file: "{project}/dist/coverage.xml"
-            results_file: "{project}/dist/pytest-results.xml"
-          # And for windows
-          - os: windows-latest
-            cov_file: "{project}/dist/coverage.xml"
-            results_file: "{project}/dist/pytest-results.xml"
+        #   # Put coverage and results files in the project directory for mac
+        #   - os: macos-latest
+        #     cov_file: "{project}/dist/coverage.xml"
+        #     results_file: "{project}/dist/pytest-results.xml"
+        #   # And for windows
+        #   - os: windows-latest
+        #     cov_file: "{project}/dist/coverage.xml"
+        #     results_file: "{project}/dist/pytest-results.xml"
           # But put coverage and results files in the output dir mounted in docker for linux
           - os: ubuntu-latest
             cov_file: /output/coverage.xml
@@ -93,7 +93,7 @@ jobs:
       - name: Build Wheel
         run: cibuildwheel --output-dir dist
         env:
-          CIBW_BUILD: cp39-manylinux_aarch64
+          CIBW_BUILD: "*aarch64 aarch64*"
           CIBW_TEST_EXTRAS: dev
           CIBW_TEST_COMMAND: pytest {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }}
           # Run with faulthandler and -s in the hope we get a stack trace on seg fault on windows...

From 09a20ce89972acab30c4a3854ba53559a6ea199a Mon Sep 17 00:00:00 2001
From: AlexWells <alex.wells@diamond.ac.uk>
Date: Thu, 9 Mar 2023 16:28:49 +0000
Subject: [PATCH 6/9] Add QEMU setup

---
 .github/workflows/code.yml | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/code.yml b/.github/workflows/code.yml
index 701b938c..4764c61f 100644
--- a/.github/workflows/code.yml
+++ b/.github/workflows/code.yml
@@ -90,10 +90,16 @@ jobs:
         # Pin cibuildwheel due to https://github.com/pypa/cibuildwheel/issues/962
         run: pip install build cibuildwheel>=2.3.1
 
+      - name: Set up QEMU
+        if: runner.os == 'Linux'
+        uses: docker/setup-qemu-action@v2
+        with:
+          platforms: all
+
       - name: Build Wheel
         run: cibuildwheel --output-dir dist
         env:
-          CIBW_BUILD: "*aarch64 aarch64*"
+          CIBW_BUILD: cp39-manylinux_aarch64
           CIBW_TEST_EXTRAS: dev
           CIBW_TEST_COMMAND: pytest {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }}
           # Run with faulthandler and -s in the hope we get a stack trace on seg fault on windows...

From 8b3d210acd01c1d3776d5f02740cbc99ff3916d4 Mon Sep 17 00:00:00 2001
From: AlexWells <alex.wells@diamond.ac.uk>
Date: Thu, 9 Mar 2023 16:35:17 +0000
Subject: [PATCH 7/9] Specify architectures to build on

---
 .github/workflows/code.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/code.yml b/.github/workflows/code.yml
index 4764c61f..b660a1a2 100644
--- a/.github/workflows/code.yml
+++ b/.github/workflows/code.yml
@@ -99,7 +99,7 @@ jobs:
       - name: Build Wheel
         run: cibuildwheel --output-dir dist
         env:
-          CIBW_BUILD: cp39-manylinux_aarch64
+          # CIBW_BUILD: cp39-manylinux_aarch64
           CIBW_TEST_EXTRAS: dev
           CIBW_TEST_COMMAND: pytest {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }}
           # Run with faulthandler and -s in the hope we get a stack trace on seg fault on windows...
@@ -110,6 +110,7 @@ jobs:
           CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
           CIBW_ENVIRONMENT_LINUX: SETUPTOOLS_DSO_PLAT_NAME=manylinux2014_x86_64
           CIBW_SKIP: "*-musllinux*" # epicscorelibs doesn't build on musllinux platforms
+          CIBW_ARCHS_LINUX: auto aarch64
 
       - name: Upload Wheel
         uses: actions/upload-artifact@v2

From 739f369c69885f74006f9de2d66c068b80f694be Mon Sep 17 00:00:00 2001
From: AlexWells <alex.wells@diamond.ac.uk>
Date: Fri, 10 Mar 2023 09:26:14 +0000
Subject: [PATCH 8/9] Only build one platform's wheels

---
 .github/workflows/code.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/code.yml b/.github/workflows/code.yml
index b660a1a2..cb661176 100644
--- a/.github/workflows/code.yml
+++ b/.github/workflows/code.yml
@@ -99,7 +99,7 @@ jobs:
       - name: Build Wheel
         run: cibuildwheel --output-dir dist
         env:
-          # CIBW_BUILD: cp39-manylinux_aarch64
+          CIBW_BUILD: ${{ matrix.python }}*64
           CIBW_TEST_EXTRAS: dev
           CIBW_TEST_COMMAND: pytest {project}/tests --cov-report xml:${{ matrix.cov_file }} --junit-xml=${{ matrix.results_file }}
           # Run with faulthandler and -s in the hope we get a stack trace on seg fault on windows...

From ce886546c55bd16c521ed30319b3b30b7383ef15 Mon Sep 17 00:00:00 2001
From: AlexWells <alex.wells@diamond.ac.uk>
Date: Fri, 10 Mar 2023 10:42:08 +0000
Subject: [PATCH 9/9] Remove different x86_64 and aarch64 images

---
 .github/workflows/code.yml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/code.yml b/.github/workflows/code.yml
index cb661176..ee83445d 100644
--- a/.github/workflows/code.yml
+++ b/.github/workflows/code.yml
@@ -107,8 +107,9 @@ jobs:
           # Disable auditwheel as it isn't compatible with setuptools_dso approach
           # https://github.com/mdavidsaver/setuptools_dso/issues/17
           CIBW_REPAIR_WHEEL_COMMAND: ""
-          CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
-          CIBW_ENVIRONMENT_LINUX: SETUPTOOLS_DSO_PLAT_NAME=manylinux2014_x86_64
+          # CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
+          # CIBW_MANYLINUX_AARCH64_IMAGE:
+          # CIBW_ENVIRONMENT_LINUX: SETUPTOOLS_DSO_PLAT_NAME=manylinux2014_x86_64
           CIBW_SKIP: "*-musllinux*" # epicscorelibs doesn't build on musllinux platforms
           CIBW_ARCHS_LINUX: auto aarch64