Skip to content

Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.47.6 to 1.47.7 #841

Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.47.6 to 1.47.7

Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.47.6 to 1.47.7 #841

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
golang-tests:
name: Go unit tests
timeout-minutes: 30
strategy:
fail-fast: true
runs-on: ubuntu-latest
env:
TOOLS_PATH: "/opt/tools/bin"
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: Set up Go release
uses: actions/setup-go@v3
with:
go-version: '1.21'
check-latest: true
- name: Install tools
run: |
mkdir -p $TOOLS_PATH
echo $TOOLS_PATH >> $GITHUB_PATH
curl -LO https://dl.k8s.io/release/v$KUBECTL_VERSION/bin/linux/amd64/kubectl
curl -LO "https://dl.k8s.io/v$KUBECTL_VERSION/bin/linux/amd64/kubectl.sha256"
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
chmod +x kubectl
cp kubectl "$TOOLS_PATH"
rm kubectl
env:
KUBECTL_VERSION: 1.25.1
- name: Run tests
run:
make test
env:
PXC_OPERATOR_VERSION: 1.13.0
PSMDB_OPERATOR_VERSION: 1.15.0
PG_OPERATOR_VERSION: 2.2.0
PERCONA_VERSION_SERVICE_URL: https://check-dev.percona.com/versions/v1
eks-e2e-tests:
name: E2E tests (EKS)
timeout-minutes: 80
concurrency: eks-e2e-tests
strategy:
fail-fast: true
runs-on: ubuntu-latest
env:
TOOLS_PATH: "/opt/tools/bin"
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: Set up Go release
uses: actions/setup-go@v3
with:
go-version: '1.21'
check-latest: true
- name: Build operator
run:
make build
- name: Install tools
run: |
mkdir -p $TOOLS_PATH
echo $TOOLS_PATH >> $GITHUB_PATH
# Kubectl
curl -LO https://dl.k8s.io/release/v$KUBECTL_VERSION/bin/linux/amd64/kubectl
curl -LO "https://dl.k8s.io/v$KUBECTL_VERSION/bin/linux/amd64/kubectl.sha256"
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
chmod +x kubectl
cp kubectl "$TOOLS_PATH"
rm kubectl
# Kuttl
curl -Lo ./kubectl-kuttl https://github.com/kudobuilder/kuttl/releases/download/v0.15.0/kubectl-kuttl_0.15.0_linux_x86_64
chmod +x ./kubectl-kuttl
mv ./kubectl-kuttl "$TOOLS_PATH"
# kubectl
curl -LO https://dl.k8s.io/release/v$KUBECTL_VERSION/bin/linux/amd64/kubectl
curl -LO "https://dl.k8s.io/v$KUBECTL_VERSION/bin/linux/amd64/kubectl.sha256"
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
chmod +x kubectl
cp kubectl "$TOOLS_PATH"
rm kubectl
# Install EKSCTL
ARCH=amd64
PLATFORM=$(uname -s)_$ARCH
curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$PLATFORM.tar.gz"
tar -xzf eksctl_$PLATFORM.tar.gz -C "$TOOLS_PATH"
chmod +x "$TOOLS_PATH"/eksctl
# Configure CLI access
mkdir "$HOME"/.aws
echo "[default]" >> "$HOME"/.aws/credentials
echo "aws_access_key_id="$EKSUID"" >> "${HOME}"/.aws/credentials
echo "aws_secret_access_key="$EKSKEY"" >> "${HOME}"/.aws/credentials
echo "[default]" >> "${HOME}"/.aws/config
echo "region = "$EKSREG"" >> "${HOME}"/.aws/config
env:
KUBECTL_VERSION: 1.25.1
EKSUID: ${{ secrets.EKSU }}
EKSKEY: ${{ secrets.EKSSAK }}
EKSREG: ${{ secrets.EKSREG }}
- name: Scale up cluster
run: |
eksctl scale nodegroup --cluster="$CLUSTER_NAME" --nodes=5 "$NODEPOOL_NAME" --wait
env:
CLUSTER_NAME: "dbaas-ci-20221005"
NODEPOOL_NAME: "terraform-node-dbaas-ci-20221005"
- name: Run upgrade tests
run: |
echo $TOOLS_PATH >> $GITHUB_PATH
export KUBECONFIG="${HOME}/.kube/config"
mkdir -p "${KUBECONFIG%/*}"
echo "$BASE64_KUBECONFIG_DBAAS"|base64 -d > "${KUBECONFIG}"
kubectl kuttl test --config ./e2e-tests/kuttl-eks-upgrade.yml
env:
PXC_OPERATOR_VERSION: 1.13.0
PSMDB_OPERATOR_VERSION: 1.15.0
PG_OPERATOR_VERSION: 2.2.0
PREVIOUS_PG_OPERATOR_VERSION: 2.2.0 # TODO: Revisit it after 2.3 release
PREVIOUS_PXC_OPERATOR_VERSION: 1.12.0
PREVIOUS_PSMDB_OPERATOR_VERSION: 1.14.0
BASE64_KUBECONFIG_DBAAS: ${{ secrets.BASE64_KUBECONFIG_DBAAS }}
PERCONA_VERSION_SERVICE_URL: https://check-dev.percona.com/versions/v1
- name: Clean up custom resources
if: always()
run: |
namespaces=$(kubectl get pxc -A -o jsonpath='{.items[*].metadata.namespace}')
for namespace in ${namespaces[@]}
do
kubectl -n $namespace get pxc -o name | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl patch pxc -n $namespace -p '{"metadata":{"finalizers":null}}' --type merge
done
namespaces=$(kubectl get psmdb -A -o jsonpath='{.items[*].metadata.namespace}')
for namespace in ${namespaces[@]}
do
kubectl -n $namespace get psmdb -o name | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl patch psmdb -n $namespace -p '{"metadata":{"finalizers":null}}' --type merge
done
namespaces=$(kubectl get psmdb -A -o jsonpath='{.items[*].metadata.namespace}')
for namespace in ${namespaces[@]}
do
kubectl -n $namespace get psmdb -o name | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl patch psmdb -n $namespace -p '{"metadata":{"finalizers":null}}' --type merge
done
kubectl delete db --all-namespaces --all
kubectl delete pvc --all-namespaces --all
kubectl get ns -o name | grep kuttl | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl delete ns
- name: Run core tests
if: always()
run: |
echo $TOOLS_PATH >> $GITHUB_PATH
export KUBECONFIG="${HOME}/.kube/config"
mkdir -p "${KUBECONFIG%/*}"
echo "$BASE64_KUBECONFIG_DBAAS"|base64 -d > "${KUBECONFIG}"
kubectl kuttl test --config ./e2e-tests/kuttl-eks-core.yml
env:
PXC_OPERATOR_VERSION: 1.13.0
PSMDB_OPERATOR_VERSION: 1.15.0
PG_OPERATOR_VERSION: 2.2.0
BASE64_KUBECONFIG_DBAAS: ${{ secrets.BASE64_KUBECONFIG_DBAAS }}
PERCONA_VERSION_SERVICE_URL: https://check-dev.percona.com/versions/v1
- name: Run features tests
if: always()
run: |
echo $TOOLS_PATH >> $GITHUB_PATH
export KUBECONFIG="${HOME}/.kube/config"
mkdir -p "${KUBECONFIG%/*}"
echo "$BASE64_KUBECONFIG_DBAAS"|base64 -d > "${KUBECONFIG}"
kubectl kuttl test --config ./e2e-tests/kuttl-eks-features.yml
env:
PXC_OPERATOR_VERSION: 1.13.0
PSMDB_OPERATOR_VERSION: 1.15.0
PG_OPERATOR_VERSION: 2.2.0
BASE64_KUBECONFIG_DBAAS: ${{ secrets.BASE64_KUBECONFIG_DBAAS }}
PERCONA_VERSION_SERVICE_URL: https://check-dev.percona.com/versions/v1
- name: Clean up custom resources
if: always()
run: |
namespaces=$(kubectl get pxc -A -o jsonpath='{.items[*].metadata.namespace}')
for namespace in ${namespaces[@]}
do
kubectl -n $namespace get pxc -o name | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl patch pxc -n $namespace -p '{"metadata":{"finalizers":null}}' --type merge
done
namespaces=$(kubectl get psmdb -A -o jsonpath='{.items[*].metadata.namespace}')
for namespace in ${namespaces[@]}
do
kubectl -n $namespace get psmdb -o name | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl patch psmdb -n $namespace -p '{"metadata":{"finalizers":null}}' --type merge
done
namespaces=$(kubectl get psmdb -A -o jsonpath='{.items[*].metadata.namespace}')
for namespace in ${namespaces[@]}
do
kubectl -n $namespace get psmdb -o name | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl patch psmdb -n $namespace -p '{"metadata":{"finalizers":null}}' --type merge
done
kubectl delete db --all-namespaces --all
kubectl delete pvc --all-namespaces --all
kubectl get ns -o name | grep kuttl | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl delete ns
- name: Scale down cluster
if: always()
run: |
eksctl scale nodegroup --cluster="$CLUSTER_NAME" --nodes=0 "$NODEPOOL_NAME"
env:
CLUSTER_NAME: "dbaas-ci-20221005"
NODEPOOL_NAME: "terraform-node-dbaas-ci-20221005"
- name: Clean up resources and CRDs
if: always()
run: |
export KUBECONFIG="${HOME}/.kube/config"
mkdir -p "${KUBECONFIG%/*}"
echo "$BASE64_KUBECONFIG_DBAAS"|base64 -d > "${KUBECONFIG}"
kubectl get crd -o name | grep .percona.com$ | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl delete crd
kubectl delete crd postgresclusters.postgres-operator.crunchydata.com
env:
BASE64_KUBECONFIG_DBAAS: ${{ secrets.BASE64_KUBECONFIG_DBAAS }}
- name: Clean up credentials
run: |
rm -f "$HOME"/.aws/config
rm -f "$HOME"/.aws/credentials
make-bundle:
name: Make Bundle
strategy:
fail-fast: true
runs-on: ubuntu-latest
env:
TOOLS_PATH: "/opt/tools/bin"
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Go release
uses: actions/setup-go@v3
with:
go-version: '1.21'
check-latest: true
- name: Install operator-sdk
run: |
mkdir -p $TOOLS_PATH
echo $TOOLS_PATH >> $GITHUB_PATH
export ARCH=$(case $(uname -m) in x86_64) echo -n amd64 ;; aarch64) echo -n arm64 ;; *) echo -n $(uname -m) ;; esac)
export OS=$(uname | awk '{print tolower($0)}')
export OPERATOR_SDK_DL_URL=https://github.com/operator-framework/operator-sdk/releases/download/v1.26.0
curl -LO ${OPERATOR_SDK_DL_URL}/operator-sdk_${OS}_${ARCH}
gpg --keyserver keyserver.ubuntu.com --recv-keys 052996E2A20B5C7E
curl -LO ${OPERATOR_SDK_DL_URL}/checksums.txt
curl -LO ${OPERATOR_SDK_DL_URL}/checksums.txt.asc
gpg -u "Operator SDK (release) <cncf-operator-sdk@cncf.io>" --verify checksums.txt.asc
grep operator-sdk_${OS}_${ARCH} checksums.txt | sha256sum -c -
chmod +x operator-sdk_${OS}_${ARCH}
mv operator-sdk_${OS}_${ARCH} $TOOLS_PATH/operator-sdk
- name: Make bundle and build bundle image
run: |
make bundle bundle-build