Merge pull request #1156 from kubescape/change-wf

added input to make the binary build and test dynamic
This commit is contained in:
matanshk
2023-03-20 13:49:50 +02:00
committed by GitHub
@@ -27,6 +27,13 @@ on:
required: false
type: string
# default: kubescape/kubescape
BUILD_AND_TEST_LOCAL_KUBESCAPE_CLI:
description: If true then the wf would build the latest commit from the default branch of Kubescape repo and will run the e2e test. if false then only the e2e would run with the latest release of the Kubescape CLI
type: boolean
required: false
default: true
jobs:
check-secret:
@@ -47,6 +54,7 @@ jobs:
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
run: "echo \"is-secret-set=${{ env.CUSTOMER != '' && \n env.USERNAME != '' &&\n env.PASSWORD != '' &&\n env.CLIENT_ID != '' &&\n env.SECRET_KEY != '' &&\n env.REGISTRY_USERNAME != '' &&\n env.REGISTRY_PASSWORD != ''\n }}\" >> $GITHUB_OUTPUT\n"
binary-build:
if: ${{ github.event.inputs.BUILD_AND_TEST_LOCAL_KUBESCAPE_CLI == 'true' }}
name: Create cross-platform build
outputs:
TEST_NAMES: ${{ steps.export_tests_to_env.outputs.TEST_NAMES }}
@@ -163,16 +171,18 @@ jobs:
matrix:
TEST: ${{ fromJson(needs.binary-build.outputs.TEST_NAMES) }}
needs: [check-secret, binary-build]
if: needs.check-secret.outputs.is-secret-set == 'true'
if: ${{ needs.check-secret.outputs.is-secret-set == 'true' && (always() && (contains(needs.*.result, 'success') || contains(needs.*.result, 'skipped')) && !(contains(needs.*.result, 'failure')) && !(contains(needs.*.result, 'cancelled')) }}
runs-on: ubuntu-latest # This cannot change
steps:
- uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # ratchet:actions/download-artifact@v3.0.2
if: github.event.inputs.BUILD_AND_TEST_LOCAL_KUBESCAPE_CLI == 'true'
id: download-artifact
with:
name: kubescape-ubuntu-latest
path: "~"
- run: ls -laR
- name: chmod +x
if: github.event.inputs.BUILD_AND_TEST_LOCAL_KUBESCAPE_CLI == 'true'
run: chmod +x -R ${{steps.download-artifact.outputs.download-path}}/kubescape-ubuntu-latest
- name: Checkout systests repo
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # ratchet:actions/checkout@v3
@@ -194,7 +204,8 @@ jobs:
uses: helm/kind-action@d08cf6ff1575077dee99962540d77ce91c62387d # ratchet:helm/kind-action@v1.3.0
with:
cluster_name: ${{ steps.uuid.outputs.RANDOM_UUID }}
- name: run-tests
- name: run-tests-on-local-built-kubescape
if: github.event.inputs.BUILD_AND_TEST_LOCAL_KUBESCAPE_CLI == 'true'
env:
CUSTOMER: ${{ secrets.CUSTOMER }}
USERNAME: ${{ secrets.USERNAME }}
@@ -218,6 +229,33 @@ jobs:
--kwargs kubescape=${{steps.download-artifact.outputs.download-path}}/kubescape-ubuntu-latest
deactivate
- name: run-tests-on-latest-release-of-kubescape
if: github.event.inputs.BUILD_AND_TEST_LOCAL_KUBESCAPE_CLI == 'false'
env:
CUSTOMER: ${{ secrets.CUSTOMER }}
USERNAME: ${{ secrets.USERNAME }}
PASSWORD: ${{ secrets.PASSWORD }}
CLIENT_ID: ${{ secrets.CLIENT_ID_PROD }}
SECRET_KEY: ${{ secrets.SECRET_KEY_PROD }}
REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
run: |
echo "Test history:"
echo " ${{ matrix.TEST }} " >/tmp/testhistory
cat /tmp/testhistory
source systests_python_env/bin/activate
python3 systest-cli.py \
-t ${{ matrix.TEST }} \
-b production \
-c CyberArmorTests \
--duration 3 \
--logger DEBUG \
--kwargs ks_branch=latest
deactivate
- name: Test Report
uses: mikepenz/action-junit-report@6e9933f4a97f4d2b99acef4d7b97924466037882 # ratchet:mikepenz/action-junit-report@v3.6.1
if: always() # always run even if the previous step fails