name: Functional tests on: push: branches: - master paths-ignore: - 'docs/**' - 'mkdocs.yml' - 'README.md' pull_request: branches: - master paths-ignore: - 'docs/**' - 'mkdocs.yml' - 'README.md' jobs: build: name: Install generated release and perform functional tests runs-on: ubuntu-latest steps: - name: Set up Go 1.16 uses: actions/setup-go@v1 with: go-version: 1.16 id: go - name: Check out code into the Go module directory uses: actions/checkout@v2 - id: keydb uses: pozetroninc/github-action-get-latest-release@master with: owner: crowdsecurity repo: crowdsec excludes: draft - name: Build release run: BUILD_VERSION=${{ steps.keydb.outputs.release }} make release - name: "Force machineid" run: | sudo chmod +w /etc/machine-id echo githubciXXXXXXXXXXXXXXXXXXXXXXXX | sudo tee /etc/machine-id - name: Install release run: | cd crowdsec-${{ steps.keydb.outputs.release }} sudo ./wizard.sh --unattended - name: "Test post-install base" run: | cd scripts/func_tests/ ./tests_post-install_0base.sh - name: "Test post-install bouncer" run: | cd scripts/func_tests/ ./tests_post-install_1bouncers.sh - name: "Test post-install bouncer" run: | cd scripts/func_tests/ ./tests_post-install_2collections.sh - name: "Test post-install bouncer" run: | cd scripts/func_tests/ ./tests_post-install_3machines.sh - name: "Test post-install ip management" run: | cd scripts/func_tests/ ./tests_post-install_99ip_mgmt.sh - name: "Test cold logs" run: | cd scripts/func_tests/ ./tests_post-install_4cold-logs.sh - name: "Test simulation" run: | cd scripts/func_tests/ ./tests_post-install_5simulation.sh - name: "Test post-install plugins" run: | cd scripts/func_tests/ sudo ./tests_post-install_7_plugin.sh - name: "Uninstall" run: sudo ./wizard.sh --uninstall - name: "Test post remove" run: | cd scripts/func_tests/ bash -x ./tests_post-remove_0base.sh