helm-charts/.gitea/workflows/release-version.yml

48 lines
2.0 KiB
YAML

name: generate-chart
on:
push:
tags:
- "*"
jobs:
generate-chart-publish:
runs-on: ubuntu-latest
steps:
- uses: https://gitea.com/actions/checkout@v4
- name: install tools
run: |
apt update -y
apt install -y curl lftp
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | tee /usr/share/keyrings/helm.gpg > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | tee /etc/apt/sources.list.d/helm-stable-debian.list
apt update -y
apt install -y python helm python3-pip apt-transport-https
# - name: Import GPG key
# id: import_gpg
# uses: https://github.com/crazy-max/ghaction-import-gpg@v5
# with:
# gpg_private_key: ${{ secrets.GPGSIGN_KEY }}
# passphrase: ${{ secrets.GPGSIGN_PASSPHRASE }}
# fingerprint: CC64B1DB67ABBEECAB24B6455FC346329753F4B0
# Using helm gpg plugin as 'helm package --sign' has issues with gpg2: https://github.com/helm/helm/issues/2843
- name: package charts
run: |
# FIXME: use upstream after https://github.com/technosophos/helm-gpg/issues/1 is solved
helm plugin install https://github.com/pat-s/helm-gpg
helm plugin install https://github.com/chartmuseum/helm-push
make all
- name: Deploy to Gitea helm
run: |
helm repo add --username ${{ secrets.repo_user }} --password ${{ secrets.repo_password }} cooopsspace https://git.coo-ops.space/api/packages/coo-ops.space/helm
for filename in ./_build/*.tgz; do
helm cm-push $filename cooopsspace
done
- name: Deploy to FTP Server
run: |
lftp ${{ secrets.ftp_host }} -u ${{ secrets.ftp_user }},${{ secrets.ftp_password }} -e "set ftp:ssl-protect-data true; set ftp:ssl-force true; set ssl:verify-certificate true; mirror --overwrite --reverse --continue --dereference -x ^\.git/$ ./_build/ ./; quit"