[noissue]: Bump go.uber.org/zap from 1.24.0 to 1.25.0 #2212
Workflow file for this run
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
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 |