dela 0.0.6

A task runner that delegates the work to other tools
Documentation
# syntax=docker/dockerfile:1.4
# Build stage using common builder
FROM dela-builder AS builder

# Test environment
FROM alpine:3.21
    
# Install required packages
RUN apk add --no-cache \
    powershell \
    make \
    python3 \
    uv \
    poetry \
    npm

# Create test user
RUN adduser -D -s /bin/pwsh testuser

# Create PowerShell profile directory and set up profile
RUN mkdir -p /home/testuser/.config/powershell && \
    chown -R testuser:testuser /home/testuser/.config

# Set up PowerShell profile
COPY --chown=testuser:testuser tests/docker_pwsh/Microsoft.PowerShell_profile.ps1 /home/testuser/.config/powershell/Microsoft.PowerShell_profile.ps1
RUN chmod 644 /home/testuser/.config/powershell/Microsoft.PowerShell_profile.ps1

# Create dela directory with proper permissions
RUN mkdir -p /home/testuser/.dela && \
    chown -R testuser:testuser /home/testuser/.dela

# Copy test files
COPY tests/task_definitions /home/testuser/
RUN chown -R testuser:testuser /home/testuser

# Set working directory
WORKDIR /home/testuser

# Copy dela binary
COPY --from=builder /app/target/debug/dela /usr/local/bin/dela

# Set shell environment variable
ENV SHELL=/bin/pwsh

# Switch to test user
USER testuser

# Run the test script
CMD ["pwsh", "./test_script.ps1"]