Skip to content

Commit

Permalink
setup kind within github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
majodev committed Oct 29, 2024
1 parent 1abca74 commit eb7f8a5
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 33 deletions.
5 changes: 5 additions & 0 deletions .github/config/kind.yml.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
apiServerAddress: "127.0.0.1"
62 changes: 62 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Build & Test

on:
push:
branches:
- "**"
pull_request:
branches: [main]
env:
DOCKER_ENV_FILE: ".github/workflows/docker.env"
jobs:
build-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.7
# - name: Create k8s Kind Cluster
# uses: helm/kind-action@v1

- name: setup@kindconfig
run: |
kind_in="${{ github.workspace }}/.github/config/kind.yml.in"
kind_out="${{ github.workspace }}/.github/config/kind.yml"
hostip=$(sh .github/scripts/get-host-ip.sh)
sed "s/127.0.0.1/$hostip/g" $kind_in > $kind_out
- name: setup@kubernetes
uses: engineerd/setup-kind@v0.6.0
with:
config: .github/config/kind.yml
version: v0.24.0
image: kindest/node:v1.28.13 # ensure same as in Makefile

- name: setup@kubeconfig
run: |
hostip=$(sh .github/scripts/get-host-ip.sh)
sed "s/127.0.0.1/$hostip/g" $HOME/.kube/config > ${{ github.workspace }}/kubeconfig.yml
- name: Build the Docker image
run: docker build --target builder --file Dockerfile --tag allaboutapps/backup-ns:${GITHUB_SHA:8} .

- name: Create container
run: docker run -d --env-file $DOCKER_ENV_FILE --name=builder -it allaboutapps/backup-ns:${GITHUB_SHA:8}

- name: Init Kind
run: docker exec builder bash /app/test/init_kind.sh

- name: make tidy
run: docker exec builder make tidy

- name: make build
run: docker exec builder make build

- name: make test
run: docker exec builder make test

- name: Stop container
if: ${{ always() }}
run: docker stop builder

- name: Remove container
if: ${{ always() }}
run: docker rm builder
32 changes: 0 additions & 32 deletions .github/workflows/build-test.yml.disabled

This file was deleted.

4 changes: 3 additions & 1 deletion .github/workflows/docker.env
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@ CI=true
GITHUB_ACTIONS=true

# project root directory, used for relative path resolution
PROJECT_ROOT_DIR=/app
PROJECT_ROOT_DIR=/app

KUBECONFIG=/app/kubeconfig.yml

0 comments on commit eb7f8a5

Please sign in to comment.