Files
argocd-deploy/.gitea/workflows/deploy.yaml
lucasdpt 874e8ec4b8
All checks were successful
semantic-release / release (push) Successful in 28s
feat: try to fix
2026-04-21 14:26:05 +02:00

83 lines
2.6 KiB
YAML

name: Deploy on argocd repo
on:
workflow_call:
inputs:
server-url:
description: Gitea server URL
required: true
type: string
argocd-repo:
description: ArgoCD repository (owner/repo)
required: true
type: string
file-path:
description: Path to the values/manifest file to update
required: true
type: string
update-helm:
description: Whether to update the Helm chart version
required: false
type: boolean
default: false
update-image:
description: Whether to update the image tag
required: false
type: boolean
default: false
helm-path:
description: yq path to the Helm version field
required: false
type: string
default: .spec.source.targetRevision
helm-version:
description: Helm chart version to set
required: false
type: string
default: ""
image-path:
description: yq path to the image tag field
required: false
type: string
default: ""
image-version:
description: Image tag to set
required: false
type: string
default: ""
secrets:
TOKEN:
required: true
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Install yq
run: |
wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_arm64
chmod +x /usr/local/bin/yq
- name: Checkout ArgoCD repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
repository: ${{ inputs.argocd-repo }}
token: ${{ secrets.TOKEN }}
github-server-url: ${{ inputs.server-url }}
- name: Update values
run: |
if [ "${{ inputs.update-helm }}" = "true" ] && [ -n "${{ inputs.helm-version }}" ] && [ -n "${{ inputs.helm-path }}" ]; then
yq e '${{ inputs.helm-path }} = "${{ inputs.helm-version }}"' -i "${{ inputs.file-path }}"
fi
if [ "${{ inputs.update-image }}" = "true" ] && [ -n "${{ inputs.image-version }}" ] && [ -n "${{ inputs.image-path }}" ]; then
yq e '${{ inputs.image-path }} = "${{ inputs.image-version }}"' -i "${{ inputs.file-path }}"
fi
- name: Commit and push changes
run: |
git config user.name "gitea-actions[bot]"
git config user.email "gitea-actions[bot]@noreply.gitea"
git add "${{ inputs.file-path }}"
git diff --cached --quiet || git commit -m "chore: update deployment [skip ci]"
git push