Skip to content

[noissue]: Bump go.uber.org/zap from 1.24.0 to 1.25.0 #2212

[noissue]: Bump go.uber.org/zap from 1.24.0 to 1.25.0

[noissue]: Bump go.uber.org/zap from 1.24.0 to 1.25.0 #2212

Workflow file for this run

name: Pulp CI
on:
push:
branches:
- main
tags:
- '*'
workflow_dispatch:
pull_request:
branches:
- main
schedule:
# * is a special character in YAML so you have to quote this string
# runs at 3:00 UTC daily
- cron: '00 3 * * *'
env:
COLORTERM: 'yes'
TERM: 'xterm-256color'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
# by default, it uses a depth of 1
# this fetches all history so that we can read each commit
fetch-depth: 0
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: '3.8'
- name: Setup Go environment
uses: actions/setup-go@v4
with:
go-version-file: 'go.mod'
cache: true
- name: Check commit message
if: github.event_name == 'pull_request'
env:
GITHUB_CONTEXT: ${{ github.event.pull_request.commits_url }}
run: |
echo ::group::REQUESTS
pip install pygithub
echo ::endgroup::
for sha in $(curl $GITHUB_CONTEXT | jq '.[].sha' | sed 's/"//g')
do
python .ci/scripts/validate_commit_message.py $sha
VALUE=$?
if [ "$VALUE" -gt 0 ]; then
exit $VALUE
fi
done
shell: bash
- name: Check code format
run: |
make fmt vet
shell: bash
bundle:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Check if bundle files are updated
run: |
.ci/scripts/bundle_check.sh
shell: bash
bundle-upgrade:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Go environment
uses: actions/[email protected]
with:
go-version: '1.18.3'
cache: true
- name: Install kind
run: |
.ci/scripts/kind_with_registry.sh
shell: bash
- name: Install OLM
run: |
make sdkbin OPERATOR_SDK_VERSION=v1.29.0 LOCALBIN=/tmp
/tmp/operator-sdk olm install
shell: bash
- uses: actions/checkout@v2
with:
fetch-depth: 0
repository: pulp/pulp-operator
ref: 1.0.0-alpha.8
- name: Install Pulp CRD
run: |
make install
shell: bash
- name: Build bundle image
run: |
make bundle-build bundle-push BUNDLE_IMG=localhost:5001/pulp-operator-bundle:old
shell: bash
- name: Install the operator
run: |
/tmp/operator-sdk run bundle --skip-tls localhost:5001/pulp-operator-bundle:old
shell: bash
- uses: actions/checkout@v2
- name: Build bundle image
run: |
make bundle-build bundle-push BUNDLE_IMG=localhost:5001/pulp-operator-bundle:new
shell: bash
- name: Upgrade the operator
run: |
/tmp/operator-sdk run bundle-upgrade --use-http localhost:5001/pulp-operator-bundle:new
shell: bash
envtest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Go environment
uses: actions/setup-go@v4
with:
go-version-file: 'go.mod'
cache: true
- name: Check code format and generate manifests
run: |
make test
shell: bash
helm:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: '3.8'
- name: Setup Go environment
uses: actions/setup-go@v4
with:
go-version-file: 'go.mod'
cache: true
- name: Install httpie
run: |
echo ::group::HTTPIE
sudo apt-get update -yq
sudo -E apt-get -yq --no-install-suggests --no-install-recommends install httpie
echo ::endgroup::
echo "HTTPIE_CONFIG_DIR=$GITHUB_WORKSPACE/.ci/assets/httpie/" >> $GITHUB_ENV
echo "CI_TEST=true" >> $GITHUB_ENV
echo "TEST=pulp" >> $GITHUB_ENV
echo "INGRESS_TYPE=nodeport" >> $GITHUB_ENV
shell: bash
- name: Updating registries configuration
run: |
if [ -f "/etc/docker/daemon.json" ]
then
echo "INFO:
Updating docker configuration
"
echo "$(cat /etc/docker/daemon.json | jq -s '.[0] + {
"insecure-registries" : ["ingress.local"]
}')" | sudo tee /etc/docker/daemon.json
sudo service docker restart || true
fi
if [ -f "/etc/containers/registries.conf" ]
then
echo "INFO:
Updating registries configuration
"
echo "[registries.insecure]
registries = ['ingress.local']
" | sudo tee -a /etc/containers/registries.conf
fi
shell: bash
- name: Start minikube
run: |
minikube start --memory=max --cpus=max --vm-driver=docker --extra-config=apiserver.service-node-port-range=80-32000
minikube addons enable metrics-server
# now you can run kubectl to see the pods in the cluster
- name: Try the cluster !
run: kubectl get pods -A
- name: Setup a minikube docker env
run: minikube -p minikube docker-env | grep "export" | sed 's/export //' | sed 's/"//g' >> $GITHUB_ENV
- name: Install Pulp Operator
run: |
make docker-build
kubectl create ns pulp-operator-system
kubectl config set-context --current --namespace=pulp-operator-system
helm repo add pulp-operator https://github.com/pulp/pulp-k8s-resources/raw/main/helm-charts/ --force-update
helm install --set namespace=pulp-operator-system pulp pulp-operator/pulp-operator
kubectl apply -f .ci/assets/kubernetes/pulp-admin-password.secret.yaml
kubectl apply -f config/samples/simple.yaml
shell: bash
- name: Check and wait pulp-operator deploy
run: kubectl wait --for condition=Pulp-Operator-Finished-Execution pulp/example-pulp --timeout=600s
shell: bash
- name: Test all components
run: |
git clone --depth=1 https://github.com/pulp/pulp_ansible.git
git clone --depth=1 https://github.com/pulp/pulp_container.git
.ci/scripts/pulp_tests.sh -m
shell: bash
env:
PY_COLORS: '1'
- name: Logs
if: always()
run: |
.github/workflows/scripts/show_logs.sh
helm repo list
helm list
shell: bash
containerized:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request'
steps:
- uses: actions/checkout@v2
with:
# by default, it uses a depth of 1
# this fetches all history so that we can read each commit
fetch-depth: 0
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: '3.8'
- name: Setup Go environment
uses: actions/setup-go@v4
with:
go-version-file: 'go.mod'
cache: true
- name: Install httpie
run: |
echo ::group::HTTPIE
sudo apt-get update -yq
sudo -E apt-get -yq --no-install-suggests --no-install-recommends install httpie
echo ::endgroup::
echo "HTTPIE_CONFIG_DIR=$GITHUB_WORKSPACE/.ci/assets/httpie/" >> $GITHUB_ENV
echo "CI_TEST=true" >> $GITHUB_ENV
echo "TEST=pulp" >> $GITHUB_ENV
echo "INGRESS_TYPE=nodeport" >> $GITHUB_ENV
shell: bash
- name: Updating registries configuration
run: |
if [ -f "/etc/docker/daemon.json" ]
then
echo "INFO:
Updating docker configuration
"
echo "$(cat /etc/docker/daemon.json | jq -s '.[0] + {
"insecure-registries" : ["ingress.local"]
}')" | sudo tee /etc/docker/daemon.json
sudo service docker restart || true
fi
if [ -f "/etc/containers/registries.conf" ]
then
echo "INFO:
Updating registries configuration
"
echo "[registries.insecure]
registries = ['ingress.local']
" | sudo tee -a /etc/containers/registries.conf
fi
shell: bash
- name: Start minikube
run: |
minikube start --memory=max --cpus=max --vm-driver=docker --extra-config=apiserver.service-node-port-range=80-32000
minikube addons enable metrics-server
# now you can run kubectl to see the pods in the cluster
- name: Try the cluster !
run: kubectl get pods -A
- name: Setup a minikube docker env
run: minikube -p minikube docker-env | grep "export" | sed 's/export //' | sed 's/"//g' >> $GITHUB_ENV
- name: Uninstalling GHA kustomize
run: |
# hack for uninstalling kustomize from GHA
mv /usr/local/bin/kustomize /usr/local/bin/ghakustomize
make kustomize
mv ./bin/kustomize /usr/local/bin/kustomize
kustomize version
shell: bash
- name: Check code format and generate manifests
run: |
make manifests generate fmt vet
shell: bash
- name: Deploy pulp-operator to K8s
run: |
make docker-build deploy
kubectl get namespace
kubectl config set-context --current --namespace=pulp-operator-system
kubectl apply -f .ci/assets/kubernetes/pulp-admin-password.secret.yaml
kubectl apply -f config/samples/simple.yaml
shell: bash
- name: Check and wait pulp-operator deploy
run: kubectl wait --for condition=Pulp-Operator-Finished-Execution pulp/example-pulp --timeout=600s
shell: bash
- name: KubeLinter
if: github.event_name == 'pull_request'
run: .ci/scripts/kubelinter.sh
- name: Test all components
run: |
git clone --depth=1 https://github.com/pulp/pulp_ansible.git
git clone --depth=1 https://github.com/pulp/pulp_container.git
.ci/scripts/pulp_tests.sh -m
shell: bash
env:
PY_COLORS: '1'
- name: Logs
if: always()
run: .github/workflows/scripts/show_logs.sh
components:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- COMPONENT_TYPE: ingress
- COMPONENT_TYPE: nodeport
- COMPONENT_TYPE: telemetry
steps:
- uses: actions/checkout@v2
with:
# by default, it uses a depth of 1
# this fetches all history so that we can read each commit
fetch-depth: 0
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: '3.8'
- name: Setup Go environment
uses: actions/setup-go@v4
with:
go-version-file: 'go.mod'
cache: true
- name: Install httpie
run: |
echo ::group::HTTPIE
sudo apt-get update -yq
sudo -E apt-get -yq --no-install-suggests --no-install-recommends install httpie
echo ::endgroup::
echo "HTTPIE_CONFIG_DIR=$GITHUB_WORKSPACE/.ci/assets/httpie/" >> $GITHUB_ENV
echo "CI_TEST=true" >> $GITHUB_ENV
echo "TEST=pulp" >> $GITHUB_ENV
echo "COMPONENT_TYPE=${{ matrix.COMPONENT_TYPE }}" >> $GITHUB_ENV
shell: bash
- name: Updating registries configuration
run: |
if [ -f "/etc/docker/daemon.json" ]
then
echo "INFO:
Updating docker configuration
"
echo "$(cat /etc/docker/daemon.json | jq -s '.[0] + {
"insecure-registries" : ["ingress.local"]
}')" | sudo tee /etc/docker/daemon.json
sudo service docker restart || true
fi
if [ -f "/etc/containers/registries.conf" ]
then
echo "INFO:
Updating registries configuration
"
echo "[registries.insecure]
registries = ['ingress.local']
" | sudo tee -a /etc/containers/registries.conf
fi
shell: bash
- name: Start minikube
run: |
minikube start --memory=max --cpus=max --vm-driver=docker --extra-config=apiserver.service-node-port-range=80-32000
minikube addons enable metrics-server
minikube addons enable ingress
# now you can run kubectl to see the pods in the cluster
- name: Try the cluster !
run: kubectl get pods -A
- name: Setup a minikube docker env
run: minikube -p minikube docker-env | grep "export" | sed 's/export //' | sed 's/"//g' >> $GITHUB_ENV
- name: Uninstalling GHA kustomize
run: |
# hack for uninstalling kustomize from GHA
mv /usr/local/bin/kustomize /usr/local/bin/ghakustomize
make kustomize
mv ./bin/kustomize /usr/local/bin/kustomize
kustomize version
shell: bash
- name: Check code format and generate manifests
run: |
make manifests generate fmt vet
shell: bash
- name: Prepare Object Storage
run: |
.ci/scripts/prepare-object-storage.sh
shell: bash
- name: Deploy pulp-operator to K8s
run: |
make local
kubectl get namespace
kubectl config set-context --current --namespace=pulp-operator-system
kubectl apply -f .ci/assets/kubernetes/pulp-admin-password.secret.yaml
if [[ "$COMPONENT_TYPE" == "ingress" ]]; then
kubectl apply -f config/samples/simple.ingress.yaml
elif [[ "$COMPONENT_TYPE" == "telemetry" ]]; then
kubectl apply -f config/samples/telemetry.yaml
else
kubectl apply -f config/samples/simple.yaml
fi
shell: bash
- name: Check and wait pulp-operator deploy
run: kubectl wait --for condition=Pulp-Operator-Finished-Execution pulp/example-pulp --timeout=600s
shell: bash
- name: KubeLinter
if: github.event_name == 'pull_request'
run: .ci/scripts/kubelinter.sh
- name: Test all components
run: |
export INGRESS_TYPE=$COMPONENT_TYPE
git clone --depth=1 https://github.com/pulp/pulp_ansible.git
git clone --depth=1 https://github.com/pulp/pulp_container.git
.ci/scripts/pulp_tests.sh -m
if [[ "$COMPONENT_TYPE" == "telemetry" ]]; then
.ci/scripts/telemetry.sh
fi
shell: bash
env:
PY_COLORS: '1'
- name: Logs
if: always()
run: .github/workflows/scripts/show_logs.sh
galaxy:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- STORAGE: filesystem
- STORAGE: azure
- STORAGE: s3
steps:
- uses: actions/checkout@v2
with:
# by default, it uses a depth of 1
# this fetches all history so that we can read each commit
fetch-depth: 0
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: '3.8'
- name: Setup Go environment
uses: actions/setup-go@v4
with:
go-version-file: 'go.mod'
cache: true
- name: Install httpie
run: |
echo ::group::HTTPIE
sudo apt-get update -yq
sudo -E apt-get -yq --no-install-suggests --no-install-recommends install httpie
echo ::endgroup::
echo "HTTPIE_CONFIG_DIR=$GITHUB_WORKSPACE/.ci/assets/httpie/" >> $GITHUB_ENV
echo "CI_TEST=true" >> $GITHUB_ENV
echo "TEST=galaxy,galaxybackup,galaxyrestore" >> $GITHUB_ENV
echo "CI_TEST_STORAGE=${{ matrix.STORAGE }}" >> $GITHUB_ENV
echo "API_ROOT=/api/galaxy/pulp/" >> $GITHUB_ENV
shell: bash
- name: Start minikube
run: |
minikube start --memory=max --cpus=max --vm-driver=docker --extra-config=apiserver.service-node-port-range=80-32000
minikube addons enable metrics-server
# now you can run kubectl to see the pods in the cluster
- name: Try the cluster !
run: kubectl get pods -A
- name: Setup a minikube docker env
run: minikube -p minikube docker-env | grep "export" | sed 's/export //' | sed 's/"//g' >> $GITHUB_ENV
- name: Uninstalling GHA kustomize
run: |
# hack for uninstalling kustomize from GHA
mv /usr/local/bin/kustomize /usr/local/bin/ghakustomize
make kustomize
mv ./bin/kustomize /usr/local/bin/kustomize
kustomize version
shell: bash
- name: Rename kind to Galaxy
run: make rename manifests bundle generate CR_KIND=Galaxy CR_DOMAIN=ansible.com CR_PLURAL=galaxies APP_IMAGE=quay.io/pulp/galaxy-minimal WEB_IMAGE=quay.io/pulp/galaxy-web
- name: Check code format and generate manifests
run: |
make manifests generate fmt vet CR_KIND=Galaxy CR_DOMAIN=ansible.com CR_PLURAL=galaxies APP_IMAGE=quay.io/pulp/galaxy-minimal WEB_IMAGE=quay.io/pulp/galaxy-web
shell: bash
- name: Prepare Object Storage
run: |
.ci/scripts/prepare-object-storage.sh
shell: bash
- name: Deploy pulp-operator to K8s
run: |
make local CR_KIND=Galaxy CR_DOMAIN=ansible.com CR_PLURAL=galaxies APP_IMAGE=quay.io/pulp/galaxy-minimal WEB_IMAGE=quay.io/pulp/galaxy-web
kubectl get namespace
kubectl config set-context --current --namespace=pulp-operator-system
kubectl apply -f .ci/assets/kubernetes/pulp-admin-password.secret.yaml
kubectl apply -f .ci/assets/kubernetes/galaxy_sign.secret.yaml
kubectl apply -f .ci/assets/kubernetes/signing_scripts.configmap.yaml
if [[ "$CI_TEST_STORAGE" == "azure" ]]; then
kubectl apply -f .ci/assets/kubernetes/pulp-object-storage.azure.secret.yaml
kubectl apply -f config/samples/galaxy.azure.ci.yaml
elif [[ "$CI_TEST_STORAGE" == "s3" ]]; then
kubectl apply -f .ci/assets/kubernetes/pulp-object-storage.aws.secret.yaml
kubectl apply -f config/samples/galaxy.s3.ci.yaml
elif [[ "$CI_TEST_STORAGE" == "filesystem" ]]; then
kubectl apply -f config/samples/galaxy.yaml
fi
shell: bash
- name: Check and wait pulp-operator deploy
run: kubectl wait --for condition=Galaxy-Operator-Finished-Execution galaxy/galaxy-example --timeout=600s
shell: bash
- name: KubeLinter
if: github.event_name == 'pull_request'
run: .ci/scripts/kubelinter.sh
- name: Test
run: .ci/scripts/galaxy_ng-tests.sh -m
shell: bash
- name: Backup & Restore
run: CI_TEST=galaxy .ci/scripts/backup_and_restore.sh -m
shell: bash
env:
PY_COLORS: '1'
- name: Send Build details to Slack
id: slack
uses: slackapi/[email protected]
if: failure() && github.event_name != 'pull_request'
with:
payload: |
{
"text": "Galaxy Operator CI ${{ job.status }}\nhttps://github.com/pulp/pulp-operator/actions/runs/${{ github.run_id }}",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Galaxy Operator CI ${{ job.status }}\nhttps://github.com/pulp/pulp-operator/actions/runs/${{ github.run_id }}"
}
}
]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_PULP_CHANNEL }}
- name: Logs
if: always()
run: .github/workflows/scripts/show_logs.sh
upgrade:
runs-on: ubuntu-latest
if: github.ref_name != 'main'
strategy:
fail-fast: false
matrix:
include:
- INGRESS_TYPE: ingress
- INGRESS_TYPE: nodeport
steps:
- uses: actions/checkout@v2
with:
repository: pulp/pulp-operator
ref: main
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: '3.8'
- name: Setup Go environment
uses: actions/setup-go@v4
with:
go-version-file: 'go.mod'
cache: true
- name: Install httpie
run: |
echo ::group::HTTPIE
sudo apt-get update -yq
sudo -E apt-get -yq --no-install-suggests --no-install-recommends install httpie
echo ::endgroup::
echo "HTTPIE_CONFIG_DIR=$GITHUB_WORKSPACE/.ci/assets/httpie/" >> $GITHUB_ENV
echo "CI_TEST=true" >> $GITHUB_ENV
echo "TEST=pulp" >> $GITHUB_ENV
echo "INGRESS_TYPE=${{ matrix.INGRESS_TYPE }}" >> $GITHUB_ENV
shell: bash
- name: Updating registries configuration
run: |
if [ -f "/etc/docker/daemon.json" ]
then
echo "INFO:
Updating docker configuration
"
echo "$(cat /etc/docker/daemon.json | jq -s '.[0] + {
"insecure-registries" : ["ingress.local"]
}')" | sudo tee /etc/docker/daemon.json
sudo service docker restart || true
fi
if [ -f "/etc/containers/registries.conf" ]
then
echo "INFO:
Updating registries configuration
"
echo "[registries.insecure]
registries = ['ingress.local']
" | sudo tee -a /etc/containers/registries.conf
fi
shell: bash
- name: Start minikube
run: |
minikube start --memory=max --cpus=max --vm-driver=docker --extra-config=apiserver.service-node-port-range=80-32000
minikube addons enable metrics-server
minikube addons enable ingress
# now you can run kubectl to see the pods in the cluster
- name: Try the cluster !
run: kubectl get pods -A
- name: Setup a minikube docker env
run: minikube -p minikube docker-env | grep "export" | sed 's/export //' | sed 's/"//g' >> $GITHUB_ENV
- name: Uninstalling GHA kustomize
run: |
# hack for uninstalling kustomize from GHA
mv /usr/local/bin/kustomize /usr/local/bin/ghakustomize
make kustomize
mv ./bin/kustomize /usr/local/bin/kustomize
kustomize version
shell: bash
- name: Prepare Object Storage
run: |
.ci/scripts/prepare-object-storage.sh
shell: bash
- name: Deploy pulp-operator to K8s
run: |
make local
kubectl get namespace
kubectl config set-context --current --namespace=pulp-operator-system
kubectl apply -f .ci/assets/kubernetes/pulp-admin-password.secret.yaml
if [[ "$INGRESS_TYPE" == "ingress" ]]; then
kubectl apply -f config/samples/simple.ingress.yaml
else
kubectl apply -f config/samples/simple.yaml
kubectl patch pulp example-pulp --type=merge -p '{"spec":{"api":{"strategy":{"type":"Recreate"}}}}'
fi
shell: bash
- name: Check and wait pulp-operator deploy [before upgrade]
run: kubectl wait --for condition=Pulp-Operator-Finished-Execution pulp/example-pulp --timeout=600s
shell: bash
- name: Logs [before upgrade]
if: always()
run: .github/workflows/scripts/show_logs.sh
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Upgrade pulp-operator
run: |
make install
sleep 1
kubectl get pulps.repo-manager.pulpproject.org
sudo systemctl stop pulp-operator.service
make local
if [[ "$INGRESS_TYPE" == "ingress" ]]; then
kubectl patch pulp example-pulp --type=merge -p '{"spec": { "web": {"replicas": 1 }}}'
kubectl patch pulp example-pulp --type=merge -p '{"spec": { "ingress_annotations": { "nginx.ingress.kubernetes.io/proxy-body-size": "0" } }}'
fi
sleep 10
shell: bash
- name: Check and wait pulp-operator deploy
run: kubectl wait --for condition=Pulp-Operator-Finished-Execution pulp/example-pulp --timeout=600s
shell: bash
- name: KubeLinter
if: github.event_name == 'pull_request'
run: .ci/scripts/kubelinter.sh
- name: Test all components
run: |
git clone --depth=1 https://github.com/pulp/pulp_ansible.git
git clone --depth=1 https://github.com/pulp/pulp_container.git
.ci/scripts/pulp_tests.sh -m
shell: bash
env:
PY_COLORS: '1'
- name: Logs
if: always()
run: .github/workflows/scripts/show_logs.sh
migrate:
runs-on: ubuntu-latest
if: github.ref_name != 'ansible'
strategy:
fail-fast: false
matrix:
include:
- INGRESS_TYPE: nodeport
steps:
- uses: actions/checkout@v2
with:
repository: pulp/pulp-operator
ref: ansible
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: '3.8'
- name: Install httpie
run: |
echo ::group::HTTPIE
sudo apt-get update -yq
sudo -E apt-get -yq --no-install-suggests --no-install-recommends install httpie
echo ::endgroup::
echo "HTTPIE_CONFIG_DIR=$GITHUB_WORKSPACE/.ci/assets/httpie/" >> $GITHUB_ENV
echo "CI_TEST=true" >> $GITHUB_ENV
echo "TEST=pulp" >> $GITHUB_ENV
echo "INGRESS_TYPE=${{ matrix.INGRESS_TYPE }}" >> $GITHUB_ENV
shell: bash
- name: Updating registries configuration
run: |
if [ -f "/etc/docker/daemon.json" ]
then
echo "INFO:
Updating docker configuration
"
echo "$(cat /etc/docker/daemon.json | jq -s '.[0] + {
"insecure-registries" : ["ingress.local"]
}')" | sudo tee /etc/docker/daemon.json
sudo service docker restart || true
fi
if [ -f "/etc/containers/registries.conf" ]
then
echo "INFO:
Updating registries configuration
"
echo "[registries.insecure]
registries = ['ingress.local']
" | sudo tee -a /etc/containers/registries.conf
fi
shell: bash
- name: Start minikube
run: |
minikube start --memory=max --cpus=max --vm-driver=docker --extra-config=apiserver.service-node-port-range=80-32000
minikube addons enable metrics-server
minikube addons enable ingress
# now you can run kubectl to see the pods in the cluster
- name: Try the cluster !
run: kubectl get pods -A
- name: Setup a minikube docker env
run: minikube -p minikube docker-env | grep "export" | sed 's/export //' | sed 's/"//g' >> $GITHUB_ENV
- name: Uninstalling GHA kustomize
run: |
# hack for uninstalling kustomize from GHA
mv /usr/local/bin/kustomize /usr/local/bin/ghakustomize
make kustomize
mv ./bin/kustomize /usr/local/bin/kustomize
kustomize version
shell: bash
- name: Prepare Object Storage
run: |
.ci/scripts/prepare-object-storage.sh
shell: bash
- name: Deploy pulp-operator to K8s
run: |
sudo -E make docker-build IMG=quay.io/pulp/pulp-operator:ansible-devel
make deploy IMG=quay.io/pulp/pulp-operator:ansible-devel
kubectl get namespace
kubectl config set-context --current --namespace=pulp-operator-system
kubectl apply -f .ci/assets/kubernetes/pulp-admin-password.secret.yaml
kubectl apply -f-<<EOF
apiVersion: v1
kind: Secret
metadata:
name: container-auth
stringData:
container_auth_private_key.pem: |-
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIMgYinafJVjYHHnAk8w3EOiZxJLK5sXaXtSMT6APWYq+oAoGCCqGSM49
AwEHoUQDQgAEzWXdtJTvHinfnN2xzn71etmfkBTmDMZHMMQmSIofMNMcl8ATneZU
pGplUzS5UspaSUomdfkJ0d92Mk0DDXLV7A==
-----END EC PRIVATE KEY-----
container_auth_public_key.pem: |-
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzWXdtJTvHinfnN2xzn71etmfkBTm
DMZHMMQmSIofMNMcl8ATneZUpGplUzS5UspaSUomdfkJ0d92Mk0DDXLV7A==
-----END PUBLIC KEY-----
EOF
if [[ "$INGRESS_TYPE" == "ingress" ]]; then
kubectl apply -f config/samples/simple.ingress.yaml
else
kubectl apply -f config/samples/pulpproject_v1beta1_pulp_cr.ci.yaml
fi
shell: bash
- name: Check and wait pulp-operator deploy [before migration]
run: kubectl wait --for condition=Pulp-Operator-Finished-Execution pulp/example-pulp --timeout=600s
shell: bash
- name: Logs [before migration]
if: always()
run: .github/workflows/scripts/show_logs.sh
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Go environment
uses: actions/[email protected]
with:
go-version: '1.18.3'
cache: true
- name: Migrate to golang version
run: |
grep repo-manager * -rl | xargs sed -i 's/repo-manager/pulp/g'
mv apis/{repo-manager,pulp}.pulpproject.org
kubectl get clusterroles -oname|grep pulp|xargs oc delete
kubectl delete roles --all
kubectl delete deployment pulp-operator-controller-manager
sudo -E docker build -t quay.io/pulp/pulp-operator:go-devel .
make deploy IMG=quay.io/pulp/pulp-operator:go-devel
kubectl get pulps.pulp.pulpproject.org
shell: bash
- name: Check and wait pulp-operator deploy
run: kubectl wait --for condition=Pulp-Operator-Finished-Execution pulp/example-pulp --timeout=600s
shell: bash
- name: KubeLinter
if: github.event_name == 'pull_request'
run: .ci/scripts/kubelinter.sh
- name: Test all components
run: |
git clone --depth=1 https://github.com/pulp/pulp_ansible.git
git clone --depth=1 https://github.com/pulp/pulp_container.git
.ci/scripts/pulp_tests.sh -m
shell: bash
env:
PY_COLORS: '1'
- name: Logs
if: always()
run: .github/workflows/scripts/show_logs.sh
deploy:
runs-on: ubuntu-latest
needs: [containerized, components, galaxy]
if: github.event_name != 'pull_request'
steps:
- uses: actions/checkout@v2
with:
# by default, it uses a depth of 1
# this fetches all history so that we can read each commit
fetch-depth: 0
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: '3.8'
- name: Setup Go environment
uses: actions/setup-go@v4
with:
go-version-file: 'go.mod'
cache: true
- name: Install httpie
run: |
echo ::group::HTTPIE
sudo apt-get update -yq
sudo -E apt-get -yq --no-install-suggests --no-install-recommends install httpie
echo ::endgroup::
echo "HTTPIE_CONFIG_DIR=$GITHUB_WORKSPACE/.ci/assets/httpie/" >> $GITHUB_ENV
echo "CI_TEST=true" >> $GITHUB_ENV
shell: bash
- name: Uninstalling GHA kustomize
run: |
# hack for uninstalling kustomize from GHA
mv /usr/local/bin/kustomize /usr/local/bin/ghakustomize
make kustomize
mv ./bin/kustomize /usr/local/bin/kustomize
kustomize version
shell: bash
- name: Quay login
env:
QUAY_BOT_PASSWORD: ${{ secrets.QUAY_BOT_PASSWORD }}
QUAY_BOT_USERNAME: pulp+github
run: echo "$QUAY_BOT_PASSWORD" | docker login -u "$QUAY_BOT_USERNAME" --password-stdin quay.io
- name: Build and Push images
run: |
make docker-buildx bundle-build bundle-push catalog-build catalog-push
shell: bash