name: "Ecosystem client tools" on: push: branches: - main pull_request: branches: [main] release: types: - published permissions: read-all jobs: client-tools: name: Check client tools runs-on: ubuntu-latest-16-cores steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: cache: false go-version: 1.20.x - name: Install dependencies run: | cd $GITHUB_WORKSPACE go install github.com/swaggo/swag/cmd/swag@v1.8.12 go mod download sudo apt-get update sudo apt-get install libgpgme-dev libassuan-dev libbtrfs-dev libdevmapper-dev pkg-config rpm uidmap # install skopeo git clone -b v1.12.0 https://github.com/containers/skopeo.git cd skopeo make bin/skopeo sudo cp bin/skopeo /usr/bin skopeo -v # install cri-o (for crictl) OS=xUbuntu_22.04 CRIO_VERSION=1.26 echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/ /"|sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$CRIO_VERSION/$OS/ /"|sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable:cri-o:$CRIO_VERSION.list curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$CRIO_VERSION/$OS/Release.key | sudo apt-key add - curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | sudo apt-key add - sudo apt update sudo apt install -y cri-o cri-o-runc sudo systemctl enable crio.service sudo systemctl start crio.service sudo chmod 0777 /var/run/crio/crio.sock # install dex git clone https://github.com/dexidp/dex.git cd dex/ make bin/dex ./bin/dex serve $GITHUB_WORKSPACE/test/dex/config-dev.yaml & cd $GITHUB_WORKSPACE - name: Run CI tests run: | make run-blackbox-ci - name: Log in to GitHub Docker Registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ github.token }} - name: Install localstack run: | pip install --upgrade pyopenssl pip install localstack==2.3.1 awscli-local[ver1] # install LocalStack cli and awslocal docker pull ghcr.io/project-zot/ci-images/localstack:2.3.1 # Make sure to pull a working version of the image localstack start -d # Start LocalStack in the background echo "Waiting for LocalStack startup..." # Wait 30 seconds for the LocalStack container localstack wait -t 30 # to become ready before timing out echo "Startup complete" - name: Run cloud-only tests run: | make run-blackbox-cloud-ci env: AWS_ACCESS_KEY_ID: fake AWS_SECRET_ACCESS_KEY: fake - uses: ./.github/actions/teardown-localstack