Alien::DuckDB

This module provides a way to download, build and install DuckDB for use by other Perl modules.

Installation

To install this module, run the following commands:

perl Makefile.PL
make
make test
make install

Local Development and Testing

90% of this module is just making sure that the upstream module installs correctly. We leverage a GitHub workflow for this, to test the GitHub workflows locally we use act.

Setting up Docker with Colima (macOS)

For testing GitHub Actions workflows locally on macOS, you can use Colima as a lightweight Docker alternative:

  1. Install prerequisites:

    # Install Docker CLI (without Docker Desktop)
    brew install docker
    
    # Install Colima
    brew install colima
    
    # Install Act for running GitHub Actions
    brew install act
    
  2. Start Colima:

    # Start with default settings
    colima start
    
    # Or with custom resources
    colima start --cpu 4 --memory 8 --disk 50
    
  3. Verify Docker is working:

    docker run --rm hello-world
    

Testing GitHub Workflows Locally

To test the GitHub Actions workflows locally using Act:

# On Apple Silicon (M1/M2/M3) Macs
act -W .github/workflows/install.yml \
  --container-architecture linux/amd64 \
  -P ubuntu-latest=catthehacker/ubuntu:act-latest

# On Intel Macs
act -W .github/workflows/install.yml \
  -P ubuntu-latest=catthehacker/ubuntu:act-latest

Notes:

Stopping Colima

When you're done testing:

colima stop

Support and Documentation

After installing, you can find documentation for this module with the perldoc command.

perldoc Alien::DuckDB

You can also look for information at:

Copyright (C) 2024 Chris Prather

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.