From c35f5e25ea34a3ad2f596e4aaa97cbf0d1d9e39a Mon Sep 17 00:00:00 2001 From: M Samuel Vijaykumar Date: Thu, 29 Aug 2024 12:26:22 +0530 Subject: [PATCH 1/5] Update go version and kubernetes intergration workflow --- .github/workflows/ci.yaml | 124 +++++++++--------- api/redisfailover/v1/types.go | 1 + go.mod | 2 +- go.sum | 9 ++ ...atabases.spotahome.com_redisfailovers.yaml | 2 + ...atabases.spotahome.com_redisfailovers.yaml | 2 + 6 files changed, 77 insertions(+), 63 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cfd56d750..4a0eb56b7 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,72 +1,72 @@ name: CI on: - push: - branches: - - main - pull_request: + push: + branches: + - main + pull_request: jobs: - check: - name: Golang Check - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 - with: - go-version-file: go.mod - cache: false - - name: golangci-lint - uses: golangci/golangci-lint-action@v3 - with: - version: v1.53 - args: --timeout=15m + check: + name: Golang Check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version-file: go.mod + cache: false + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: v1.53 + args: --timeout=15m - unit-test: - name: Unit test - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 - with: - go-version-file: go.mod - - run: make ci-unit-test + unit-test: + name: Unit test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version-file: go.mod + - run: make ci-unit-test - integration-test: - name: Integration test - runs-on: ubuntu-latest - needs: [check, unit-test] - strategy: - matrix: - kubernetes: [1.24.16, 1.25.12, 1.26.7, 1.27.3 ] - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 - with: - go-version-file: go.mod - - name: Install conntrack - run: sudo apt-get install -y conntrack - - uses: medyagh/setup-minikube@v0.0.14 - with: - kubernetes-version: ${{ matrix.kubernetes }} - minikube-version: 1.31.1 - driver: none - - name: Add redisfailover CRD - run: kubectl create -f manifests/databases.spotahome.com_redisfailovers.yaml - - run: make ci-integration-test + integration-test: + name: Integration test + runs-on: ubuntu-latest + needs: [check, unit-test] + strategy: + matrix: + kubernetes: [1.27.3, 1.28.13, 1.29.8, 1.30.4, 1.31.0] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version-file: go.mod + - name: Install conntrack + run: sudo apt-get install -y conntrack + - uses: medyagh/setup-minikube@v0.0.14 + with: + kubernetes-version: ${{ matrix.kubernetes }} + minikube-version: 1.31.1 + driver: none + - name: Add redisfailover CRD + run: kubectl create -f manifests/databases.spotahome.com_redisfailovers.yaml + - run: make ci-integration-test - chart-test: - name: Chart testing - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 + chart-test: + name: Chart testing + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 - - name: Install Helm - uses: azure/setup-helm@v3 - with: - version: v3.7.2 + - name: Install Helm + uses: azure/setup-helm@v3 + with: + version: v3.7.2 - - name: Helm test - run: make helm-test + - name: Helm test + run: make helm-test diff --git a/api/redisfailover/v1/types.go b/api/redisfailover/v1/types.go index 45e801451..3e02310ed 100644 --- a/api/redisfailover/v1/types.go +++ b/api/redisfailover/v1/types.go @@ -71,6 +71,7 @@ type RedisSettings struct { CustomReadinessProbe *corev1.Probe `json:"customReadinessProbe,omitempty"` CustomStartupProbe *corev1.Probe `json:"customStartupProbe,omitempty"` DisablePodDisruptionBudget bool `json:"disablePodDisruptionBudget,omitempty"` + DisableMyMaster bool `json:"disableMyMaster,omitempty"` } // SentinelSettings defines the specification of the sentinel cluster diff --git a/go.mod b/go.mod index 18b00397e..790f10750 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/spotahome/redis-operator -go 1.20 +go 1.22 require ( github.com/go-redis/redis/v8 v8.11.5 diff --git a/go.sum b/go.sum index e1dad7d15..ed33d5a17 100644 --- a/go.sum +++ b/go.sum @@ -168,6 +168,7 @@ github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= @@ -248,6 +249,7 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= @@ -317,6 +319,7 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -361,17 +364,21 @@ github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/ginkgo/v2 v2.9.1 h1:zie5Ly042PD3bsCvsSOPvRnFwyo3rKe64TJlD6nu0mk= +github.com/onsi/ginkgo/v2 v2.9.1/go.mod h1:FEcmzVcCHl+4o9bQZVab+4dC9+j+91t2FHSzmGAPfuo= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.27.4 h1:Z2AnStgsdSayCMDiCU42qIz+HLqEPcgiOCXjAU/w+8E= +github.com/onsi/gomega v1.27.4/go.mod h1:riYq/GJKh8hhoM01HN6Vmuy93AarCXCBGpvFDK3q3fQ= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= @@ -420,6 +427,7 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= @@ -786,6 +794,7 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/manifests/databases.spotahome.com_redisfailovers.yaml b/manifests/databases.spotahome.com_redisfailovers.yaml index 011476fa4..e49f8528e 100644 --- a/manifests/databases.spotahome.com_redisfailovers.yaml +++ b/manifests/databases.spotahome.com_redisfailovers.yaml @@ -1582,6 +1582,8 @@ spec: format: int32 type: integer type: object + disableMyMaster: + type: boolean disablePodDisruptionBudget: type: boolean dnsPolicy: diff --git a/manifests/kustomize/base/databases.spotahome.com_redisfailovers.yaml b/manifests/kustomize/base/databases.spotahome.com_redisfailovers.yaml index 011476fa4..e49f8528e 100644 --- a/manifests/kustomize/base/databases.spotahome.com_redisfailovers.yaml +++ b/manifests/kustomize/base/databases.spotahome.com_redisfailovers.yaml @@ -1582,6 +1582,8 @@ spec: format: int32 type: integer type: object + disableMyMaster: + type: boolean disablePodDisruptionBudget: type: boolean dnsPolicy: From ae0f5f8c9444fbacff59c15d3261d9af0a251f32 Mon Sep 17 00:00:00 2001 From: M Samuel Vijaykumar Date: Thu, 29 Aug 2024 12:45:32 +0530 Subject: [PATCH 2/5] Updated the workflows with the latest versions --- .github/workflows/ci.yaml | 18 +++++++++--------- operator/redisfailover/handler.go | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4a0eb56b7..857c11bc4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -11,23 +11,23 @@ jobs: name: Golang Check runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 with: go-version-file: go.mod cache: false - name: golangci-lint - uses: golangci/golangci-lint-action@v3 + uses: golangci/golangci-lint-action@v6 with: - version: v1.53 + version: v1.60 args: --timeout=15m unit-test: name: Unit test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 with: go-version-file: go.mod - run: make ci-unit-test @@ -40,13 +40,13 @@ jobs: matrix: kubernetes: [1.27.3, 1.28.13, 1.29.8, 1.30.4, 1.31.0] steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Install conntrack run: sudo apt-get install -y conntrack - - uses: medyagh/setup-minikube@v0.0.14 + - uses: medyagh/setup-minikube@v0.0.18 with: kubernetes-version: ${{ matrix.kubernetes }} minikube-version: 1.31.1 diff --git a/operator/redisfailover/handler.go b/operator/redisfailover/handler.go index 6a03afd56..915cb5272 100644 --- a/operator/redisfailover/handler.go +++ b/operator/redisfailover/handler.go @@ -93,7 +93,7 @@ func (r *RedisFailoverHandler) getLabels(rf *redisfailoverv1.RedisFailover) map[ // Filter the labels based on the whitelist filteredCustomLabels := make(map[string]string) - if rf.Spec.LabelWhitelist != nil && len(rf.Spec.LabelWhitelist) != 0 { + if len(rf.Spec.LabelWhitelist) != 0 { for _, regex := range rf.Spec.LabelWhitelist { compiledRegexp, err := regexp.Compile(regex) if err != nil { From c8e98a0279298ed7adc7834cb4716a6a51917eca Mon Sep 17 00:00:00 2001 From: M Samuel Vijaykumar Date: Tue, 29 Oct 2024 11:22:25 +0530 Subject: [PATCH 3/5] Adding new ci --- .github/workflows/ci.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cfd56d750..e152c1799 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -3,9 +3,12 @@ name: CI on: push: branches: - - main + - master pull_request: + types: [opened, synchronize, reopened, edited] + branches: + - master jobs: check: name: Golang Check From 542a8a8e78b801b67c015326cb107d10fc7f2398 Mon Sep 17 00:00:00 2001 From: M Samuel Vijaykumar Date: Tue, 29 Oct 2024 11:30:28 +0530 Subject: [PATCH 4/5] Workflows are not working --- .github/workflows/ci.yaml | 75 ------------------------------ .github/workflows/helm.yml | 31 ------------ .github/workflows/staleissues.yaml | 22 --------- 3 files changed, 128 deletions(-) delete mode 100644 .github/workflows/ci.yaml delete mode 100644 .github/workflows/helm.yml delete mode 100644 .github/workflows/staleissues.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml deleted file mode 100644 index e152c1799..000000000 --- a/.github/workflows/ci.yaml +++ /dev/null @@ -1,75 +0,0 @@ -name: CI - -on: - push: - branches: - - master - pull_request: - types: [opened, synchronize, reopened, edited] - - branches: - - master -jobs: - check: - name: Golang Check - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 - with: - go-version-file: go.mod - cache: false - - name: golangci-lint - uses: golangci/golangci-lint-action@v3 - with: - version: v1.53 - args: --timeout=15m - - unit-test: - name: Unit test - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 - with: - go-version-file: go.mod - - run: make ci-unit-test - - integration-test: - name: Integration test - runs-on: ubuntu-latest - needs: [check, unit-test] - strategy: - matrix: - kubernetes: [1.24.16, 1.25.12, 1.26.7, 1.27.3 ] - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 - with: - go-version-file: go.mod - - name: Install conntrack - run: sudo apt-get install -y conntrack - - uses: medyagh/setup-minikube@v0.0.14 - with: - kubernetes-version: ${{ matrix.kubernetes }} - minikube-version: 1.31.1 - driver: none - - name: Add redisfailover CRD - run: kubectl create -f manifests/databases.spotahome.com_redisfailovers.yaml - - run: make ci-integration-test - - chart-test: - name: Chart testing - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Install Helm - uses: azure/setup-helm@v3 - with: - version: v3.7.2 - - - name: Helm test - run: make helm-test diff --git a/.github/workflows/helm.yml b/.github/workflows/helm.yml deleted file mode 100644 index 46b26c0d2..000000000 --- a/.github/workflows/helm.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Release Charts - -on: - push: - branches: - - master - -jobs: - release: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - 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@v3 - with: - version: v3.7.2 - - - name: Release - uses: helm/chart-releaser-action@v1.5.0 - with: - charts_dir: charts - config: charts/chart-release-config.yaml - env: - CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/staleissues.yaml b/.github/workflows/staleissues.yaml deleted file mode 100644 index 62581678f..000000000 --- a/.github/workflows/staleissues.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: Close inactive issues -on: - schedule: - - cron: "30 1 * * *" - -jobs: - close-issues: - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - uses: actions/stale@v8 - with: - days-before-issue-stale: 45 - days-before-issue-close: 14 - stale-issue-label: "stale" - stale-issue-message: "This issue is stale because it has been open for 45 days with no activity." - close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale." - days-before-pr-stale: -1 - days-before-pr-close: -1 - repo-token: ${{ secrets.GITHUB_TOKEN }} From 5584accf80611d5de4c8656ab467a9039167f1b2 Mon Sep 17 00:00:00 2001 From: M Samuel Vijaykumar Date: Tue, 29 Oct 2024 11:31:24 +0530 Subject: [PATCH 5/5] Weird issue with workflows --- .github/workflows/ci.yaml | 75 ++++++++++++++++++++++++++++++ .github/workflows/helm.yml | 31 ++++++++++++ .github/workflows/staleissues.yaml | 22 +++++++++ 3 files changed, 128 insertions(+) create mode 100644 .github/workflows/ci.yaml create mode 100644 .github/workflows/helm.yml create mode 100644 .github/workflows/staleissues.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 000000000..e152c1799 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,75 @@ +name: CI + +on: + push: + branches: + - master + pull_request: + types: [opened, synchronize, reopened, edited] + + branches: + - master +jobs: + check: + name: Golang Check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version-file: go.mod + cache: false + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: v1.53 + args: --timeout=15m + + unit-test: + name: Unit test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version-file: go.mod + - run: make ci-unit-test + + integration-test: + name: Integration test + runs-on: ubuntu-latest + needs: [check, unit-test] + strategy: + matrix: + kubernetes: [1.24.16, 1.25.12, 1.26.7, 1.27.3 ] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version-file: go.mod + - name: Install conntrack + run: sudo apt-get install -y conntrack + - uses: medyagh/setup-minikube@v0.0.14 + with: + kubernetes-version: ${{ matrix.kubernetes }} + minikube-version: 1.31.1 + driver: none + - name: Add redisfailover CRD + run: kubectl create -f manifests/databases.spotahome.com_redisfailovers.yaml + - run: make ci-integration-test + + chart-test: + name: Chart testing + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install Helm + uses: azure/setup-helm@v3 + with: + version: v3.7.2 + + - name: Helm test + run: make helm-test diff --git a/.github/workflows/helm.yml b/.github/workflows/helm.yml new file mode 100644 index 000000000..46b26c0d2 --- /dev/null +++ b/.github/workflows/helm.yml @@ -0,0 +1,31 @@ +name: Release Charts + +on: + push: + branches: + - master + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + 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@v3 + with: + version: v3.7.2 + + - name: Release + uses: helm/chart-releaser-action@v1.5.0 + with: + charts_dir: charts + config: charts/chart-release-config.yaml + env: + CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/staleissues.yaml b/.github/workflows/staleissues.yaml new file mode 100644 index 000000000..62581678f --- /dev/null +++ b/.github/workflows/staleissues.yaml @@ -0,0 +1,22 @@ +name: Close inactive issues +on: + schedule: + - cron: "30 1 * * *" + +jobs: + close-issues: + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - uses: actions/stale@v8 + with: + days-before-issue-stale: 45 + days-before-issue-close: 14 + stale-issue-label: "stale" + stale-issue-message: "This issue is stale because it has been open for 45 days with no activity." + close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale." + days-before-pr-stale: -1 + days-before-pr-close: -1 + repo-token: ${{ secrets.GITHUB_TOKEN }}