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 steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v4 with: cache: false go-version: 1.20.x - name: Install dependencies run: | cd $GITHUB_WORKSPACE go install github.com/swaggo/swag/cmd/swag 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.9.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_20.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 http://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 - name: Run referrers tests run: | make test-bats-referrers - name: Run metadata tests run: | make test-bats-metadata - name: Run push-pull tests run: | make test-push-pull - name: Run metrics tests run: | make test-bats-metrics - name: Run cve tests run: | make test-bats-cve - name: Run sync test run: | make test-bats-sync - name: Run scrub tests run: | make test-bats-scrub - name: Run anonymous-push-pull tests run: | make test-anonymous-push-pull - name: Run annotations tests run: | make test-annotations - name: Install localstack run: | pip install --upgrade pyopenssl pip install localstack awscli-local[ver1] # install LocalStack cli and awslocal docker pull localstack/localstack # Make sure to pull the latest 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 test-cloud-only env: AWS_ACCESS_KEY_ID: fake AWS_SECRET_ACCESS_KEY: fake