- Use
npm
as your package manager git clone https://github.com/bernizhel/infrastructure
npm ci
git clone https://github.com/bernizhel/infrastructure
cd infrastructure
git checkout -b "your branch name"
npm ci
ornpm install
(will run prepare npm script hook too)- Do some changes
git add .
git commit -m "your commit message in conventional commits styles"
precommit
andcommit-msg
hooks are run- On failure, make correct changes
- On success,
git push origin "your branch name"
- Runs CI checks
- On github create a PR with your changes to the
master
branch - Wait for checks to pass
- Merge your changes
- Make the work in another branch as described in "Common workflow" till your merge the changes to
master
- Tag your last commit with
git tag v1.0.0
in SemVer, note that your new tag must be greater than the previous one git push --tags
- Wait for the release CI workflow
- Now you have your changes issued and deployed
- The issue is closed automatically, a new release branch is created
- Merge the PR
- Push new changes to the release branch, to make the release workflow run again
- Now you can push or cherry-pick new changes to the release branch and the
release.yml
workflow will run every time
- Commitlint: It is run on
commit-msg
hook and in the CI on pushes, PRs, and release workflow depends on it (required) - Prettier: It is run on
precommit
hook and in the CI on pushes, PRs, and release workflow depends on it (required) - ESLint: It is run on
precommit
hook and in the CI on pushes, PRs, and release workflow depends on it (required) - Unit tests: It is run on
precommit
hook and in the CI on pushes, PRs, and release workflow depends on it (required) - Integration tests: It is run in CI on PRs and release workflow depends on it (required)
- Release: runs all the above checks, creates or updates an issue, adds comment on tests results, builds the app, deploys it with
gh-pages
, adds a comment with a link to the deployed app, and finally closes the issue
В этом репозитории находится пример приложения с тестами:
Для запуска примеров необходимо установить NodeJS 16 или выше.
Как запустить:
# установить зависимости
npm ci
# запустить приложение
npm start
Как запустить e2e тесты:
# скачать браузеры
npx playwright install
# запустить тесты
npm run e2e
Как запустить модульные тесты:
npm test
Hi there. This is minor addition just for check sake.