diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..58600c6 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,23 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + groups: + actions-minor-patch: + update-types: + - "minor" + - "patch" + + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + groups: + pip-minor-patch: + update-types: + - "minor" + - "patch" diff --git a/.github/workflows/bandit.yml b/.github/workflows/bandit.yml index 58d698c..c28a2f8 100644 --- a/.github/workflows/bandit.yml +++ b/.github/workflows/bandit.yml @@ -10,6 +10,8 @@ on: - cron: "0 0 * * 0" workflow_dispatch: +permissions: read-all + jobs: analyze: runs-on: ubuntu-latest @@ -19,9 +21,9 @@ jobs: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true steps: - name: Checkout code - uses: actions/checkout@v6.0.2 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Perform Bandit Analysis - uses: PyCQA/bandit-action@v1 + uses: PyCQA/bandit-action@ca64e96d362b1764a98d841aaf3a4b1e2d690c7b # v1.0.1 with: targets: "bitmath/ tests/" diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 0450a53..b0cc72b 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -8,6 +8,8 @@ on: schedule: - cron: "0 0 * * 0" +permissions: read-all + jobs: analyze: name: Analyze Python @@ -21,17 +23,17 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v6.0.2 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Initialize CodeQL - uses: github/codeql-action/init@v4 + uses: github/codeql-action/init@e46ed2cbd01164d986452f91f178727624ae40d7 # v4.35.3 with: languages: python - name: Autobuild - uses: github/codeql-action/autobuild@v4 + uses: github/codeql-action/autobuild@e46ed2cbd01164d986452f91f178727624ae40d7 # v4.35.3 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v4 + uses: github/codeql-action/analyze@e46ed2cbd01164d986452f91f178727624ae40d7 # v4.35.3 with: category: "/language:python" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e732a45..b90d2e7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -4,20 +4,22 @@ on: release: types: [published] +permissions: read-all + jobs: build: runs-on: ubuntu-latest env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true steps: - - uses: actions/checkout@v6.0.2 - - uses: actions/setup-python@v6.2.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: "3.12" - name: Build package run: pip install build && python -m build - name: Upload dist artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: dist path: dist/ @@ -30,9 +32,9 @@ jobs: id-token: write steps: - name: Download dist artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: dist path: dist/ - name: Publish to PyPI - uses: pypa/gh-action-pypi-publish@release/v1 + uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0 diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 1174e8e..25d96b9 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -2,10 +2,10 @@ name: Python CI on: [push, pull_request] +permissions: read-all + jobs: build: - permissions: - pull-requests: write env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true strategy: @@ -15,10 +15,10 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: "GitHub Checks it out :sunglasses-face:" - uses: actions/checkout@v6.0.2 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v6.2.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ matrix.python-version }} cache: 'pip' @@ -45,10 +45,3 @@ jobs: - name: Run Unit Tests run: | pytest -v --cov=bitmath --cov-report term-missing --cov-report term:skip-covered --cov-report xml:coverage.xml tests - - - name: Coverage report on PR - if: github.event_name == 'pull_request' && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.12' - uses: MishaKav/pytest-coverage-comment@main - with: - pytest-xml-coverage-path: ./coverage.xml - title: "Test Coverage Report"