backstage-plugins
Oriflame Backstage plugins.
Getting started
You may find our plugins in the ./plugins
folder. You may start each plugin in isolated mode (navigate to the plugin folder and run yarn dev
or yarn start:dev
, see respective README). You may start also the simple backstage host with the plugins integrated via yarn dev
(in root folder). You may run yarn test
to run jest tests. For more information see CONTRIBUTING.md.
List of prerequisites are same as for the backstage. Please use Node.js version 20.x
.
List of plugins
Name | Version | Description |
---|---|---|
score-card | Main idea behind it comes from a need to somehow visualize maturity of our services and to establish a process how to improve it (discuss with the teams what to focus on next). |
Workflows
We use GitHub actions to check build, unit & end to end test and other validations during pull requests. We use them also to prepare releases and publish npm packages.
In overview:
- create branch, commit changes, run
yarn changeset
, commit and create PR -> CI workflow will run - once merged to
main
(on push) Prepare release PR workflow ->Release new version(s)
pull request is created automatically. It shall increase versions of packages and update changelogs in respective plugins and cleanup the.changeset
folder. - once this PR is merged to
main
Release and publish Workflow will create a new release on GitHub and also publishes changed plugins.
CI workflow
Source: .github/workflows/ci.yml
Shall be executed during pull requests
to validate changes and also during push to main
branch to keep validating the main trunk.
Prepare release PR workflow
Source: .github/workflows/release-prepare.yml
Shall be executed on push to main
. It runs yarn release
= increase versions of packages and update changelogs in respective plugins and cleanup the .changeset
folder. It comit the changes in a new branch and prepare a new PR Release new version(s)
.
Release and publish Workflow
Source: .github/workflows/ci.yml
Shall be executed on push to main
. In case the package versions are changed (which are by the previous PR) it creates a new release on GitHub and also publishes changed plugins to npm repository.
Renovate: Validate configuration
Source: .github/workflows/renovate-changesets.yml
Shall be executed during pull requests
when renovate.json
changes to validate the changes.
Renovate: Generate changeset
Source: .github/workflows/renovate-changesets.yml
Shall be executed during pull requests
. In case the package versions are changed (and the PR was created by renovate bot) it pushes automatically generated .changesets
entries.
Thank you note
When creating this repository (pipelines, e2e tests, monorepo setup...) we were inspired a lot by a following repository roadie-backstage-plugins.