Skip to content

Commit

Permalink
fix: Fix an issue with binary downloads (#199)
Browse files Browse the repository at this point in the history
  • Loading branch information
ewuerger authored Jan 27, 2025
2 parents a0b0a93 + 9ee0ab2 commit f7b0774
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 25 deletions.
28 changes: 10 additions & 18 deletions .github/workflows/build-test-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,57 +105,49 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Get version
id: get_version
run: |
VERSION=$(python setup.py --version)
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: "2.x"

- name: Build for Windows x64
run: |
deno compile --target x86_64-pc-windows-msvc --allow-read --allow-net \
--allow-env --no-check --output "elk-${{ steps.get_version.outputs.version }}-x86_64-pc-windows-msvc.exe" \
--allow-env --no-check --output "elk-${{ github.ref_name }}-x86_64-pc-windows-msvc.exe" \
src/capellambse_context_diagrams/interop/elk.ts
- name: Build for macOS x64
run: |
deno compile --target x86_64-apple-darwin --allow-read --allow-net \
--allow-env --no-check --output "elk-${{ steps.get_version.outputs.version }}-x86_64-apple-darwin" \
--allow-env --no-check --output "elk-${{ github.ref_name }}-x86_64-apple-darwin" \
src/capellambse_context_diagrams/interop/elk.ts
- name: Build for macOS ARM64
run: |
deno compile --target aarch64-apple-darwin --allow-read --allow-net \
--allow-env --no-check --output "elk-${{ steps.get_version.outputs.version }}-aarch64-apple-darwin" \
--allow-env --no-check --output "elk-${{ github.ref_name }}-aarch64-apple-darwin" \
src/capellambse_context_diagrams/interop/elk.ts
- name: Build for Linux x64
run: |
deno compile --target x86_64-unknown-linux-gnu --allow-read --allow-net \
--allow-env --no-check --output "elk-${{ steps.get_version.outputs.version }}-x86_64-unknown-linux-gnu" \
--allow-env --no-check --output "elk-${{ github.ref_name }}-x86_64-unknown-linux-gnu" \
src/capellambse_context_diagrams/interop/elk.ts
- name: Build for Linux ARM64
run: |
deno compile --target aarch64-unknown-linux-gnu --allow-read --allow-net \
--allow-env --no-check --output "elk-${{ steps.get_version.outputs.version }}-aarch64-unknown-linux-gnu" \
--allow-env --no-check --output "elk-${{ github.ref_name }}-aarch64-unknown-linux-gnu" \
src/capellambse_context_diagrams/interop/elk.ts
- name: Upload binaries to release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/v')
with:
files: |
elk-${{ steps.get_version.outputs.version }}-x86_64-pc-windows-msvc.exe
elk-${{ steps.get_version.outputs.version }}-x86_64-apple-darwin
elk-${{ steps.get_version.outputs.version }}-aarch64-apple-darwin
elk-${{ steps.get_version.outputs.version }}-x86_64-unknown-linux-gnu
elk-${{ steps.get_version.outputs.version }}-aarch64-unknown-linux-gnu
elk-${{ github.ref_name }}-x86_64-pc-windows-msvc.exe
elk-${{ github.ref_name }}-x86_64-apple-darwin
elk-${{ github.ref_name }}-aarch64-apple-darwin
elk-${{ github.ref_name }}-x86_64-unknown-linux-gnu
elk-${{ github.ref_name }}-aarch64-unknown-linux-gnu
pypi:
Expand Down
5 changes: 2 additions & 3 deletions src/capellambse_context_diagrams/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

from __future__ import annotations

import importlib.metadata
import logging
import shutil
import typing as t
Expand All @@ -35,7 +34,7 @@
__version__ = metadata.version("capellambse-context-diagrams")
except metadata.PackageNotFoundError:
__version__ = "0.0.0+unknown"
del metadata


DefaultRenderParams = dict[str, t.Any]
SupportedContextClass = tuple[
Expand All @@ -58,7 +57,7 @@ def install_elk() -> None:
similar tasks in order to prepare the elk.js execution environment
ahead of time.
"""
if shutil.which("deno") and "dev" in importlib.metadata.version(
if shutil.which("deno") and "dev" in metadata.version(
"capellambse_context_diagrams"
):
return
Expand Down
4 changes: 2 additions & 2 deletions src/capellambse_context_diagrams/_elkjs.py
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ def binary_name(self):
if not build:
raise RuntimeError(f"Unsupported platform: {system} {machine}")

return f"elk-{package_version}-{build}{'.exe' if system == 'windows' else ''}"
return f"elk-v{package_version}-{build}{'.exe' if system == 'windows' else ''}"

@property
def binary_path(self):
Expand All @@ -344,7 +344,7 @@ def download_binary(self, force=False):
package_version = importlib.metadata.version(
"capellambse_context_diagrams"
)
url = f"https://github.com/DSD-DBS/capellambse-context-diagrams/releases/tag/v{package_version}/{self.binary_name}"
url = f"https://github.com/DSD-DBS/capellambse-context-diagrams/releases/download/v{package_version}/{self.binary_name}"
response = requests.get(url)
response.raise_for_status()
with open(self.binary_path, "wb") as f:
Expand Down
4 changes: 2 additions & 2 deletions tests/test_elk.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def test_binary_name_resolution():
mock.patch("platform.machine", return_value="x86_64"),
mock.patch("importlib.metadata.version", return_value="1.0.0"),
):
assert manager.binary_name == "elk-1.0.0-x86_64-unknown-linux-gnu"
assert manager.binary_name == "elk-v1.0.0-x86_64-unknown-linux-gnu"


def test_binary_name_resolution_windows():
Expand All @@ -29,7 +29,7 @@ def test_binary_name_resolution_windows():
mock.patch("platform.machine", return_value="AMD64"),
mock.patch("importlib.metadata.version", return_value="1.0.0"),
):
assert manager.binary_name == "elk-1.0.0-x86_64-pc-windows-msvc.exe"
assert manager.binary_name == "elk-v1.0.0-x86_64-pc-windows-msvc.exe"


def test_unsupported_platform():
Expand Down

0 comments on commit f7b0774

Please sign in to comment.