diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..d04ea26 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,9 @@ +--- +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + cooldown: + default-days: 7 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ece6516..0a91d4a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,15 +4,21 @@ name: CI on: push: +permissions: {} + jobs: lint: runs-on: ubuntu-slim timeout-minutes: 5 + permissions: + contents: read steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd + with: + persist-credentials: false - name: Install latest version of uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b - name: Install dependencies run: uv sync --group dev - name: Run ruff format @@ -25,11 +31,15 @@ jobs: typecheck: runs-on: ubuntu-slim timeout-minutes: 5 + permissions: + contents: read steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd + with: + persist-credentials: false - name: Install latest version of uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b - name: Install dependencies run: uv sync --group dev - name: Run mypy @@ -44,14 +54,18 @@ jobs: python: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] runs-on: ${{ matrix.os }} timeout-minutes: 15 + permissions: + contents: read needs: - lint - typecheck steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd + with: + persist-credentials: false - name: Install latest version of uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b with: python-version: ${{ matrix.python }} - name: Install dependencies diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8db5a10..7ed6de8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,6 +6,8 @@ on: branches: - main +permissions: {} + jobs: publish: runs-on: ubuntu-slim @@ -16,11 +18,12 @@ jobs: id-token: write steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd with: fetch-depth: 0 + persist-credentials: false - name: Setup UV - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b - name: Detect version change id: version-check run: | @@ -49,8 +52,7 @@ jobs: uv publish - name: Create GitHub release if: steps.version-check.outputs.NEW_VERSION == 'true' - uses: softprops/action-gh-release@v3 - with: - tag_name: v${{ steps.version-check.outputs.VERSION }} - generate_release_notes: true - files: dist/* + run: gh release create "$TAG" dist/* --generate-notes + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAG: v${{ steps.version-check.outputs.VERSION }}