diff --git a/.github/workflows/storage-calculator.yaml b/.github/workflows/storage-calculator.yaml new file mode 100644 index 0000000..d970528 --- /dev/null +++ b/.github/workflows/storage-calculator.yaml @@ -0,0 +1,86 @@ +name: Lagoon Storage Controller Test + +on: + push: + branches: + - main + - re-namespace + pull_request: + branches: + - main + - main-v1beta2 + +jobs: + test-suite: + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + kindest_node_version: [v1.25.16, v1.26.15] + experimental: [false] + include: + - kindest_node_version: v1.27.13 + experimental: false + - kindest_node_version: v1.28.9 + experimental: false + - kindest_node_version: v1.29.4 + experimental: true + - kindest_node_version: v1.30.2 + experimental: true + steps: + - name: Setup tmate session + uses: mxschmitt/action-tmate@v3 + timeout-minutes: 1 + continue-on-error: true + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: "0" + - name: Set up testing dependencies + run: sudo apt-get update && sudo apt-get -y install build-essential && sudo apt-get clean + - name: Setup correct Go version + uses: actions/setup-go@v2 + with: + go-version: '1.22' + - name: Install kubebuilder + run: | + #kubebuilder + curl -sL https://github.com/kubernetes-sigs/kubebuilder/releases/download/v2.3.2/kubebuilder_2.3.2_linux_amd64.tar.gz | tar -xz -C /tmp/ + sudo mkdir -p /usr/local/kubebuilder/bin + sudo mv /tmp/kubebuilder_2.3.2_linux_amd64/bin/* /usr/local/kubebuilder/bin + chmod +x /usr/local/kubebuilder/bin/* + echo "/usr/local/kubebuilder/bin" >> $GITHUB_PATH + + - name: Install gojq + if: | + (steps.list-changed.outputs.changed == 'true') || + (contains(github.event.pull_request.labels.*.name, 'needs-testing')) + run: | + cd /tmp + curl -sSLO https://github.com/itchyny/gojq/releases/download/v0.11.1/gojq_v0.11.1_linux_amd64.tar.gz + tar -xf ./gojq_v0.11.1_linux_amd64.tar.gz + sudo cp /tmp/gojq_v0.11.1_linux_amd64/gojq /usr/local/bin/jq + + - name: Create kind cluster + uses: helm/kind-action@v1.10.0 + with: + version: v0.24.0 + cluster_name: storage-calculator + node_image: kindest/node:${{ matrix.kindest_node_version }} + kubectl_version: v1.30.4 + + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Build + uses: docker/build-push-action@v2 + with: + context: . + load: true + tags: uselagoon/remote-calculator:test-tag + + - name: Run github/test-e2e + run: | + make github/test-e2e \ No newline at end of file