diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..2a0e661 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,28 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + cooldown: + # default-days also covers patch releases and actions not using semver. + default-days: 14 + semver-minor-days: 30 + semver-major-days: 90 + groups: + actions: + patterns: + - "*" + - package-ecosystem: "pip" + directory: "/requirements.d" + schedule: + interval: "weekly" + cooldown: + # default-days also covers patch releases and packages not using semver. + default-days: 14 + semver-minor-days: 30 + semver-major-days: 90 + groups: + pip-dependencies: + patterns: + - "*" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eab0252..804f5b1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,8 +24,16 @@ on: - '**.ini' - 'requirements.d/*' +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +permissions: + contents: read + jobs: linux: + name: Linux, Python ${{ matrix.python-version }} strategy: fail-fast: true @@ -51,12 +59,13 @@ jobs: continue-on-error: ${{ matrix.allow-failure || false }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: # just fetching 1 commit is not enough for setuptools-scm, so we fetch all fetch-depth: 0 + persist-credentials: false - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: ${{ matrix.python-version }} - name: Install Python requirements diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 07cdb0c..9cb6a03 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,6 +27,11 @@ on: tags: - '*.*.*' +concurrency: + # Never cancel a release run: queue a second push of the same tag instead. + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: false + permissions: contents: read @@ -45,6 +50,7 @@ jobs: # Just fetching one commit is not enough for setuptools-scm, so we fetch all. fetch-depth: 0 fetch-tags: true + persist-credentials: false - name: Set up Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0