mirror of
https://github.com/jenkinsci/kubernetes-operator.git
synced 2026-10-09 01:21:12 +02:00
chore: update jenkins and plugins to latest lts, update gh actions, add flake, remove minikube and use kind (#974)
- update to latest jenkins lts - update github actions - add nix flake (experimental, build artifacts still wip) - remove minikube and use kind for a better experience
This commit is contained in:
@@ -12,9 +12,9 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
- name: Codespell
|
||||
uses: codespell-project/actions-codespell@v1
|
||||
uses: codespell-project/actions-codespell@v2
|
||||
with:
|
||||
check_filenames: true
|
||||
ignore_words_list: aks,ags,startin
|
||||
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
steps:
|
||||
# Checks out a copy of your repository on the ubuntu-latest machine
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive # Fetch the Docsy theme
|
||||
fetch-depth: 0
|
||||
@@ -45,7 +45,7 @@ jobs:
|
||||
# Sets up node - required by Hugo
|
||||
- name: Setup Node
|
||||
if: env.IS_CHANGED == 'true'
|
||||
uses: actions/setup-node@v1
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '12.x'
|
||||
|
||||
@@ -77,7 +77,7 @@ jobs:
|
||||
# Creates pull request with generated docs
|
||||
- name: Create Pull Request
|
||||
if: env.IS_CHANGED == 'true'
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
uses: peter-evans/create-pull-request@v6
|
||||
with:
|
||||
commit-message: Auto-updated docs
|
||||
branch: docs-generator
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up env vars
|
||||
run: |
|
||||
@@ -51,7 +51,7 @@ jobs:
|
||||
cp chart/jenkins-operator/crds/jenkins-crd.yaml deploy/crds/jenkins.io_jenkins_crd.yaml
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
uses: peter-evans/create-pull-request@v6
|
||||
with:
|
||||
commit-message: Auto-updated Kubernetes Manifests
|
||||
branch: manifest-deploy-update
|
||||
|
||||
@@ -12,7 +12,7 @@ jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v8
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
operations-per-run: 200
|
||||
|
||||
@@ -26,18 +26,18 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- 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 "GO_VERSION=v$(sed -n 's/GO_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
||||
echo "HELM_VERSION=v$(sed -n 's/HELM_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
||||
echo "KIND_CLUSTER_NAME=$(sed -n 's/KIND_CLUSTER_NAME=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
||||
echo "GOPATH=/home/runner/go" >> $GITHUB_ENV
|
||||
|
||||
- name: Prepare go environment
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{ env.GO_VERSION }}
|
||||
|
||||
@@ -45,7 +45,7 @@ jobs:
|
||||
run: make go-dependencies
|
||||
|
||||
- name: Setup Bats and libs
|
||||
uses: brokenpip3/setup-bats-libs@1.5.2
|
||||
uses: bats-core/bats-action@1.5.5
|
||||
with:
|
||||
support-path: "${{ github.workspace }}/.bats/bats-support"
|
||||
assert-path: "${{ github.workspace }}/.bats/bats-assert"
|
||||
@@ -53,7 +53,7 @@ jobs:
|
||||
file-path: "${{ github.workspace }}/.bats/bats-file"
|
||||
|
||||
- name: Kind setup
|
||||
uses: helm/kind-action@v1.5.0
|
||||
uses: helm/kind-action@v1.9.0
|
||||
with:
|
||||
cluster_name: ${{env.KIND_CLUSTER_NAME}}
|
||||
|
||||
|
||||
@@ -19,10 +19,6 @@ on:
|
||||
- 'backup/**'
|
||||
- '*.md'
|
||||
|
||||
env:
|
||||
MINIKUBE_CPUS_NUMBER: 2
|
||||
MINIKUBE_MEMORY_AMOUNT: 6144
|
||||
|
||||
jobs:
|
||||
run-tests:
|
||||
if: github.event.pull_request.draft == false
|
||||
@@ -30,20 +26,18 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- 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 "GO_VERSION=v$(sed -n 's/GO_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
||||
echo "HELM_VERSION=v$(sed -n 's/HELM_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
||||
echo "KIND_CLUSTER_NAME=$(sed -n 's/KIND_CLUSTER_NAME=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
||||
echo "GOPATH=/home/runner/go" >> $GITHUB_ENV
|
||||
|
||||
- name: Prepare go environment
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{ env.GO_VERSION }}
|
||||
|
||||
@@ -53,16 +47,30 @@ jobs:
|
||||
- name: Verify code formatting
|
||||
run: make verify
|
||||
|
||||
- name: Kind setup
|
||||
uses: helm/kind-action@v1.9.0
|
||||
with:
|
||||
cluster_name: ${{env.KIND_CLUSTER_NAME}}
|
||||
config: kind-cluster.yaml
|
||||
|
||||
- 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 }}
|
||||
sudo mkdir -p $HOME/.kube
|
||||
sudo chown -R $USER $HOME/.kube
|
||||
|
||||
- name: Jenkins Operator - e2e - list tests
|
||||
run: make e2e E2E_TEST_ARGS='-ginkgo.v -ginkgo.dryRun'
|
||||
|
||||
- name: Jenkins Operator - e2e
|
||||
run: make e2e E2E_TEST_ARGS='-ginkgo.v'
|
||||
|
||||
- name: Debug
|
||||
if: failure()
|
||||
shell: bash
|
||||
continue-on-error: true
|
||||
run: |
|
||||
randomns=$(kubectl get ns| grep -i 'ns[0-9]\+' |cut -d ' ' -f 1)
|
||||
kubectl get pods -n ${randomns}
|
||||
kubectl get events -n ${randomns}
|
||||
|
||||
@@ -19,10 +19,6 @@ on:
|
||||
- 'backup/**'
|
||||
- '*.md'
|
||||
|
||||
env:
|
||||
MINIKUBE_CPUS_NUMBER: 2
|
||||
MINIKUBE_MEMORY_AMOUNT: 6144
|
||||
|
||||
jobs:
|
||||
run-tests:
|
||||
if: github.event.pull_request.draft == false
|
||||
@@ -30,20 +26,18 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- 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 "GO_VERSION=v$(sed -n 's/GO_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
||||
echo "HELM_VERSION=v$(sed -n 's/HELM_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
||||
echo "KIND_CLUSTER_NAME=$(sed -n 's/KIND_CLUSTER_NAME=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
||||
echo "GOPATH=/home/runner/go" >> $GITHUB_ENV
|
||||
|
||||
- name: Prepare go environment
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{ env.GO_VERSION }}
|
||||
|
||||
@@ -53,20 +47,21 @@ jobs:
|
||||
- name: Verify code formatting
|
||||
run: make verify
|
||||
|
||||
- name: Kind setup
|
||||
uses: helm/kind-action@v1.9.0
|
||||
with:
|
||||
cluster_name: ${{env.KIND_CLUSTER_NAME}}
|
||||
config: kind-cluster.yaml
|
||||
|
||||
- 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 }}
|
||||
sudo mkdir -p $HOME/.kube
|
||||
sudo chown -R $USER $HOME/.kube
|
||||
|
||||
- name: Jenkins Operator - Helm Chart tests
|
||||
run: |
|
||||
git reset --hard
|
||||
make helm-lint
|
||||
eval $(bin/minikube docker-env)
|
||||
make helm-e2e E2E_TEST_ARGS='-ginkgo.v'
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Check envs
|
||||
run: make -C backup/pvc check-env
|
||||
@@ -46,7 +46,7 @@ jobs:
|
||||
|
||||
- name: Login to Quay.io
|
||||
if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v2
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ secrets.QUAYIO_USERNAME }}
|
||||
|
||||
@@ -17,7 +17,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Deploy Helm chart
|
||||
run: |
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
|
||||
# Creates pull request with new chart version
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
uses: peter-evans/create-pull-request@v6
|
||||
with:
|
||||
commit-message: Release Helm chart ${{ github.event.inputs.chartVersion }}
|
||||
branch: helm-chart-release-${{ github.event.inputs.chartVersion }}
|
||||
|
||||
@@ -8,41 +8,33 @@ on:
|
||||
description: "Flag for skipping the tests. If set to true (without quotation marks), the workflow will skip tests and go straight to releasing the nightly build. Use with caution!"
|
||||
required: false
|
||||
|
||||
env:
|
||||
MINIKUBE_CPUS_NUMBER: 2
|
||||
MINIKUBE_MEMORY_AMOUNT: 6144
|
||||
|
||||
jobs:
|
||||
publish-image:
|
||||
name: Publish nightly snapshot
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Prep - check out code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Prep - 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 "KIND_CLUSTER_NAME=$(sed -n 's/KIND_CLUSTER_NAME=//p' config.base.env)" >> $GITHUB_ENV
|
||||
echo "GO_VERSION=v$(sed -n 's/GO_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
||||
echo "HELM_VERSION=v$(sed -n 's/HELM_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
||||
echo "KIND_CLUSTER_NAME=$(sed -n 's/KIND_CLUSTER_NAME=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
||||
echo "GOPATH=/home/runner/go" >> $GITHUB_ENV
|
||||
|
||||
- name: Prep - setup BATS
|
||||
- name: Prep - setup Bats and bats libs
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
uses: mig4/setup-bats@v1
|
||||
uses: bats-core/bats-action@1.5.5
|
||||
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
|
||||
support-path: "${{ github.workspace }}/.bats/bats-support"
|
||||
assert-path: "${{ github.workspace }}/.bats/bats-assert"
|
||||
detik-path: "${{ github.workspace }}/.bats/bats-detik"
|
||||
file-path: "${{ github.workspace }}/.bats/bats-file"
|
||||
|
||||
- name: Prep - go environment
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{ env.GO_VERSION }}
|
||||
|
||||
@@ -57,12 +49,15 @@ jobs:
|
||||
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 }}
|
||||
sudo mkdir -p $HOME/.kube
|
||||
sudo chown -R $USER $HOME/.kube
|
||||
|
||||
- name: Prep - Kind setup
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
uses: helm/kind-action@v1.9.0
|
||||
with:
|
||||
cluster_name: ${{env.KIND_CLUSTER_NAME}}
|
||||
config: kind-cluster.yaml
|
||||
|
||||
- name: Test - e2e
|
||||
if: ${{ github.event.inputs.skipTests != 'true' }}
|
||||
@@ -73,26 +68,14 @@ jobs:
|
||||
run: |
|
||||
git reset --hard
|
||||
make helm-lint
|
||||
eval $(bin/minikube docker-env)
|
||||
make helm-e2e E2E_TEST_ARGS='-ginkgo.v'
|
||||
|
||||
- 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@v2
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ secrets.QUAYIO_USERNAME }}
|
||||
|
||||
@@ -9,7 +9,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
echo "GOPATH=/home/runner/go" >> $GITHUB_ENV
|
||||
|
||||
- name: Prepare go environment
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{ env.GO_VERSION }}
|
||||
|
||||
@@ -45,7 +45,7 @@ jobs:
|
||||
tag_name: ${{ env.VERSION }}
|
||||
|
||||
- name: Login to Quay.io
|
||||
uses: docker/login-action@v2
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ secrets.QUAYIO_USERNAME }}
|
||||
|
||||
Reference in New Issue
Block a user