- v1.0.0-alpha.8Latest
- v1.0.0-alpha.7
- v1.0.0-alpha.6
- v1.0.0-alpha.5
- v1.0.0-alpha.4
- v1.0.0-alpha.3
- v1.0.0-alpha.2
- v1.0.0-alpha.1
- v1.0.0-alpha
- v0.9.0-alpha.2
- v0.9.0-alpha.1
- v0.9.0-alpha
- v0.8.0
- v0.8.0-alpha.1
- v0.8.0-alpha
- v0.7.1
- v0.7.1-alpha
- v0.7.0
- v0.6.1
- v0.6.0
- v0.6.0-alpha
- v0.5.1
- v0.5.0
- v0.4.1
- v0.4.0
- v0.3.3
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.0
- v0.1.0
- v0.0.1
- v0.0.0
edcb
edcb (for Eibens-Deno Continuous Build) is an opinionated workflow for building a Deno project locally and in a CI environment. It is implemented as a bash script and can be used in a local shell and GitHub Actions.
Motivation
In order to make a Deno project production ready, the code should be formatted, linted, and tested. This workflow is usually very similar across projects. edcb is an attempt of generalizing these tasks across projects and across local systems and CI environments.
Example
The edcb project is itself built with edcb. Currently, no actual TypeScript API is exported by this project. The answer.ts module serves as a placeholder for testing.
Documentation
The latest version of the edcb.sh file can be installed in a shell:
# Downloads edcb.sh and makes it executable.
curl -sL https://deno.land/x/edcb/edcb.sh > ~/bin/edcb && chmod +x ~/bin/edcb
The edcb version can be specified in the URL:
# Replace {ref} with the desired Git tag or branch.
curl -sL https://deno.land/x/edcb@{ref}/edcb.sh > ~/bin/edcb && chmod +x ~/bin/edcb
Once installed, the upgrade
command can be used to install the latest version:
# Let edcb upgrade itself.
edcb upgrade
Building a project is now as simple as running edcb in the project root:
# Formats, lints, and runs tests in the current directory.
edcb
Setting the CI
environment variable to true
(which is done automatically by
GitHub Actions) changes the behavior as follows:
- Runs the Deno formatter with the
--check
flag. - Generates a test coverage file.
- Uploads the test coverage file to codecov.io. This step likely fails on local systems, which is the intended behavior.
export CI=true
edcb
The ci.yml workflow file demonstrates how edcb can
be used with GitHub Actions. The init
command generates the workflow file
automatically:
# Generates the workflow file for GitHub Actions.
edcb init