80 lines
1.8 KiB
Markdown
80 lines
1.8 KiB
Markdown
# HFF Entry Forms
|
|
|
|
## Local Development
|
|
|
|
### Web
|
|
|
|
```sh
|
|
cd web
|
|
npm install
|
|
make serve & # or run in a separate terminal/pane
|
|
make build # as-needed to rebuild (not using hot-reload)
|
|
```
|
|
|
|
### API
|
|
|
|
```sh
|
|
cd api
|
|
make serve
|
|
|
|
make serve-docker # alternatively
|
|
```
|
|
|
|
## Procedures
|
|
|
|
### Version Bump
|
|
|
|
1. Ensure you know the current deployed version and the current "marked
|
|
version." Check the current deployed version by hitting the live API:
|
|
|
|
curl https://forms-api.hopefamilyfellowship.com/v1/version
|
|
|
|
and by querying ECR:
|
|
|
|
aws ecr describe-images --repository-name 063932952339.dkr.ecr.us-west-2.amazonaws.com/hff_entry_forms_api
|
|
|
|
Check the current "marked version" by looking at the latest git tag:
|
|
|
|
git tag -n
|
|
|
|
2. If necessary, bump the version using:
|
|
|
|
make update-version
|
|
|
|
This will invoke `operations/update-version.sh` which:
|
|
|
|
- updates `web/package.json`,
|
|
- updates `web/package-lock.json`,
|
|
- updates `api/src/hff_entry_forms_apipkg/version.nim`,
|
|
- updates `api/hff_entry_forms_api.nimble`,
|
|
- commits all of the above, and
|
|
- tags the commit with the new version.
|
|
|
|
#### Release Candidates (`-rcX` versions)
|
|
|
|
When we are preparing to release version a new version, we first create release
|
|
candidates. So, in preparation for releasing, for example, version 1.2.4, we
|
|
do the following:
|
|
|
|
```sh
|
|
# Development is concluded, ready to release 1.2.4
|
|
$ make update-version
|
|
Last Version: 1.2.3
|
|
New Version: 1.2.4-rc1
|
|
|
|
$ TARGET_ENV=dev make deploy
|
|
# verify successful build and deployment
|
|
# validate the release in the dev environment
|
|
|
|
$ make update-version
|
|
Last Version: 1.2.4-rc1
|
|
New Version: 1.2.4
|
|
|
|
$ TARGET_ENV=dev make deploy
|
|
# verify successful build and deployment
|
|
|
|
$ TARGET_ENV=prod make deploy
|
|
# verify successful build and deployment
|
|
# validate the release in the prod environment
|
|
```
|