ca903c9cf3
### Description of the change We are affected by a regression of a Helm bug from May 2023. I've tested the Helm versions 3.13.1, 3.13.0 and 3.12.3. Both 3.13.x are affected. 3.12.3 works. So let's downgrade and drop the docker login in PR builds. I've also switched the `apt install helm` with an official `alpine/helm` image I am using at work. Pinning the helm version and receiving updates helps us identifying such issues in the future. For the release workflow I was a bit more reluctant with changes, since I cannot easily test them. That's why I just pinned the Helm version. Renovate will provide one PR changing both files because it's the same dependency (alpine/helm) from the same datasource (docker). https://github.com/helm/helm/issues/12062 ### Applicable issues - implicitly fixes #527 Reviewed-on: https://gitea.com/gitea/helm-chart/pulls/535 Reviewed-by: pat-s <pat-s@noreply.gitea.com> Co-authored-by: justusbunsi <sk.bunsenbrenner@gmail.com> Co-committed-by: justusbunsi <sk.bunsenbrenner@gmail.com>
65 lines
2.8 KiB
YAML
65 lines
2.8 KiB
YAML
name: generate-chart
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "*"
|
|
|
|
env:
|
|
# renovate: datasource=docker depName=alpine/helm
|
|
HELM_VERSION: "3.12.3"
|
|
|
|
jobs:
|
|
generate-chart-publish:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: install tools
|
|
run: |
|
|
apt update -y
|
|
apt install -y curl ca-certificates curl gnupg
|
|
# helm
|
|
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
|
|
# docker
|
|
install -m 0755 -d /etc/apt/keyrings
|
|
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
chmod a+r /etc/apt/keyrings/docker.gpg
|
|
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
apt update -y
|
|
apt install -y python helm=${{ env.HELM_VERSION }}-1 python3-pip apt-transport-https docker-ce-cli
|
|
pip install awscli
|
|
|
|
- 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 chart
|
|
run: |
|
|
echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
|
|
# 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 dependency update
|
|
helm package --version "${GITHUB_REF#refs/tags/v}" ./
|
|
helm gpg sign "gitea-${GITHUB_REF#refs/tags/v}.tgz"
|
|
mkdir gitea
|
|
mv gitea*.tgz gitea/
|
|
curl -L -o gitea/index.yaml https://dl.gitea.com/charts/index.yaml
|
|
helm repo index gitea/ --url https://dl.gitea.com/charts --merge gitea/index.yaml
|
|
|
|
- name: aws credential configure
|
|
uses: https://github.com/aws-actions/configure-aws-credentials@v2
|
|
with:
|
|
aws-access-key-id: ${{ secrets.AWS_KEY_ID }}
|
|
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
aws-region: ${{ secrets.AWS_REGION }}
|
|
|
|
- name: Copy files to S3 and clear cache
|
|
run: |
|
|
aws s3 sync gitea/ s3://${{ secrets.AWS_S3_BUCKET}}/charts/
|