name: Unit Tests on: push: branches: [ "main", "7.*", "8.*" ] pull_request: branches: [ "*" ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.8 uses: actions/setup-python@v2 with: python-version: 3.8 - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt - name: Python Lint run: | python -m flake8 tests detection_rules --ignore D203 --max-line-length 120 - name: Python License Check run: | python -m detection_rules dev license-check - name: Build release package env: # only generate the navigator files on push events to main GENERATE_NAVIGATOR_FILES: "${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && '--generate-navigator' || ' ' }}" run: | python -m detection_rules dev build-release $GENERATE_NAVIGATOR_FILES - name: Archive production artifacts for branch builds uses: actions/upload-artifact@v2 if: | github.event_name == 'push' with: name: release-files path: | releases - name: Unit tests run: | python -m detection_rules test - name: Update navigator gist files env: GITHUB_TOKEN: "${{ secrets.NAVIGATOR_GIST_TOKEN }}" if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} run: python -m detection_rules dev update-navigator-gists