- `logger.debug('message', async () => ({ asyncReturn: await asyncFn() }))` is now supported
- NOTE: this may result in logging occurring out of band for these calls if other events fire befor they settle
Update CI labels to direct jobs to correct servers
76 lines
3.0 KiB
YAML
76 lines
3.0 KiB
YAML
# Release workflow: derive the version, changelog, tag, and package from Conventional Commits on main.
|
|
when:
|
|
- event: push
|
|
branch: main
|
|
|
|
depends_on:
|
|
- ci
|
|
|
|
labels:
|
|
performance: high
|
|
|
|
clone:
|
|
git:
|
|
image: woodpeckerci/plugin-git
|
|
settings:
|
|
depth: 0
|
|
partial: false
|
|
tags: true
|
|
|
|
steps:
|
|
release:
|
|
image: node:24-bookworm-slim
|
|
environment:
|
|
NPM_TOKEN:
|
|
from_secret: gitea_package_token
|
|
GITEA_REGISTRY_USERNAME:
|
|
from_secret: gitea_registry_username
|
|
GITEA_RELEASE_TOKEN:
|
|
from_secret: gitea_release_token
|
|
commands:
|
|
- corepack enable
|
|
- corepack prepare pnpm@11.0.0 --activate
|
|
- apt-get update && apt-get install --yes --no-install-recommends ca-certificates git
|
|
- pnpm install --frozen-lockfile
|
|
- git config user.name "Woodpecker CI"
|
|
- git config user.email "woodpecker-ci@mifi.dev"
|
|
- git remote set-url origin "https://${GITEA_REGISTRY_USERNAME}:${GITEA_RELEASE_TOKEN}@git.mifi.dev/mifi/logger.git"
|
|
- npm config set @mifi:registry https://git.mifi.dev/api/packages/mifi/npm/
|
|
- npm config set -- //git.mifi.dev/api/packages/mifi/npm/:_authToken "$NPM_TOKEN"
|
|
- pnpm build
|
|
- pnpm release
|
|
|
|
notify-release-failure:
|
|
image: curlimages/curl:8.14.1
|
|
depends_on: [release]
|
|
environment:
|
|
MATTERMOST_BOT_ACCESS_TOKEN:
|
|
from_secret: mattermost_bot_access_token
|
|
MATTERMOST_CHANNEL_ID:
|
|
from_secret: mattermost_pushes_channel_id
|
|
MATTERMOST_POST_API_URL:
|
|
from_secret: mattermost_post_api_url
|
|
commands:
|
|
- |
|
|
BODY=$(printf '{"channel_id":"%s","message":"[%s - Build #%s] Package release failure 💩"}' "$MATTERMOST_CHANNEL_ID" "$CI_REPO" "$CI_PIPELINE_NUMBER")
|
|
curl --fail --show-error --silent --request POST --header 'Content-Type: application/json' --header "Authorization: Bearer $MATTERMOST_BOT_ACCESS_TOKEN" --data "$BODY" "$MATTERMOST_POST_API_URL"
|
|
when:
|
|
- status: [failure]
|
|
|
|
notify-release-success:
|
|
image: curlimages/curl:8.14.1
|
|
depends_on: [release]
|
|
environment:
|
|
MATTERMOST_BOT_ACCESS_TOKEN:
|
|
from_secret: mattermost_bot_access_token
|
|
MATTERMOST_CHANNEL_ID:
|
|
from_secret: mattermost_pushes_channel_id
|
|
MATTERMOST_POST_API_URL:
|
|
from_secret: mattermost_post_api_url
|
|
commands:
|
|
- |
|
|
BODY=$(printf '{"channel_id":"%s","message":"[%s - Build #%s] Package release success 🎉"}' "$MATTERMOST_CHANNEL_ID" "$CI_REPO" "$CI_PIPELINE_NUMBER")
|
|
curl --fail --show-error --silent --request POST --header 'Content-Type: application/json' --header "Authorization: Bearer $MATTERMOST_BOT_ACCESS_TOKEN" --data "$BODY" "$MATTERMOST_POST_API_URL"
|
|
when:
|
|
- status: [success]
|