Skip to content

bernizhel/infrastructure

 
 

Repository files navigation

Infrastructure

Contributing

Prerequisites

  • Use npm as your package manager
  • git clone https://github.com/bernizhel/infrastructure
  • npm ci

Common workflow

  • git clone https://github.com/bernizhel/infrastructure
  • cd infrastructure
  • git checkout -b "your branch name"
  • npm ci or npm install (will run prepare npm script hook too)
  • Do some changes
  • git add .
  • git commit -m "your commit message in conventional commits styles"
  • precommit and commit-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

Release workflow

  • 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

Specific workflows

  • 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

Project description

В этом репозитории находится пример приложения с тестами:

Для запуска примеров необходимо установить 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 82.2%
  • HTML 14.3%
  • Shell 1.7%
  • CSS 1.2%
  • JavaScript 0.6%