68 lines
2.2 KiB
YAML
68 lines
2.2 KiB
YAML
name: Tests BATS
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- main
|
|
paths-ignore:
|
|
- 'docs/**'
|
|
- 'website/**'
|
|
- 'assets/**'
|
|
- 'backup/**'
|
|
- '*.md'
|
|
pull_request:
|
|
types: [opened, synchronize, ready_for_review, reopened]
|
|
paths-ignore:
|
|
- 'docs/**'
|
|
- 'website/**'
|
|
- 'assets/**'
|
|
- 'backup/**'
|
|
- '*.md'
|
|
|
|
jobs:
|
|
run-tests:
|
|
if: github.event.pull_request.draft == false
|
|
name: BATS test ${{ matrix.test-file }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
test-file: ["1-deploy", "2-deploy-with-more-options", "3-deploy-with-webhook"]
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4
|
|
|
|
- name: Set up env vars
|
|
run: |
|
|
echo "GO111MODULE=on" >> $GITHUB_ENV
|
|
echo "GO_VERSION=v$(sed -n 's/GO_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
|
echo "HELM_VERSION=v$(sed -n 's/HELM_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
|
echo "KIND_CLUSTER_NAME=$(sed -n 's/KIND_CLUSTER_NAME=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV
|
|
echo "GOPATH=/home/runner/go" >> $GITHUB_ENV
|
|
|
|
- name: Prepare go environment
|
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5
|
|
with:
|
|
go-version: ${{ env.GO_VERSION }}
|
|
|
|
- name: Ensure Golang runtime dependencies
|
|
run: make go-dependencies
|
|
|
|
- name: Setup Bats and libs
|
|
uses: bats-core/bats-action@e412797c46257a2dbf3775f6f6010b33ee6cb99f # 3.0.1
|
|
with:
|
|
support-path: "${{ github.workspace }}/.bats/bats-support"
|
|
assert-path: "${{ github.workspace }}/.bats/bats-assert"
|
|
detik-path: "${{ github.workspace }}/.bats/bats-detik"
|
|
file-path: "${{ github.workspace }}/.bats/bats-file"
|
|
|
|
- name: Kind setup
|
|
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
|
|
with:
|
|
cluster_name: ${{env.KIND_CLUSTER_NAME}}
|
|
|
|
- name: Jenkins Operator - bats tests
|
|
env:
|
|
BATS_LIB_PATH: "${{ github.workspace }}/.bats"
|
|
run: BATS_TEST_PATH=${{matrix.test-file}}.bats make bats-tests
|