mirror of
https://github.com/jenkinsci/kubernetes-operator.git
synced 2026-10-09 09:25:32 +02:00
feat(operator): several updates (#806)
- prepare to switch from `master` to `main` - avoid to run workflow in case is not needed - add a way to bump the lts via make - use latest jenkins lts 2.387.1 - add the docker labels - update base plugins - fix #797 - Add more tests with bats - Update base plugin to latest version - Temporary revert #807 - Better nightly job
This commit is contained in:
@@ -5,6 +5,11 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
paths:
|
||||
- 'docs/**'
|
||||
- 'website/**'
|
||||
- 'assets/**'
|
||||
|
||||
jobs:
|
||||
# Set the job key. The key is displayed as the job name
|
||||
@@ -78,4 +83,4 @@ jobs:
|
||||
branch: docs-generator
|
||||
title: Auto-generated docs update
|
||||
body: |
|
||||
Auto generated docs from master commit ${{ github.sha }}
|
||||
Auto generated docs from master commit ${{ github.sha }}
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
name: Run bats tests
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
- 'website/**'
|
||||
- 'assets/**'
|
||||
- 'backup/**'
|
||||
- '*.md'
|
||||
pull_request:
|
||||
types: [opened, synchronize, ready_for_review, reopened]
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
- 'website/**'
|
||||
- 'assets/**'
|
||||
- 'backup/**'
|
||||
- '*.md'
|
||||
|
||||
jobs:
|
||||
run-tests:
|
||||
if: github.event.pull_request.draft == false
|
||||
name: Run automated bats tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up env vars
|
||||
run: |
|
||||
echo "GO111MODULE=on" >> $GITHUB_ENV
|
||||
echo "GO_VERSION=v$(sed -n 's/GO_VERSION=//p' config.base.env)" >> $GITHUB_ENV
|
||||
echo "HELM_VERSION=v$(sed -n 's/HELM_VERSION=//p' config.base.env)" >> $GITHUB_ENV
|
||||
echo "KIND_CLUSTER_NAME=$(sed -n 's/KIND_CLUSTER_NAME=//p' config.base.env)" >> $GITHUB_ENV
|
||||
echo "GOPATH=/home/runner/go" >> $GITHUB_ENV
|
||||
|
||||
- name: Prepare go environment
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ${{ env.GO_VERSION }}
|
||||
|
||||
- name: Ensure Golang runtime dependencies
|
||||
run: make go-dependencies
|
||||
|
||||
- name: Setup BATS
|
||||
uses: mig4/setup-bats@v1
|
||||
with:
|
||||
bats-version: 1.9.0
|
||||
|
||||
- name: Setup Bats libs
|
||||
uses: brokenpip3/setup-bats-libs@0.1.0
|
||||
|
||||
- name: Kind setup
|
||||
uses: helm/kind-action@v1.5.0
|
||||
with:
|
||||
cluster_name: ${{env.KIND_CLUSTER_NAME}}
|
||||
|
||||
- name: Jenkins Operator - bats tests
|
||||
run: make bats-tests
|
||||
@@ -0,0 +1,68 @@
|
||||
name: Run e2e tests
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
- 'website/**'
|
||||
- 'assets/**'
|
||||
- 'backup/**'
|
||||
- '*.md'
|
||||
pull_request:
|
||||
types: [opened, synchronize, ready_for_review, reopened]
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
- 'website/**'
|
||||
- 'assets/**'
|
||||
- 'backup/**'
|
||||
- '*.md'
|
||||
|
||||
env:
|
||||
MINIKUBE_CPUS_NUMBER: 2
|
||||
MINIKUBE_MEMORY_AMOUNT: 6144
|
||||
|
||||
jobs:
|
||||
run-tests:
|
||||
if: github.event.pull_request.draft == false
|
||||
name: Run automated tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up env vars
|
||||
run: |
|
||||
echo "GO111MODULE=on" >> $GITHUB_ENV
|
||||
echo "CHANGE_MINIKUBE_NONE_USER=true" >> $GITHUB_ENV
|
||||
echo "MINIKUBE_WANTUPDATENOTIFICATION=false" >> $GITHUB_ENV
|
||||
echo "MINIKUBE_WANTREPORTERRORPROMPT=false" >> $GITHUB_ENV
|
||||
echo "GO_VERSION=v$(sed -n 's/GO_VERSION=//p' config.base.env)" >> $GITHUB_ENV
|
||||
echo "HELM_VERSION=v$(sed -n 's/HELM_VERSION=//p' config.base.env)" >> $GITHUB_ENV
|
||||
echo "GOPATH=/home/runner/go" >> $GITHUB_ENV
|
||||
|
||||
- name: Prepare go environment
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ${{ env.GO_VERSION }}
|
||||
|
||||
- name: Ensure Golang runtime dependencies
|
||||
run: make go-dependencies
|
||||
|
||||
- name: Verify code formatting
|
||||
run: make verify
|
||||
|
||||
- name: Prepare environment for e2e
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install socat
|
||||
sudo mkdir -p $HOME/.kube $HOME/.minikube
|
||||
sudo chown -R $USER $HOME/.kube $HOME/.minikube
|
||||
make minikube-start \
|
||||
MINIKUBE_DRIVER='docker' \
|
||||
MEMORY_AMOUNT=${{ env.MINIKUBE_MEMORY_AMOUNT }} \
|
||||
CPUS_NUMBER=${{ env.MINIKUBE_CPUS_NUMBER }}
|
||||
|
||||
- name: Jenkins Operator - e2e
|
||||
run: make e2e E2E_TEST_ARGS='-ginkgo.v'
|
||||
@@ -1,12 +1,23 @@
|
||||
name: Run tests
|
||||
name: Run Helm e2e tests
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
- 'website/**'
|
||||
- 'assets/**'
|
||||
- 'backup/**'
|
||||
- '*.md'
|
||||
pull_request:
|
||||
types: [opened, synchronize, ready_for_review, reopened]
|
||||
branches:
|
||||
- master
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
- 'website/**'
|
||||
- 'assets/**'
|
||||
- 'backup/**'
|
||||
- '*.md'
|
||||
|
||||
env:
|
||||
MINIKUBE_CPUS_NUMBER: 2
|
||||
@@ -53,9 +64,6 @@ jobs:
|
||||
MEMORY_AMOUNT=${{ env.MINIKUBE_MEMORY_AMOUNT }} \
|
||||
CPUS_NUMBER=${{ env.MINIKUBE_CPUS_NUMBER }}
|
||||
|
||||
- name: Jenkins Operator - e2e
|
||||
run: make e2e E2E_TEST_ARGS='-ginkgo.v'
|
||||
|
||||
- name: Jenkins Operator - Helm Chart tests
|
||||
run: |
|
||||
git reset --hard
|
||||
@@ -7,7 +7,9 @@ on:
|
||||
- 'backup/pvc/**'
|
||||
|
||||
push:
|
||||
branches: ["master"]
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
tags: ["*"]
|
||||
paths:
|
||||
- 'backup/pvc/**'
|
||||
|
||||
@@ -17,10 +17,10 @@ jobs:
|
||||
name: Publish nightly snapshot
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
- name: Prep - check out code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up env vars
|
||||
- name: Prep - Set up env vars
|
||||
run: |
|
||||
echo "GO111MODULE=on" >> $GITHUB_ENV
|
||||
echo "CHANGE_MINIKUBE_NONE_USER=true" >> $GITHUB_ENV
|
||||
@@ -28,20 +28,31 @@ jobs:
|
||||
echo "MINIKUBE_WANTREPORTERRORPROMPT=false" >> $GITHUB_ENV
|
||||
echo "GO_VERSION=v$(sed -n 's/GO_VERSION=//p' config.base.env)" >> $GITHUB_ENV
|
||||
echo "HELM_VERSION=v$(sed -n 's/HELM_VERSION=//p' config.base.env)" >> $GITHUB_ENV
|
||||
echo "KIND_CLUSTER_NAME=$(sed -n 's/KIND_CLUSTER_NAME=//p' config.base.env)" >> $GITHUB_ENV
|
||||
echo "GOPATH=/home/runner/go" >> $GITHUB_ENV
|
||||
|
||||
- name: Prepare go environment
|
||||
- name: Prep - setup BATS
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
uses: mig4/setup-bats@v1
|
||||
with:
|
||||
bats-version: 1.9.0
|
||||
|
||||
- name: Prep - setup Bats libs
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
uses: brokenpip3/setup-bats-libs@0.1.0
|
||||
|
||||
- name: Prep - go environment
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ${{ env.GO_VERSION }}
|
||||
|
||||
- name: Ensure Golang runtime dependencies
|
||||
- name: Prep - Ensure Golang runtime dependencies
|
||||
run: make go-dependencies
|
||||
|
||||
- name: Verify code formatting
|
||||
- name: Test - verify code formatting
|
||||
run: make verify
|
||||
|
||||
- name: Prepare environment for e2e
|
||||
- name: Prep - Minikube setup
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
run: |
|
||||
sudo apt-get update
|
||||
@@ -53,11 +64,11 @@ jobs:
|
||||
MEMORY_AMOUNT=${{ env.MINIKUBE_MEMORY_AMOUNT }} \
|
||||
CPUS_NUMBER=${{ env.MINIKUBE_CPUS_NUMBER }}
|
||||
|
||||
- name: Jenkins Operator - e2e
|
||||
- name: Test - e2e
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
run: make e2e E2E_TEST_ARGS='-ginkgo.v'
|
||||
|
||||
- name: Jenkins Operator - Helm Chart tests
|
||||
- name: Test - Helm Chart
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
run: |
|
||||
git reset --hard
|
||||
@@ -65,14 +76,29 @@ jobs:
|
||||
eval $(bin/minikube docker-env)
|
||||
make helm-e2e E2E_TEST_ARGS='-ginkgo.v'
|
||||
|
||||
- name: Login to Quay.io
|
||||
- name: Prep - Destroy minikube
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
run: |
|
||||
make minikube-destroy
|
||||
|
||||
- name: Prep - Kind setup
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
uses: helm/kind-action@v1.5.0
|
||||
with:
|
||||
cluster_name: ${{env.KIND_CLUSTER_NAME}}
|
||||
|
||||
- name: Test - bats
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
run: make bats-tests
|
||||
|
||||
- name: Post - Login to Quay.io
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ secrets.QUAYIO_USERNAME }}
|
||||
password: ${{ secrets.QUAYIO_TOKEN }}
|
||||
|
||||
- name: Release Container Runtime
|
||||
- name: Post - Push image
|
||||
run: |
|
||||
git reset --hard
|
||||
make container-runtime-snapshot-push
|
||||
Reference in New Issue
Block a user