-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: Migrate from gerrit to github pipelines (#17)
- Loading branch information
Mykola Serdiuk
committed
May 3, 2024
1 parent
b1b7333
commit 76a621c
Showing
8 changed files
with
196 additions
and
10 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
name: "pull_request" | ||
|
||
on: | ||
pull_request: | ||
branches: [master] | ||
types: [opened, synchronize, reopened] | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | ||
cancel-in-progress: true | ||
|
||
env: | ||
GOLANG_VERSION: '1.20' | ||
|
||
jobs: | ||
|
||
check-commit-message: | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Check Commit Format | ||
uses: gsactions/commit-message-checker@v2 | ||
with: | ||
pattern: '^(fix|feat|docs|style|refactor|test|chore){1}(\([\w\-\.]+\))?(!)?: .+( (#\d+))?$' | ||
error: 'Your commit message should be in the format "type: Description (#issue)". Example: "fix: Update build (#33)"' | ||
excludeDescription: 'true' | ||
excludeTitle: 'true' | ||
checkAllCommitMessages: 'true' | ||
accessToken: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Check Line Length | ||
uses: gsactions/commit-message-checker@v2 | ||
with: | ||
pattern: '.{0,50}' | ||
error: 'The maximum line length of 50 characters is exceeded.' | ||
excludeDescription: 'true' | ||
excludeTitle: 'true' | ||
checkAllCommitMessages: 'true' | ||
accessToken: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
helm-docs: | ||
needs: [check-commit-message] | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
- name: Set up Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: ${{ env.GOLANG_VERSION }} | ||
|
||
- name: Make Build | ||
run: make validate-docs | ||
|
||
helm-lint: | ||
needs: [helm-docs] | ||
runs-on: ubuntu-20.04 | ||
env: | ||
CHART_DIR: "deploy-templates" | ||
CT_CONFIGS_DIR: "." | ||
CT_CONFIGS_DIR_DEFAULT: "ct-configs" | ||
CT_FILE_PATH: "ct.yaml" | ||
LINTCONF_FILE_PATH: "lintconf.yaml" | ||
CHART_SCHEMA_FILE_PATH: "chart_schema.yaml" | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Set up Helm | ||
uses: azure/setup-helm@v3 | ||
with: | ||
version: v3.12.1 | ||
|
||
- uses: actions/setup-python@v4 | ||
with: | ||
python-version: '3.10' | ||
check-latest: true | ||
|
||
- name: Set up chart-testing | ||
uses: helm/[email protected] | ||
|
||
- name: Run chart-testing (lint) | ||
run: ct lint --target-branch ${{ github.event.repository.default_branch }} \ | ||
--charts ${CHART_DIR}/ \ | ||
--config ${CT_FILE_PATH} \ | ||
--lint-conf ${LINTCONF_FILE_PATH} \ | ||
--chart-yaml-schema ${CHART_SCHEMA_FILE_PATH} | ||
|
||
build-and-lint: | ||
needs: [helm-lint] | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: ${{ env.GOLANG_VERSION }} | ||
|
||
- name: Make Build | ||
run: make build | ||
|
||
- name: Make Test | ||
run: make test | ||
|
||
- name: Make Lint | ||
run: make lint | ||
|
||
docker-lint: | ||
needs: [build-and-lint] | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
- name: Run hadolint | ||
uses: hadolint/[email protected] | ||
with: | ||
dockerfile: Dockerfile | ||
|
||
e2e-tests: | ||
name: End-to-end tests | ||
needs: [docker-lint] | ||
runs-on: ubuntu-20.04 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
# The e2e tests are run on the lowest and highest supported k8s version. | ||
# All Kubernetes version in between expose the same APIs, hence the operator | ||
# should be compatible with them. | ||
kube-version: | ||
- "1.27" | ||
- "1.28" | ||
|
||
steps: | ||
- name: Check out code into the Go module directory | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: ${{ env.GOLANG_VERSION }} | ||
|
||
- name: "install kuttl" | ||
run: ./hack/install-kuttl.sh | ||
|
||
- name: "run tests" | ||
env: | ||
KUBE_VERSION: ${{ matrix.kube-version }} | ||
run: make start-kind KUBE_VERSION=$KUBE_VERSION && make e2e | ||
|
||
e2e-tests-check: | ||
runs-on: ubuntu-20.04 | ||
if: always() | ||
needs: [e2e-tests] | ||
steps: | ||
- name: Print result | ||
run: echo ${{ needs.e2e-tests.result }} | ||
- name: Interpret result | ||
run: | | ||
if [[ success == ${{ needs.e2e-tests.result }} ]] | ||
then | ||
echo "All matrix jobs passed!" | ||
else | ||
echo "One or more matrix jobs failed." | ||
false | ||
fi |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#!/bin/bash | ||
|
||
sudo curl -Lo /usr/local/bin/kubectl-kuttl https://github.com/kudobuilder/kuttl/releases/download/v0.15.0/kubectl-kuttl_0.15.0_linux_x86_64 | ||
sudo chmod +x /usr/local/bin/kubectl-kuttl | ||
export PATH=$PATH:/usr/local/bin |
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
kind: Cluster | ||
apiVersion: kind.x-k8s.io/v1alpha4 | ||
nodes: | ||
- role: control-plane | ||
image: kindest/node:v1.27.3@sha256:3966ac761ae0136263ffdb6cfd4db23ef8a83cba8a463690e98317add2c9ba72 | ||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
kind: Cluster | ||
apiVersion: kind.x-k8s.io/v1alpha4 | ||
nodes: | ||
- role: control-plane | ||
image: kindest/node:v1.28.7 |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
apiVersion: kuttl.dev/v1beta1 | ||
kind: TestStep | ||
commands: | ||
- command: helm install --set image.repository=${E2E_IMAGE_REPOSITORY} --set image.tag=${E2E_IMAGE_TAG} --replace --wait sonar-operator-e2e ../../../deploy-templates | ||
- command: helm install --set image.repository=${CONTAINER_REGISTRY_URL}/${CONTAINER_REGISTRY_SPACE}/${E2E_IMAGE_REPOSITORY} --set image.tag=${E2E_IMAGE_TAG} --replace --wait sonar-operator-e2e ../../../deploy-templates | ||
namespaced: true |