From a4a49ca53dccb5ecd97a0acec8147c5994a7b70b Mon Sep 17 00:00:00 2001 From: David Irvine Date: Mon, 23 Dec 2024 23:28:28 +0000 Subject: [PATCH] fix: workflow working dir change --- .github/workflows/python-publish-client.yml | 183 ++++++++++++++++++ ...on-publish.yml => python-publish-node.yml} | 7 +- 2 files changed, 189 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/python-publish-client.yml rename .github/workflows/{python-publish.yml => python-publish-node.yml} (95%) diff --git a/.github/workflows/python-publish-client.yml b/.github/workflows/python-publish-client.yml new file mode 100644 index 0000000000..a0b52e113d --- /dev/null +++ b/.github/workflows/python-publish-client.yml @@ -0,0 +1,183 @@ +name: Build and Publish Python Client Package + +on: + push: + tags: + - 'v*' + +# Add top-level permissions block +permissions: + id-token: write + contents: read + +jobs: + macos: + runs-on: macos-latest + # Add permissions to job + permissions: + id-token: write + contents: read + strategy: + matrix: + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + target: [x86_64, aarch64] + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + target: ${{ matrix.target }} + args: --release --out dist -i python${{ matrix.python-version }} + sccache: 'true' + working-directory: ./autonomi + - name: Upload wheels + uses: actions/upload-artifact@v4 + with: + name: wheels-macos-${{ matrix.target }}-py${{ matrix.python-version }} + path: dist/*.whl + if-no-files-found: error + + windows: + runs-on: windows-latest + # Add permissions to job + permissions: + id-token: write + contents: read + strategy: + matrix: + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + target: [x64] + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + architecture: ${{ matrix.target }} + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + args: --release --out dist + sccache: 'true' + working-directory: ./autonomi + - name: Upload wheels + uses: actions/upload-artifact@v4 + with: + name: wheels-windows-${{ matrix.target }}-py${{ matrix.python-version }} + path: dist/*.whl + if-no-files-found: error + + linux: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + strategy: + matrix: + target: [x86_64, i686] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + - name: Build wheels + uses: PyO3/maturin-action@v1 + env: + PYTHON_VERSION: ${{ matrix.python-version }} + with: + target: ${{ matrix.target }} + manylinux: auto + args: --release --out dist -i python${{ matrix.python-version }} + sccache: 'true' + working-directory: ./autonomi + - name: Upload wheels + uses: actions/upload-artifact@v4 + with: + name: wheels-linux-${{ matrix.target }}-py${{ matrix.python-version }} + path: dist/*.whl + if-no-files-found: error + + musllinux: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + strategy: + matrix: + target: + - x86_64-unknown-linux-musl + - i686-unknown-linux-musl + - aarch64-unknown-linux-musl + - armv7-unknown-linux-musleabihf + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + - name: Build wheels + uses: PyO3/maturin-action@v1 + env: + PYO3_CROSS_PYTHON_VERSION: ${{ matrix.python-version }} + PYO3_CROSS: "1" + with: + target: ${{ matrix.target }} + manylinux: musllinux_1_2 + args: --release --out dist -i python${{ matrix.python-version }} + sccache: 'true' + working-directory: ./autonomi + - name: Upload wheels + uses: actions/upload-artifact@v4 + with: + name: wheels-musllinux-${{ matrix.target }}-py${{ matrix.python-version }} + path: dist/*.whl + if-no-files-found: error + + sdist: + runs-on: ubuntu-latest + # Add permissions to job + permissions: + id-token: write + contents: read + steps: + - uses: actions/checkout@v4 + - name: Build sdist + uses: PyO3/maturin-action@v1 + with: + command: sdist + args: --out dist + working-directory: ./autonomi + - name: Upload sdist + uses: actions/upload-artifact@v4 + with: + name: wheels + path: dist/*.tar.gz + if-no-files-found: error + + release: + name: Release + runs-on: ubuntu-latest + needs: [macos, windows, linux, musllinux, sdist] + # Keep existing permissions + permissions: + id-token: write + contents: read + steps: + - uses: actions/download-artifact@v4 + with: + name: wheels + path: dist + merge-multiple: true + - name: Display structure of downloaded files + run: ls -R dist + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + packages-dir: dist/ + verbose: true + print-hash: true \ No newline at end of file diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish-node.yml similarity index 95% rename from .github/workflows/python-publish.yml rename to .github/workflows/python-publish-node.yml index 62f0d260e8..634583126b 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish-node.yml @@ -1,4 +1,4 @@ -name: Build and Publish Python Package +name: Build and Publish Python Node Package on: push: @@ -32,6 +32,7 @@ jobs: target: ${{ matrix.target }} args: --release --out dist -i python${{ matrix.python-version }} sccache: 'true' + working-directory: ./ant-node - name: Upload wheels uses: actions/upload-artifact@v4 with: @@ -60,6 +61,7 @@ jobs: with: args: --release --out dist sccache: 'true' + working-directory: ./ant-node - name: Upload wheels uses: actions/upload-artifact@v4 with: @@ -91,6 +93,7 @@ jobs: manylinux: auto args: --release --out dist -i python${{ matrix.python-version }} sccache: 'true' + working-directory: ./ant-node - name: Upload wheels uses: actions/upload-artifact@v4 with: @@ -127,6 +130,7 @@ jobs: manylinux: musllinux_1_2 args: --release --out dist -i python${{ matrix.python-version }} sccache: 'true' + working-directory: ./ant-node - name: Upload wheels uses: actions/upload-artifact@v4 with: @@ -147,6 +151,7 @@ jobs: with: command: sdist args: --out dist + working-directory: ./ant-node - name: Upload sdist uses: actions/upload-artifact@v4 with: