# 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 ```