Development Guide
GitHub Codespaces
Start developing using remote, pre-configured environment within minutes.
Sorry Cypress supports remote development using GitHub Codespaces. All the services are pre-configured to run in a remote, containerized environment and allows starting developing within minutes.
To start, create a new codespace using sorry-cypress/sorry-cypress as a source
Within the Codespace, open a terminal and run
This command will start all the internal services and will expose the ports on localhost:
8080 - dashboard
1234 - director
4000 - API
9000 - minio
Open http://localhost:8080 to see the dashboard in action.
To start sending cypress tests to your dev instance, run:
Tips
Don't use broser-based VS Code to connect to a codespace - it doesn't allow access to sorry-cypress services via
localhost
If the services become unavailable via published ports, delete and re-add them in "Ports" tab of VS Code
Run
yarn killall && yarn dev
to stop and start all the services - sometimes they hang and keep their ports busy
Local Development
We use yarn workspaces, please use yarn
.
Add .env
configuration to services
.env
configuration to servicesAdd .env
file with the following contents:
Override localhost
network
localhost
networkAdd the following entries to /etc/hosts
or an equivalent file on Windows
Start minio
and mongo
background services
minio
and mongo
background servicesMake sure that associated services are available on the localhost - e.g. mongo
, minio
Start all the services in dev mode
yarn dev
The dashboard should be available at http://localhost:8080
Director service should be available at http://localhost:1234
Send new tests to dashboard using this command:
Prevent CI
Add [skip ci]
to commit message to skip running CI.
Releasing a new version
We use semver standard.
Every commit to master triggers CI via GH Actions, which builds new docker images, assign tags and pusher the new images to DockerHub.
After pushing a new tagged please go ahead and create a new Github release with a summary and attributions.
Releasing latest
tag
latest
tagPushing to master automatically created new docker images with latest
tags
Releasing tagged version e.g. v1.0.0-beta.4
v1.0.0-beta.4
Run
yarn release
to create a new release.Push to master. Push to master, together with tags
git push origin master --tags
. Pushing to master will trigger CI that will actually update dockerhub.
Pushing a properly formatted (semver) git tag starts release of dockerhub images tagged accordingly. E.g. v0.5.2
will release dockerhub tags v0, v0.5, v0.5.2
.
The script does the following behind the scenes:
Update all
package.json
files (we release all together and do not increase / release individual packages version)Commit with message, e.g.
v0.5.2
Add git tag, e.g.
git tag v0.5.2
Last updated