This is a template to write CWL documents with VSCode with remote container extension.
- Visual Studio Code
- Remote - Container extension
- git
- Docker
- Push the
Use this template
button in this repository and create a new repository for you, - Clone it to your local machine, and
- Open the cloned repository with remote container extension of VSCode.
- Have fun!
- A container setting for VSCode. It provides the followings:
- basic tools such as
cwltool
,cwl-runner
,cwltest
andnodejs
(forInlineJavascriptRequirement
) docker
(you can use it without any configurations)- YAML extension and zatsu-cwl-generator to help writing CWL documents
- Live Share extension for live coding
- basic tools such as
- A template for
cwltest
- Templates for CI services (described below)
- Edit
test.yml
- Each entry consists of the input CWL file in
tool
field, the input parameter file injob
field and the expected output object inoutput
field (doc
field is optional). - Here is an example entry:
- job: job/cat-job.yml tool: cwl/cat.cwl output: out: class: File basename: output.txt checksum: sha1$2af1a59da667eb4aedb182248c1d91741df7e24d size: 31 doc: Template for cwltest
- You can add new entries for your tools and workflows. I assume that the CWL files are put in
cwl
directory, the input parameter files are put injob
directory, and the example inputs are put indata
directory.
- Each entry consists of the input CWL file in
- Run test with the following command
$ cwltest --test test.yml Test [1/1] Template for cwltest ... All tests passed
This template provides configurations for several CI services.
All you have to do is just integrating your repository with CI services.
Each CI service executes tests listed in test.yml
by using cwltest
.
Replace $USER
with your account name and $REPO
with your repository name.
- Github Actions
- Replace
$WORKFLOW_NAME
with your GitHub Actions Workflow name.
[![Actions Status](https://github.com/$USER/$REPO/workflows/$WORKFLOW_NAME/badge.svg)](https://github.com/$USER/$REPO/actions)
- Replace
- CircleCI
[![CircleCI](https://circleci.com/gh/$USER/$REPO.svg?style=shield)](https://circleci.com/gh/$USER/$REPO)
- Gitlab CI
[![pipeline status](https://gitlab.com/$USER/$REPO/badges/master/pipeline.svg)](https://gitlab.com/$USER/$REPO/commits/master)
- A tutorial to write CWL
- Maybe use Zatsu method
This repository is licensed under the Unlicense (a.k.a. Public Domain). Under this license, you can:
- freely use the contents,
- freely modify the contents,
- freely change the license, and
- freely distribute it to others!