Security News
PyPI Introduces Digital Attestations to Strengthen Python Package Security
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
@crystal-ball/commit-semantics
Advanced tools
🔮 Projects - Commitizen and Semantic Release configs
Fully automated commit and release workflows with Commitizen and Semantic Release
This package is a batteries included manager for setting up standardized commit messages with Commitizen and automated CI/CD releases with Semantic Release.
1. Install
npm i -D @crystal-ball/commit-semantics husky
2. Configure package.json
{
"config": {
"commitizen": {
"path": "@crystal-ball/commitizen-adapter"
}
},
"husky": {
"hooks": {
"prepare-commit-msg": "exec < /dev/tty && git cz --hook"
}
},
"release": {
"extends": ["@crystal-ball/semantic-release-base"]
}
}
3. Configure .github/workflows/ci-cd.yml
# Release with Semantic after tests pass on master
jobs:
ci-cd:
runs-on: ubuntu-latest
steps:
- name: Release
if: success() && github.ref == 'refs/heads/master'
run: npx semantic-release
env:
GH_TOKEN: ${{ secrets.SEMANTIC_GH_TOKEN }}
NPM_TOKEN: ${{ secrets.SEMANTIC_NPM_TOKEN }}
This configuration will run semantic-release
on any change to the master
branch. Commit types of New
, Update
and Fix
, or any commit containing a
BREAKING CHANGES
footer will trigger a release.
4. Configure Secret
SEMANTIC_GH_TOKEN
and SEMANTIC_NPM_TOKEN
access tokens for npm and Github
should be added to the secrets in the repo settings.
Fully automated releases are only possible by following a standard commit message format that can be parsed when the release job is run. The ESLint format is used and must follow the pattern:
<tag>: <message>
The Husky prepare-commit-msg
hook will execute the Commitizen prompt on each
commit and using the prompts will ensure the commit is valid.
ℹ️ It is possible to skip the interactive prompts with
ctrl+c
as well as changing the commit after construction, but neither is recommended.
Configuration of the commitizen adapter is managed in the
@crystal-ball/commitizen-adapter
package.
On change to master Semantic Release is run and will manage:
FAQs
🔮 Projects - Commitizen and Semantic Release configs
The npm package @crystal-ball/commit-semantics receives a total of 9 weekly downloads. As such, @crystal-ball/commit-semantics popularity was classified as not popular.
We found that @crystal-ball/commit-semantics demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.