Skip to content

feat: add optional DAML SDK installation #3

feat: add optional DAML SDK installation

feat: add optional DAML SDK installation #3

Workflow file for this run

name: Test
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
inputs:
version:
description: 'dpm version to test'
required: false
default: 'latest'
daml-version:
description: 'DAML SDK version to test (empty to skip)'
required: false
default: ''
jobs:
test:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
name: Linux x86_64
- os: ubuntu-24.04-arm
name: Linux ARM64
- os: macos-15-intel
name: macOS x86_64
- os: macos-14
name: macOS ARM64
runs-on: ${{ matrix.os }}
name: Test (${{ matrix.name }})
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup dpm (latest)
id: setup-latest
uses: ./
with:
version: ${{ inputs.version || 'latest' }}
- name: Verify dpm installation
run: |
echo "=== Installed version ==="
echo "Version: ${{ steps.setup-latest.outputs.version }}"
echo "Path: ${{ steps.setup-latest.outputs.path }}"
echo "=== dpm version ==="
dpm version
echo "=== dpm --help ==="
dpm --help | head -30
- name: Test dpm commands
run: |
echo "=== Testing dpm available commands ==="
# These commands work without SDK installation
dpm sdk list || true # May warn but should not error
dpm assistant list || true
echo "dpm CLI is functional"
test-specific-version:
runs-on: ubuntu-latest
name: Test (specific version)
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup dpm (specific version)
id: setup
uses: ./
with:
version: '3.4.9'
- name: Verify specific version
run: |
echo "=== dpm version output ==="
dpm version
echo "=== Verify action output ==="
echo "Requested: 3.4.9"
echo "Installed: ${{ steps.setup.outputs.version }}"
if [[ "${{ steps.setup.outputs.version }}" != "3.4.9" ]]; then
echo "ERROR: Expected 3.4.9 but got ${{ steps.setup.outputs.version }}"
exit 1
fi
echo "Version check passed"
test-cache:
runs-on: ubuntu-latest
name: Test (cache)
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup dpm (first run - cache miss)
uses: ./
- name: Verify first installation
run: dpm version
- name: Setup dpm (second run - cache hit)
uses: ./
- name: Verify cached installation
run: dpm version
test-daml-sdk:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
name: Linux x86_64
- os: macos-14
name: macOS ARM64
runs-on: ${{ matrix.os }}
name: Test DAML SDK (${{ matrix.name }})
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup dpm with DAML SDK
id: setup
uses: ./
with:
daml-version: '3.4.9'
- name: Verify installations
run: |
echo "=== dpm version ==="
dpm version
echo "=== daml version ==="
daml version
echo "=== Action outputs ==="
echo "dpm version: ${{ steps.setup.outputs.version }}"
echo "dpm path: ${{ steps.setup.outputs.path }}"
echo "daml version: ${{ steps.setup.outputs.daml-version }}"
echo "daml path: ${{ steps.setup.outputs.daml-path }}"
- name: Verify DAML SDK output
run: |
if [[ "${{ steps.setup.outputs.daml-version }}" != "3.4.9" ]]; then
echo "ERROR: Expected daml-version 3.4.9 but got ${{ steps.setup.outputs.daml-version }}"
exit 1
fi
echo "DAML SDK version check passed"