This action is used to install the DAML SDK in your $GITHUB_WORKSPACE
Usage:
- uses: ChainSafe/canton-ci/.github/actions/install-daml@main
with:
# Optional (default to latest stable release)
sdk_version: "3.4.0-snapshot.20251013.0"You can run the following to verify your installation
- name: Verify Daml SDK
run: |
daml version
shell: bashThis action is used to install (Open Source) Canton in your $GITHUB_WORKSPACE
Usage:
- uses: ChainSafe/canton-ci/.github/actions/install-canton@main
with:
# Optional (default to latest stable release)
sdk_version: "3.4.0-snapshot.20251013.0"You can run the following to verify your installation
- name: Verify Canton
run: |
./canton-release/bin/canton --version
shell: bashYou can access your Canton installation in ./canton-release/bin/canton.
This action is used to test DAML files using daml test command using the DAML Sandbox.
Usage:
- uses: ChainSafe/canton-ci/.github/actions/daml-test@main
with:
# Not Required if Project Path is root of repository
project_path: "intro-1"This action is used to run DAML Scripts using daml script command using a LocalNet Canton Node.
Usage:
- uses: ChainSafe/canton-ci/.github/actions/daml-script@main
with:
# Not Required if Project Path is root of repository
project_path: "intro-1"
# Port for the json api
# Optional (defaults to 7575)
json_api_port: 7575
# Port for the ledger api
# Optional (defaults to 6865)
ledger_api_port: 6865
# Connection attempts to the LocalNet Canton Participant Node
# Optional (defaults to 10)
connection_attempts: 10
# Wait time in seconds between each connection attempt
# Optional (defaults to 5)
wait_time: 5- Currently Canton Installation is accessible from the installation directory, it should be accessible from anywhere using just the
cantoncommand. - At the moment we don’t support multi-package DAML projects. (multiple projects in one repository)
- Some older Canton versions cause errors when running DAML scripts using a Canton node, this is due to Canton CLI syntax changes with versions.
- Formalize Canton Enterprise At the moment we’ve CI Setup only for Canton Opensource, but Canton also has a private “Enterprise” version. We’ve tested it on CI environment, however we should formalize it for reusability and configurability.
- Canton LocalNet Participant Node Deployment We think deploying a participant node is a valid use case for a Collaborative Development Environment (like a common Anvil instance or a development backend). We can streamline the process using a GitHub Action that can be triggered manually.
- On-chain DAML Smart Contract Watcher/Defender Sort of like OpenZeppelin Defender, a developer security platform to code, audit, deploy, monitor, and operate blockchain applications with confidence.
- Marketplace Publish these Actions on GitHub Marketplace for easier access and usage.