49 lines
1.4 KiB
YAML
49 lines
1.4 KiB
YAML
name: Hub-CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
build:
|
|
name: Hub Parser/Scenario tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Set up Go 1.13
|
|
uses: actions/setup-go@v1
|
|
with:
|
|
go-version: 1.13
|
|
id: go
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@v2
|
|
- name: Build release
|
|
run: BUILD_VERSION=xxx make release
|
|
- name: clone and build hub CI tool
|
|
run: |
|
|
git clone https://github.com/crowdsecurity/hub-tests.git
|
|
cd hub-tests
|
|
make
|
|
- name: Create crowdsec test env with all parsers from the release
|
|
run: |
|
|
cd crowdsec-xxx
|
|
./test_env.sh
|
|
cd tests
|
|
for i in `./cscli -c dev.yaml list parsers -a -o json | jq -r ".[].name" ` ; do
|
|
./cscli -c dev.yaml install parser $i ;
|
|
done
|
|
- name: Setup hub ci in crowdsec
|
|
working-directory: ./crowdsec-xxx/tests/
|
|
run: |
|
|
cp -R ../../hub-tests/tests .
|
|
cp ../../hub-tests/main .
|
|
- name: Run the HUB CI
|
|
working-directory: ./crowdsec-xxx/tests/
|
|
run: |
|
|
for i in `find ./tests -mindepth 1 -maxdepth 1 -type d` ; do
|
|
echo "::group::Test-${i}" ;
|
|
./main -c dev.yaml $i || (echo "::error file=${i}::Failed test for ${i}" ; diff ${i}"/results.json" ${i}"/results.json.fail") ;
|
|
echo "::endgroup::" ;
|
|
done ;
|