Skip to content

ci: add shellcheck differential checks #181

ci: add shellcheck differential checks

ci: add shellcheck differential checks #181

Workflow file for this run

name: PR checks
on:
pull_request: {}
push:
branches:
- main
jobs:
it_runs:
name: Run tests against reference implementation
runs-on: ubuntu-latest
steps:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
architecture: "x64"
- name: Setup Carvel
uses: vmware-tanzu/carvel-setup-action@v2
- name: Checkout code
uses: actions/checkout@v4
- name: Install kind
run: |
cd $(mktemp -d -t kind.XXXX)
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-$(go env GOHOSTOS)-$(go env GOHOSTARCH)
chmod +x ./kind
sudo mv ./kind /usr/local/bin
cd -
- name: Load dependencies
env:
IMAGE_REF: ghcr.io/${{ github.repository }}/generic-test-app:main
run: |
docker build -t $IMAGE_REF resources/apps/generic-test-app
kind create cluster
kind load docker-image $IMAGE_REF
# install the reference implementation
kapp deploy -y -a cert-manager -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.0/cert-manager.yaml
kapp deploy -y -a servicebinding-runtime -f https://github.com/servicebinding/runtime/releases/download/v0.3.0/servicebinding-runtime-v0.3.0.yaml -f https://github.com/servicebinding/runtime/releases/download/v0.3.0/servicebinding-workloadresourcemappings-v0.3.0.yaml
- name: Conformance tests
run: .github/resources/run_ci.sh
- name: Collect diagnostics
run: |
set +o errexit
set -o nounset
set +o pipefail
echo "##[group]kubectl get all -n servicebindings-cts"
kubectl get all -n servicebindings-cts
echo "##[endgroup]"
echo "##[group]kubectl describe deployments.apps -n servicebindings-cts"
kubectl describe deployments.apps -n servicebindings-cts
echo "##[endgroup]"
echo "##[group]kubectl get servicebindings.servicebinding.io -A"
kubectl get servicebindings.servicebinding.io -A
echo "##[endgroup]"
echo "##[group]kubectl describe servicebindings.servicebinding.io -A"
kubectl describe servicebindings.servicebinding.io -A
echo "##[endgroup]"
echo "##[group]kubectl get clusterworkloadresourcemappings.servicebinding.io"
kubectl get clusterworkloadresourcemappings.servicebinding.io
echo "##[endgroup]"
if: always()
continue-on-error: true
linting:
name: Lint checks
runs-on: ubuntu-20.04
steps:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
architecture: "x64"
- name: Checkout code
uses: actions/checkout@v4
- name: Shellcheck
uses: redhat-plumbers-in-action/differential-shellcheck@v5
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Run linting checks
run: |
./setup.sh
hack/lint-python-code.sh