mirror of
https://github.com/eliasstepanik/caddy-ingess.git
synced 2026-01-10 20:18:28 +00:00
102 lines
2.5 KiB
YAML
102 lines
2.5 KiB
YAML
name: Checks
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
|
|
jobs:
|
|
go-tests:
|
|
name: Run tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: 1.18
|
|
|
|
- name: Test
|
|
run: go test -v ./...
|
|
|
|
chart-test-current:
|
|
name: Test and lint charts
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Set up Helm
|
|
uses: azure/setup-helm@v3
|
|
with:
|
|
version: v3.11.1
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: 1.18
|
|
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v2
|
|
with:
|
|
platforms: arm64
|
|
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.7
|
|
|
|
- name: Set up chart-testing
|
|
uses: helm/chart-testing-action@v2
|
|
|
|
- name: Run chart-testing (lint)
|
|
run: ct lint --config ct.yaml
|
|
|
|
- name: Run GoReleaser
|
|
uses: goreleaser/goreleaser-action@v4
|
|
with:
|
|
distribution: goreleaser
|
|
version: latest
|
|
args: release --snapshot --clean
|
|
env:
|
|
# Fix tag for snapshots
|
|
GORELEASER_CURRENT_TAG: v0.0.1
|
|
GORELEASER_PREVIOUS_TAG: v0.0.0
|
|
|
|
|
|
- name: Create kind cluster
|
|
uses: helm/kind-action@v1
|
|
|
|
- name: Install MetalLB to allow LoadBalancer services
|
|
run: |
|
|
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.9/config/manifests/metallb-native.yaml
|
|
kubectl wait --namespace metallb-system \
|
|
--for=condition=ready pod \
|
|
--selector=app=metallb \
|
|
--timeout=90s
|
|
|
|
cat <<EOF | kubectl apply -f -
|
|
apiVersion: metallb.io/v1beta1
|
|
kind: IPAddressPool
|
|
metadata:
|
|
name: example
|
|
namespace: metallb-system
|
|
spec:
|
|
addresses:
|
|
- 172.19.255.200-172.19.255.250
|
|
---
|
|
apiVersion: metallb.io/v1beta1
|
|
kind: L2Advertisement
|
|
metadata:
|
|
name: empty
|
|
namespace: metallb-system
|
|
EOF
|
|
|
|
- name: Load image into Kind cluster
|
|
run: kind load docker-image "caddy/ingress:test-image" --name chart-testing
|
|
|
|
- name: Run chart-testing (install)
|
|
run: ct install --config ct.yaml
|