Add minikube testing #306
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release Charts | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- "*" | |
pull_request: | |
branches: | |
- main | |
env: | |
HELM_EXPERIMENTAL_OCI: 1 | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Configure Git | |
run: | | |
git config user.name "$GITHUB_ACTOR" | |
git config user.email "$GITHUB_ACTOR@users.noreply.github.com" | |
- name: Install Helm | |
uses: azure/setup-helm@v4 | |
with: | |
version: v3.13.3 | |
- name: Install python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3 | |
- name: Set up chart-testing | |
uses: helm/chart-testing-action@v2.6.1 | |
- name: Extract tag | |
id: extract_tag | |
run: | | |
version=$(grep '^version:' Chart.yaml | sed 's/"//g' | awk '{print $2}') | |
echo "Chart version is $version" | |
echo "CHART_VERSION=$version" >> $GITHUB_ENV | |
echo "CHART_VERSION=$version" >> $GITHUB_OUTPUT | |
working-directory: charts/vaas | |
- name: Run chart-testing (lint) | |
run: ct lint --validate-maintainers=false --charts charts/vaas | |
- name: Install Minikube | |
uses: manusa/actions-setup-minikube@v2.13.0 | |
with: | |
minikube version: v1.34.0 | |
kubernetes version: v1.30.0 | |
driver: docker | |
start args: --cpus 4 --memory 8192 | |
- name: Set up kubectl | |
uses: azure/setup-kubectl@v3 | |
with: | |
version: 'latest' | |
- name: Install Helm | |
uses: azure/setup-helm@v4 | |
with: | |
version: v3.13.3 | |
- name: Enable ingress | |
run: | | |
minikube addons enable ingress | |
minikube kubectl -- wait --namespace ingress-nginx \ | |
--for=condition=ready pod \ | |
--selector=app.kubernetes.io/component=controller \ | |
--timeout=120s | |
- name: Deploy Helm Chart | |
run: | | |
cat <<EOF > values-local.yaml | |
global: | |
secret: | |
dockerconfigjson: "${{ secrets.DOCKER_CONFIG_JSON }}" | |
cloud: | |
hashLookup: | |
enabled: false | |
allowlistLookup: | |
enabled: false | |
EOF | |
helm dep up charts/vaas | |
helm upgrade --install vaas charts/vaas -f values-local.yaml -n vaas --create-namespace --debug | |
- name: Verify Pods | |
run: | | |
sleep 10 | |
minikube kubectl -- get pods --namespace vaas || true | |
minikube kubectl -- wait --for=condition=ready pods --namespace vaas --timeout=300s --all | |
- name: Set up vaas host | |
run: | | |
sudo echo "vaas $(minikube ip)" | sudo tee -a /etc/hosts | |
- name: Checkout Vaas Java SDK | |
uses: actions/checkout@v4 | |
with: | |
repository: GDATASoftwareAG/vaas | |
path: java/examples/VaasExample | |
- name: Run Java SDK Example | |
run: | | |
export CLIENT_ID=vaas | |
export CLIENT_SECRET=$(minikube kubectl -- get secret -n vaas vaas-client-secret -o jsonpath="{.data.secret}" | base64 -d) | |
export SCAN_PATH=$(pwd)/build.gradle | |
export VAAS_URL=ws://vaas/ws | |
export TOKEN_URL=http://vaas/auth/protocol/openid-connect/token | |
gradle fileScan | |
- name: Push chart | |
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' | |
uses: appany/helm-oci-chart-releaser@v0.4.2 | |
with: | |
name: vaas | |
repository: gdatasoftwareag/charts | |
tag: $CHART_VERSION | |
path: charts/vaas | |
registry: ghcr.io | |
registry_username: ${{ secrets.REGISTRY_USERNAME }} | |
registry_password: ${{ secrets.CR_TOKEN }} | |
update_dependencies: "true" | |
- name: create zipfile | |
run: zip -r vaas-helm.zip charts/vaas/ | |
- name: Github Release | |
uses: softprops/action-gh-release@v2 | |
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' | |
with: | |
tag_name: ${{steps.extract_tag.outputs.CHART_VERSION}} | |
generate_release_notes: true | |
make_latest: true | |
files: | | |
vaas-helm.zip |