http-header-list
Version:
Parser and logic functions for HTTP header lists
50 lines (45 loc) • 1.25 kB
YAML
stages:
- test
- tag
- publish
- quality
test:
stage: test
image: node:lts-alpine
before_script:
- yarn
script:
- npm run test
tag:
stage: tag
image: registry.gitlab.com/gitlab-org/release-cli
script:
- |
VERSION=$(cat package.json | sed -n "s/^.*\"version\": \"\\(.*\\)\".*$/\1/p")
DESCRIPTION=$(cat CHANGELOG.md | sed -e "1,/$(echo $VERSION | sed 's/\\./\\\\./')/d" | sed -e '/^## /,$d')
CURRENT_TAG=$(git describe --tags 2>/dev/null || true)
if [ "$CURRENT_TAG" != "v$VERSION" ]; then
release-cli --server-url $CI_SERVER_URL --job-token $CI_JOB_TOKEN \
--project-id $CI_PROJECT_ID create --name "Release v${VERSION}" \
--description "$DESCRIPTION" --tag-name "v${VERSION}" \
--ref $CI_COMMIT_SHA
fi
variables:
GIT_SUBMODULE_STRATEGY: none
only:
- main
publish:
stage: publish
image: node:lts
script:
- echo '//registry.npmjs.org/:_authToken=${NPMT}' > .npmrc
- npm publish
only:
- main
md_update_check:
stage: quality
script:
- git fetch origin main --quiet
- 'if [ $(git diff origin/main -- CHANGELOG.md | wc -l) -eq 0 ]; then echo CHANGELOG has not been updated; exit 1; fi'
only:
- merge_requests