Skip to content

Build and push easytrade #28

Build and push easytrade

Build and push easytrade #28

Workflow file for this run

name: Build and push easytrade
on:
push:
branches:
- "main"
paths:
- .github/**
- kubernetes-manifests/**
- skaffold.yaml
- src/**
- helm/**
workflow_dispatch:
workflow_call:
secrets:
GAR_CREDENTIALS:
required: true
KUBECONFIG:
required: true
OQR_CLIENT_ID:
required: true
OQR_CLIENT_SECRET:
required: true
OQR_URL:
required: true
SNYK_API_TOKEN:
required: true
SSH_PRIVATE_KEY:
required: true
SSO_URL:
required: true
env:
GAR_ADDRESS: europe-docker.pkg.dev
NAMESPACE: easytrade
CONTAINER_REGISTRY: europe-docker.pkg.dev/dynatrace-demoability/docker/easytrade
HELM_REGISTRY: oci://europe-docker.pkg.dev/dynatrace-demoability/helm
HELM_CHART_PATH: helm/easytrade
jobs:
snyk:
uses: ./.github/workflows/reusable-snyk.yaml
permissions:
security-events: write
contents: read
actions: read
secrets:
SNYK_API_TOKEN: ${{ secrets.SNYK_API_TOKEN }}
calc-version:
uses: ./.github/workflows/reusable-calc-version.yaml
build-push-easytrade:
if: needs.calc-version.outputs.already-released == 'false'
runs-on: ubuntu-24.04
needs: calc-version
outputs:
artifact-dir: ${{ steps.build-and-push.outputs.artifact-dir }}
artifact-name: ${{ steps.build-and-push.outputs.artifact-name }}
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Login to Google Artifact Registry
run: |
echo "${{ secrets.GAR_CREDENTIALS }}" | \
docker login -u _json_key_base64 --password-stdin "${{ env.GAR_ADDRESS }}"
- name: Set application version
uses: ./.github/actions/set-version
with:
version: ${{ needs.calc-version.outputs.version }}
- name: Build and push easytrade to docker repository
id: build-and-push
uses: ./.github/actions/build-push-images
with:
push: true
push-latest: ${{ needs.calc-version.outputs.is-release }}
tag: ${{ needs.calc-version.outputs.version }}
registry: ${{ env.CONTAINER_REGISTRY }}
artifact-name: docker-compose
artifact-dir: ./build-artifacts/
- name: Build and push Helm chart
uses: ./.github/actions/build-push-helm
with:
chart-path: ${{ env.HELM_CHART_PATH }}
push: true
registry-url: oci://europe-docker.pkg.dev/dynatrace-demoability/helm
version: ${{ needs.calc-version.outputs.version }}
credentials: ${{ secrets.GAR_CREDENTIALS }}
promote:
if: needs.calc-version.outputs.is-release == 'true'
needs:
- calc-version
- build-push-easytrade
permissions:
contents: write
actions: write
uses: ./.github/workflows/reusable-promote-release.yaml
with:
version: ${{ needs.calc-version.outputs.version }}
trigger-deploy: true
artifact-name: ${{ needs.build-push-easytrade.outputs.artifact-name }}
artifact-dir: ${{ needs.build-push-easytrade.outputs.artifact-dir }}