3333 environment : preview
3434 needs : build
3535 container :
36- image : qwolphin/kdsl:1.21.8
36+ image : ghcr.io/helmfile/helmfile-ubuntu:v0.145.3
3737 strategy :
3838 fail-fast : false
3939 matrix :
@@ -44,36 +44,35 @@ jobs:
4444 - name : Set k8s namespace
4545 shell : bash
4646 run : |
47- echo -e "NAMESPACE=cache-${NS_SUFFIX,,}\nENV_NAME=${{ github.head_ref }}" | tr -c '[:alnum:]-=\n_' '-' >> ${GITHUB_ENV}
47+ cat <<EOF | tr -c '[:alnum:]-=\n_' '-' >> ${GITHUB_ENV}
48+ NAMESPACE=cache-${NS_SUFFIX,,}
49+ ENV_NAME=${{ github.head_ref }}
50+ EOF
4851 env :
4952 NS_SUFFIX : " ${{ github.head_ref }}-${{ matrix.CHAIN_ID }}"
5053
51- - name : Render kdsl resources into yaml
52- env :
53- MAINNET_RPC : " ${{ secrets.MAINNET_RPC }}"
54- POLYGON_RPC : " ${{ secrets.POLYGON_RPC }}"
55- RECIPE : " chain${{ matrix.CHAIN_ID }}"
56- DOMAIN : " ${{ env.NAMESPACE }}.aaw.fi"
57- CHAIN_ID : " ${{ matrix.CHAIN_ID }}"
58- IMAGE : " ${{ needs.build.outputs.image_name }}"
59- COMMIT_SHA : " ${{ github.sha }}"
60- run : |
61- cd k8s/
62- python3 main.py > ../rendered.yml
63-
6454 - name : Set up kubeconfig
6555 run : |
6656 mkdir -p ~/.kube
6757 echo "${{ secrets.DEV_KUBECONFIG }}" > ~/.kube/config
68- kubectl config set-context --current --namespace="${{ env.NAMESPACE }}"
6958
7059 - name : Apply k8s resources
7160 shell : bash
61+ env :
62+ MAINNET_RPC : " ${{ secrets.MAINNET_RPC }}"
63+ POLYGON_RPC : " ${{ secrets.POLYGON_RPC }}"
64+ DOMAIN : " ${{ env.NAMESPACE }}.aaw.fi"
65+ CHAIN_ID : " ${{ matrix.CHAIN_ID }}"
66+ IMAGE : " ${{ needs.build.outputs.image_name }}"
67+ COMMIT_SHA : " ${{ github.sha }}"
68+ HELM_PLUGINS : ' /root/.local/share/helm/plugins'
7269 run : |
73- kubectl apply -f rendered.yml
74- sleep 3
75- kubectl wait --for condition=ready --timeout 90s pods -l "commit_sha=${{ github.sha }}" || \
76- { kubectl get pods && exit 1; }
70+ helmfile sync && exit 0 || true
71+ helmfile status | grep pending-upgrade
72+ RELEASE="$(helmfile status | grep NAME: | awk '{print $2}')"
73+ REVISION="$(helmfile status | grep REVISION: | awk '{print $2}')"
74+ helm rollback --wait -n "${NAMESPACE}" "${RELEASE}" "$((REVISION-1))"
75+ helmfile sync
7776
7877 - uses : actions/github-script@v5
7978 if : ${{ github.event.action == 'opened' || github.event.action == 'reopened' }}
0 commit comments