Skip to content

deps: update dependency helm/helm to v3.17.0 #1682

deps: update dependency helm/helm to v3.17.0

deps: update dependency helm/helm to v3.17.0 #1682

Workflow file for this run

name: Test
on:
push:
branches: [main]
pull_request:
env:
GOTOOLCHAIN: local
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.23"
- name: Run tests
run: go test -v -tags integration -race -coverprofile=coverage.txt ./...
- name: Upload coverage reports to Codecov
if: >
!startsWith(github.head_ref, 'renovate/') &&
!startsWith(github.head_ref, 'releaser-pleaser--')
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
kubernetes:
name: kubernetes ${{ matrix.k3s }}
runs-on: ubuntu-latest
permissions:
id-token: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.k3s }}
cancel-in-progress: true
strategy:
fail-fast: false # Continue tests matrix if a flaky run occur.
matrix:
include:
- k3s: v1.29
k8s-test: v1.29.9
- k3s: v1.30
k8s-test: v1.30.5
- k3s: v1.31
k8s-test: v1.31.1
env:
K3S_CHANNEL: ${{ matrix.k3s }}
K8S_TEST_VERSION: ${{ matrix.k8s-test }}
ENV: gha-${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.k3s }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.23"
- uses: opentofu/setup-opentofu@v1
with:
tofu_version: v1.9.0 # renovate: datasource=github-releases depName=opentofu/opentofu
tofu_wrapper: false
- uses: docker/setup-buildx-action@v3
- uses: yokawasa/[email protected]
with:
setup-tools: |
helm
kubectl
skaffold
helm: v3.17.0 # renovate: datasource=github-releases depName=helm/helm
kubectl: v1.32.1 # renovate: datasource=github-releases depName=kubernetes/kubernetes
skaffold: v2.13.2 # renovate: datasource=github-releases depName=GoogleContainerTools/skaffold
- name: Setup k3sup
run: curl -sLS https://get.k3sup.dev | sh
- name: Setup k8s test binaries
run: make -C test/e2e/kubernetes bin
- uses: hetznercloud/tps-action@main
- name: Setup environment
run: make -C dev up
- name: Run skaffold
run: |
source dev/files/env.sh
skaffold run
- name: Check XFS config file existence
run: |
DOCKER_IMAGE_ID=$(docker images --format "{{.ID}} {{.CreatedAt}}" localhost:30666/docker_io_hetznercloud_hcloud-csi-driver | sort -k2 -r | head -n1 | awk '{print $1}')
docker run --rm -i $DOCKER_IMAGE_ID test -f /usr/share/xfsprogs/mkfs/lts_4.19.conf
- name: Run parallel tests
run: |
source dev/files/env.sh
make -C test/e2e/kubernetes parallel
- name: Run serial tests
run: |
source dev/files/env.sh
make -C test/e2e/kubernetes serial
- name: Dump logs & events
if: always()
continue-on-error: true
run: |
source dev/files/env.sh
mkdir -p debug-logs
echo "::group::hcloud-csi.log"
kubectl logs \
--namespace kube-system \
--selector app.kubernetes.io/name=hcloud-csi \
--all-containers \
--prefix=true \
--tail=-1 \
| tee debug-logs/hcloud-csi.log
echo "::endgroup::"
echo "::group::events.yaml"
kubectl get events \
--all-namespaces \
--sort-by=.firstTimestamp \
--output yaml \
| tee debug-logs/events.yaml
echo "::endgroup::"
- name: Cleanup
if: always()
continue-on-error: true
run: make -C dev down
- name: Persist debug artifacts
if: always()
continue-on-error: true
uses: actions/upload-artifact@v4
with:
name: debug-logs-k8s-${{ env.ENV }}
path: debug-logs/
nomad:
name: nomad ${{ matrix.nomad }}
runs-on: ubuntu-latest
permissions:
id-token: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.nomad }}
cancel-in-progress: true
strategy:
fail-fast: false
matrix:
include:
- nomad: 1.9.5 # renovate: datasource=github-releases depName=hashicorp/nomad
consul: 1.20.2 # renovate: datasource=github-releases depName=hashicorp/consul
env:
TF_VAR_nomad_version: ${{ matrix.nomad }}
TF_VAR_consul_version: ${{ matrix.consul }}
ENV: gha-${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.nomad }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.23"
- uses: opentofu/setup-opentofu@v1
with:
tofu_version: v1.9.0 # renovate: datasource=github-releases depName=opentofu/opentofu
tofu_wrapper: false
- uses: docker/setup-buildx-action@v3
- uses: yokawasa/[email protected]
with:
setup-tools: |
skaffold
skaffold: v2.13.2 # renovate: datasource=github-releases depName=GoogleContainerTools/skaffold
- uses: hashicorp/setup-nomad@main
id: setup
with:
version: ${{ matrix.nomad }}
# used for generating the certificates
- name: setup consul binary
run: |
curl -o consul.zip https://releases.hashicorp.com/consul/${{ matrix.consul }}/consul_${{ matrix.consul }}_linux_amd64.zip
unzip consul.zip
mv consul /usr/local/bin/
- uses: hetznercloud/tps-action@main
- name: Setup environment
run: make -C nomad/dev up
- name: Run skaffold
run: |
source nomad/dev/files/env.sh
skaffold -f nomad/skaffold.yaml build
- name: Run tests
run: |
source nomad/dev/files/env.sh
go test -v -tags e2e ./test/e2e/nomad/...
- name: Dump logs & events
if: always()
continue-on-error: true
run: |
source nomad/dev/files/env.sh
mkdir -p debug-logs
fetch_job_info () {
# Fetch all allocations from a job
ALLOC_IDS=$(nomad job allocs -json "$1" | jq -r ".[].ID")
# Fetch logs of each allocation and dump them in a file
for ALLOC_ID in $ALLOC_IDS; do
echo "::group::hcloud-csi.log::$1::$ALLOC_ID"
nomad alloc logs "$ALLOC_ID" | tee "debug-logs/$1-$ALLOC_ID.log"
echo "::endgroup::"
done
# Fetch events of each allocation and dump them in a file
for ALLOC_ID in $ALLOC_IDS; do
echo "::group::events.json::$1::$ALLOC_ID"
nomad alloc status -json $ALLOC_ID \
| jq -r ".TaskStates.plugin.Events" \
| tee "debug-logs/$1-$ALLOC_ID.json"
echo "::endgroup::"
done
}
fetch_job_info hcloud-csi-controller
fetch_job_info hcloud-csi-node
- name: Cleanup
if: always()
continue-on-error: true
run: make -C nomad/dev down
- name: Persist debug artifacts
if: always()
continue-on-error: true
uses: actions/upload-artifact@v4
with:
name: debug-logs-nomad-${{ env.ENV }}
path: debug-logs/