Pull requests are welcome.
This app uses dependencies that are difficult to install locally. In order to make local development easy, we run app commands through a Docker container. Run the following to set this up:
make bootstrap-with-docker
If you're part of the VANotify team you can download environment file with settings required for running integration tests from our AWS Parameter Store.
After logging in with AWS CLI, in the root directory of the repo, run:
aws ssm get-parameter --with-decryption --name /credentials/client-integration-tests | jq '.Parameter.Value' -r > .env
To run the unit tests:
make test
or using docker:
make test-with-docker
To run the integration tests:
make integration-test
or using docker:
make integration-test-with-docker
This step requires environment variables from the .env file.
Increment the version in the src/main/resources/application.properties
and pom.xml
files following semantic versioninig.
To deploy artifacts to maven repository in Github packages run the deploy.sh
script.
./deploy.sh
This step requires the .env file.
You will also need to configure maven access to github. In your settings.xml (~/.m2/settings.xml
or .m2/settgins.xml
) you should have:
<settings>
<servers>
<server>
<id>github</id>
<username>github-username</username>
<password>github-personal-access-token</password>
</server>
</servers>
</settings>
After updating version and deploying artifacts you can create a new release for the client.
Make sure that CHANGELOG.md
is updated with description of changes.
Create a tag with the new version:
git tag 2.0.3
git push --tags
Next create a new release in Github UI from the new tag: https://github.com/department-of-veterans-affairs/notifications-java-client/releases/new with release title
set to the new version.
For release description use information from CHANGELOG.md
.