diff --git a/.github/workflows/testEndToEnd.yml b/.github/workflows/testEndToEnd.yml index 4d6dd1b0..9552672f 100644 --- a/.github/workflows/testEndToEnd.yml +++ b/.github/workflows/testEndToEnd.yml @@ -3,18 +3,17 @@ on: pull_request: types: [opened, reopened, synchronize] schedule: - - cron: "44 4 * * *" + - cron: '44 4 * * *' jobs: testEverything: strategy: fail-fast: false matrix: - python_version: ["3.11", "3.12", "3.13"] - operating_system: ["ubuntu-24.04", "macos-15", "windows-2022"] + python_version: ['3.12', '3.13', '3.14'] + operating_system: ['ubuntu-24.04', 'macos-15', 'windows-2022'] #operating_system: ["ubuntu-20.04", "ubuntu-22.04", "macos-latest"] - runs-on: ${{ matrix.operating_system }} steps: #- name: Install Docker for macOS @@ -36,11 +35,10 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python_version }} - architecture: "x64" - + architecture: 'x64' + - name: Install Poetry - run: - python -m pip install poetry + run: python -m pip install poetry - name: Install contentctl and activate the shell run: | @@ -50,7 +48,7 @@ jobs: - name: Run contentctl init run: | cd my_splunk_content_pack - poetry run contentctl init + poetry run contentctl init - name: Clone the AtomicRedTeam Repo run: | @@ -73,11 +71,10 @@ jobs: run: | cd my_splunk_content_pack poetry run contentctl test --disable-tqdm --post-test-behavior never_pause - + - uses: actions/upload-artifact@v4 with: name: content_pack_${{ matrix.python_version }}_${{ matrix.operating_system }} path: | my_splunk_content_pack/dist/my_splunk_content_pack.tar.gz my_splunk_content_pack/test_results/summary.yml - diff --git a/.github/workflows/test_against_escu.yml b/.github/workflows/test_against_escu.yml index 25cae4c8..8f2088a9 100644 --- a/.github/workflows/test_against_escu.yml +++ b/.github/workflows/test_against_escu.yml @@ -9,20 +9,19 @@ on: pull_request: types: [opened, reopened, synchronize] schedule: - - cron: "44 4 * * *" + - cron: '44 4 * * *' jobs: smoketest_escu: strategy: fail-fast: false matrix: - python_version: ["3.11", "3.12", "3.13"] - - operating_system: ["ubuntu-24.04", "macos-15"] + python_version: ['3.12', '3.13', '3.14'] + + operating_system: ['ubuntu-24.04', 'macos-15'] # Do not test against ESCU until known character encoding issue is resolved # operating_system: ["ubuntu-20.04", "ubuntu-22.04", "macos-latest", "macos-14", "windows-2022"] - runs-on: ${{ matrix.operating_system }} steps: # Checkout the current branch of contentctl repo @@ -32,7 +31,7 @@ jobs: # Checkout the develop (default) branch of security_content - name: Checkout repo uses: actions/checkout@v5 - with: + with: path: security_content repository: splunk/security_content @@ -41,25 +40,22 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python_version }} - architecture: "x64" - + architecture: 'x64' + - name: Install Poetry - run: - python -m pip install poetry + run: python -m pip install poetry - name: Install contentctl and activate the shell run: | poetry install --no-interaction - - - name: Clone the AtomicRedTeam Repo and the Mitre/CTI repos for testing enrichments + - name: Clone the AtomicRedTeam Repo and the Mitre/CTI repos for testing enrichments run: | cd security_content git clone --single-branch https://github.com/redcanaryco/atomic-red-team external_repos/atomic-red-team git clone --single-branch https://github.com/mitre/cti external_repos/cti - - # We do not separately run validate and build + # We do not separately run validate and build # since a build ALSO performs a validate - name: Run contentctl build run: | @@ -68,4 +64,3 @@ jobs: # Do not run a test - it will take far too long! # Do not upload any artifacts - diff --git a/pyproject.toml b/pyproject.toml index 2d60a987..69936421 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,8 +13,8 @@ contentctl = 'contentctl.contentctl:main' [tool.poetry.dependencies] -python = "^3.11,<3.14" -pydantic = "~2.9.2" +python = "^3.11,<3.15" +pydantic = ">=2.9.2,<2.13.0" PyYAML = "^6.0.2" requests = ">=2.32.4" pycvesearch = "^1.2"