Skip to content

chore(all): bump pino from 9.11.0 to 10.0.0 #142

chore(all): bump pino from 9.11.0 to 10.0.0

chore(all): bump pino from 9.11.0 to 10.0.0 #142

Workflow file for this run

name: Backend Release
on:
pull_request:
types: [closed]
branches: [main]
paths:
- 'services/backend/**'
permissions:
contents: write
pull-requests: write
jobs:
release:
if: github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'backend') && contains(github.event.pull_request.labels.*.name, 'release')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
token: ${{ secrets.APP_INSTALLATION_TOKEN }}
- name: git config
run: |
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
- name: Setup node
uses: actions/setup-node@v5
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Create Release
working-directory: services/backend
env:
GITHUB_TOKEN: ${{ secrets.APP_INSTALLATION_TOKEN }}
run: |
# Let release-it handle the release process properly
npm run release -- --ci --verbose --no-git.requireCleanWorkingDir --no-increment
- name: Get version
id: package-version
uses: martinbeentjes/npm-get-version-action@main
with:
path: services/backend
- name: Extract release notes
id: extract-release-notes
working-directory: services/backend
run: |
VERSION=$(cat package.json | grep '"version"' | cut -d'"' -f4)
echo "Extracting release notes for version $VERSION"
# Find the latest backend tag (excluding the current one)
LATEST_TAG=$(git tag --list "backend-v*" --sort=-version:refname | grep -v "backend-v${VERSION}" | head -1)
if [ -z "$LATEST_TAG" ]; then
echo "No previous backend tag found, using all commits"
BACKEND_COMMITS=$(git log --oneline --grep="(backend)" --grep="(all)")
else
echo "Using commits since $LATEST_TAG"
# Get backend and all scoped commits since last release
BACKEND_COMMITS=$(git log ${LATEST_TAG}..HEAD --oneline --grep="(backend)")
ALL_COMMITS=$(git log ${LATEST_TAG}..HEAD --oneline --grep="(all)")
# Combine and format the commits
COMBINED_COMMITS=$(echo -e "$BACKEND_COMMITS\n$ALL_COMMITS" | sort -u | grep -v "^$" || true)
fi
# Format commits for release notes
if [ -n "$COMBINED_COMMITS" ]; then
RELEASE_NOTES=""
while IFS= read -r commit; do
if [ -n "$commit" ]; then
# Extract commit hash and message
HASH=$(echo "$commit" | cut -d' ' -f1)
MESSAGE=$(echo "$commit" | cut -d' ' -f2-)
RELEASE_NOTES="${RELEASE_NOTES}- ${MESSAGE} ([${HASH}](https://github.com/deploystackio/deploystack/commit/${HASH}))\n"
fi
done <<< "$COMBINED_COMMITS"
else
RELEASE_NOTES="No significant changes since last release."
fi
echo "release_notes<<EOF" >> $GITHUB_OUTPUT
echo -e "$RELEASE_NOTES" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "Release notes extracted:"
echo -e "$RELEASE_NOTES"
- name: Build backend
working-directory: services/backend
run: npm run build
- name: Prepare shared directories
run: |
mkdir -p /tmp/shared
cp -r services/shared/* /tmp/shared/
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: .
file: ./services/backend/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
deploystack/backend:latest
deploystack/backend:v${{ steps.package-version.outputs.current-version }}
cache-from: type=gha
cache-to: type=gha,mode=max