Skip to content

Merge pull request #74 from mutugading/release-please--branches--main… #72

Merge pull request #74 from mutugading/release-please--branches--main…

Merge pull request #74 from mutugading/release-please--branches--main… #72

name: Release Please
on:
push:
branches: [main]
permissions:
contents: write
pull-requests: write
jobs:
release-please:
runs-on: ubuntu-latest
outputs:
releases_created: ${{ steps.release.outputs.releases_created }}
paths_released: ${{ steps.release.outputs.paths_released }}
finance--tag_name: ${{ steps.release.outputs['services/finance--tag_name'] }}
iam--tag_name: ${{ steps.release.outputs['services/iam--tag_name'] }}
hr--tag_name: ${{ steps.release.outputs['services/hr--tag_name'] }}
steps:
- uses: googleapis/release-please-action@v4
id: release
with:
token: ${{ secrets.GITHUB_TOKEN }}
config-file: release-please-config.json
manifest-file: .release-please-manifest.json
# Build and push Docker images for released services
build-finance:
needs: release-please
if: ${{ needs.release-please.outputs.finance--tag_name }}
runs-on: ubuntu-latest
permissions:
packages: write
steps:
- uses: actions/checkout@v4
- name: Extract version
id: version
run: |
# Extract clean version from tag (e.g., "finance-service/v1.0.0" -> "v1.0.0")
TAG="${{ needs.release-please.outputs.finance--tag_name }}"
VERSION=$(echo "$TAG" | sed 's|.*/||')
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Clean version: $VERSION"
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push finance-service
uses: docker/build-push-action@v5
with:
context: .
file: ./services/finance/Dockerfile
push: true
tags: |
ghcr.io/mutugading/finance-service:${{ steps.version.outputs.version }}
ghcr.io/mutugading/finance-service:latest
build-iam:
needs: release-please
if: ${{ needs.release-please.outputs.iam--tag_name }}
runs-on: ubuntu-latest
permissions:
packages: write
steps:
- uses: actions/checkout@v4
- name: Extract version
id: version
run: |
# Extract clean version from tag (e.g., "iam-service/v0.2.0" -> "v0.2.0")
TAG="${{ needs.release-please.outputs.iam--tag_name }}"
VERSION=$(echo "$TAG" | sed 's|.*/||')
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Clean version: $VERSION"
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push iam-service
uses: docker/build-push-action@v5
with:
context: .
file: ./services/iam/Dockerfile
push: true
tags: |
ghcr.io/mutugading/iam-service:${{ steps.version.outputs.version }}
ghcr.io/mutugading/iam-service:latest
build-hr:
needs: release-please
if: ${{ needs.release-please.outputs.hr--tag_name }}
runs-on: ubuntu-latest
permissions:
packages: write
steps:
- uses: actions/checkout@v4
- name: Extract version
id: version
run: |
# Extract clean version from tag (e.g., "hr-service/v1.0.0" -> "v1.0.0")
TAG="${{ needs.release-please.outputs.hr--tag_name }}"
VERSION=$(echo "$TAG" | sed 's|.*/||')
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Clean version: $VERSION"
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push hr-service
uses: docker/build-push-action@v5
with:
context: .
file: ./services/hr/Dockerfile
push: true
tags: |
ghcr.io/mutugading/hr-service:${{ steps.version.outputs.version }}
ghcr.io/mutugading/hr-service:latest