Skip to content

Master Windows

Master Windows #1384

name: Master Windows
# This is a temporary fix to avoid hitting the max 256 jobs per workflow limit
# We will remove this once we have a better solution
on:
push:
branches:
- master
paths:
# List of files/paths that should trigger the run. The intention is to avoid running all tests if the commit only includes changes on assets or README
- '*/datadog_checks/**'
- '*/tests/**'
- 'ddev'
- 'datadog_check_base'
- 'datadog_checks_dev'
# Contains overrides for testing
- '.ddev'
# Want to ensure any change in workflows is validated
- '.github/workflows/**'
# Test matrices and dependencies
- '*/hatch.toml'
- '*/pyproject.toml'
# Some integrations might use this file to validate metrics emission
- '*/metadata.csv'
# In case some linting formatting config has changed
- 'pyproject.toml'
schedule:
- cron: '0 2 * * *'
jobs:
cache:
uses: ./.github/workflows/cache-shared-deps.yml
test:
needs:
- cache
uses: ./.github/workflows/test-all-windows.yml
with:
repo: core
# Options
# Because -m starts with a dash,
# click (the library used to build the CLI) will
# interpret it as an option, not as an argument.
# To avoid this, using -- syntax,
# which tells the command that everything following it
# should be treated as positional arguments, not options
pytest-args: '-m "not flaky"'
secrets: inherit
permissions:
# needed for compute-matrix in test-target.yml
contents: read
publish-test-results:
needs:
- test
if: success() || failure()
concurrency:
group: test-results
permissions:
checks: write
pull-requests: write
contents: write
uses: ./.github/workflows/test-results-master.yml
secrets: inherit
upload-coverage:
needs:
- test
if: >
!github.event.repository.private &&
(success() || failure())
runs-on: ubuntu-latest
permissions:
contents: read
# needed for dd-sts
id-token: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Get Datadog credentials
id: dd-sts
# Coverage upload is optional; keep non-blocking so fork PRs and OIDC outages don't fail the job
continue-on-error: true
uses: DataDog/dd-sts-action@2e8187910199bd93129520183c093e19aa585c75 # v1.0.0
with:
policy: integrations-coverage-api-key
- name: Download all coverage artifacts
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
with:
pattern: coverage-*
path: coverage-reports
merge-multiple: false
- name: Upload coverage to Datadog
if: always()
continue-on-error: true
uses: DataDog/coverage-upload-github-action@6c4bd935248daa6f0ef94e3e6ba71ad5ad079998 # v1.0.3
with:
api_key: ${{ steps.dd-sts.outputs.api_key }}
files: coverage-reports
format: cobertura