diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 6677300..6cc0c14 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -9,16 +9,17 @@ permissions: jobs: build-wheels-linux: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: matrix: - target: [x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu] + include: + - os: ubuntu-latest + target: x86_64-unknown-linux-gnu + - os: ubuntu-24.04-arm + target: aarch64-unknown-linux-gnu steps: - uses: actions/checkout@v4 - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Build wheels uses: PyO3/maturin-action@v1 with: @@ -34,16 +35,17 @@ jobs: path: dist/*.whl build-wheels-musllinux: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: matrix: - target: [x86_64-unknown-linux-musl, aarch64-unknown-linux-musl] + include: + - os: ubuntu-latest + target: x86_64-unknown-linux-musl + - os: ubuntu-24.04-arm + target: aarch64-unknown-linux-musl steps: - uses: actions/checkout@v4 - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Build wheels uses: PyO3/maturin-action@v1 with: diff --git a/crates/taskito-python/src/py_queue.rs b/crates/taskito-python/src/py_queue.rs index caf2968..4718c0e 100644 --- a/crates/taskito-python/src/py_queue.rs +++ b/crates/taskito-python/src/py_queue.rs @@ -85,8 +85,14 @@ impl PyQueue { StorageBackend::Redis(s) } _ => { + let mut available = vec!["sqlite"]; + #[cfg(feature = "postgres")] + available.push("postgres"); + #[cfg(feature = "redis")] + available.push("redis"); return Err(pyo3::exceptions::PyValueError::new_err(format!( - "Unknown backend: '{backend}'. Use 'sqlite', 'postgres', or 'redis'." + "Unknown backend: '{backend}'. Available backends: {}.", + available.join(", ") ))); } }; diff --git a/pyproject.toml b/pyproject.toml index 19bf8bb..3729ab4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,7 +49,7 @@ docs = ["zensical"] manifest-path = "crates/taskito-python/Cargo.toml" python-source = "py_src" module-name = "taskito._taskito" -features = ["pyo3/extension-module"] +features = ["pyo3/extension-module", "postgres", "redis"] [project.scripts] taskito = "taskito.cli:main"