You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here we used Dojo flag `-c Dojofile.build`. This way we instructed dojo CLI which Dojofile to use. Dojofile keeps information about the Docker Image. [Dojofile.build](https://github.com/kudulab/dojo/blob/master/Dojofile.build) uses [kudulab/golang-dojo](https://github.com/kudulab/docker-golang-dojo) Docker image.
@@ -123,7 +123,7 @@ There are also Dojo Docker images which bundle a tool (or group of tools), e.g.
123
123
```
124
124
$ nano Dojofile
125
125
$ cat Dojofile
126
-
DOJO_DOCKER_IMAGE="kudulab/aws-dojo:0.6.0"
126
+
DOJO_DOCKER_IMAGE="kudulab/aws-dojo:0.7.0"
127
127
$ dojo
128
128
# now we run interactively in the Dojo Docker container
@@ -861,25 +861,70 @@ If we extend this concept, then we soon realize that the project did not define
861
861
In any sensible organization, configuration management is used to provision the CI-agents and developer's workstation building the project. It is one level better than the README, but still the definition of the environment exists outside the project and there is no reference to it.
862
862
The `Dojofile` is the *lock* file which allows to store this reference in source control. When you run `dojo <command>`, then the environment is fetched, just like a dependency manager would fetch all dependencies of the project.
863
863
864
-
## Development
865
-
Run these commands in `dojo` (use previous version of dojo to build a next one):
864
+
## Contributing and Development
865
+
866
+
Instructions how to update this project.
867
+
868
+
1. Create a new feature branch from the `master` branch
869
+
2. Work on your changes in that feature branch. If you want, describe you changes in [CHANGELOG.md](CHANGELOG.md)
870
+
3. Compile the code and run tests locally, see the [2 options](#2-options-to-develop-Dojo) below
871
+
4. If you are happy with the results, create a PR from your feature branch to the main branch
872
+
873
+
After this, someone will read your PR, merge it and ensure version bump (using `./tasks set_version`). CI pipeline will run to automatically build and test docker image, release the project and publish the docker image.
874
+
875
+
### 2 options to develop Dojo
876
+
You may either use Dojo to develop Dojo, or use your local environment
877
+
878
+
You may take a look at the [CICD pipeline config](.circleci/config.yml) and at the [tasks](tasks) file. The tasks file has the same purpose as Makefile or Rakefile.
879
+
880
+
#### Option 1: Using Dojo to develop Dojo
881
+
1. Please ensure you have the [runtime dependencies](#dependencies) installed
882
+
2. Please install [Dojo](#installation)
883
+
3. Compile the code and run unit tests:
866
884
```
867
-
./tasks deps
868
-
./tasks build
869
-
./tasks unit
885
+
$ dojo -c Dojofile.build
886
+
./tasks _build
887
+
./tasks _unit
888
+
./tasks symlink linux
889
+
# or instead, if you're running on Mac: ./tasks symlink darwin
870
890
```
871
891
872
-
Run integration tests, (this uses [inception-dojo](https://github.com/kudulab/docker-inception-dojo) docker image):
892
+
or
893
+
```
894
+
./tasks build
895
+
./tasks unit
896
+
897
+
./tasks symlink linux
898
+
# or instead, if you're running on Mac: ./tasks symlink darwin
899
+
```
900
+
901
+
4. Run end to end tests:
873
902
```
874
-
./tasks symlink linux
875
-
# or instead, if you're running on Mac: ./tasks symlink linux
876
-
./tasks e2e alpine
877
903
./tasks e2e ubuntu18
904
+
./tasks e2e alpine
878
905
```
879
906
907
+
#### Option 2: Using local environment to develop Dojo
908
+
1. Please ensure you have the [runtime dependencies](#dependencies) installed
909
+
2. Please install the development dependencies:
910
+
* Golang
911
+
* Python
912
+
913
+
3. Now you can compile and test Dojo:
914
+
915
+
```
916
+
./tasks _build
917
+
./tasks _unit
918
+
919
+
./tasks symlink linux
920
+
# or instead, if you're running on Mac: ./tasks symlink darwin
921
+
./tasks _e2e
922
+
```
923
+
924
+
880
925
## License
881
926
882
-
Copyright 2019 Ewa Czechowska, Tomasz Sętkowski
927
+
Copyright 2019-2022 Ava Czechowska, Tom Setkowski
883
928
884
929
Licensed under the Apache License, Version 2.0 (the "License");
885
930
you may not use this file except in compliance with the License.
0 commit comments