diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..48567a5 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +# Every change is reviewed by the maintainer. +* @burhankhanzada diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..bc0ae94 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,14 @@ +version: 2 + +updates: + # Workflow actions are pinned to commit SHAs; this moves the pins and the + # trailing `# vX.Y.Z` comments together. + - package-ecosystem: github-actions + directory: / + schedule: + interval: monthly + commit-message: + prefix: "ci" + groups: + actions: + patterns: ["*"] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..0c16263 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,38 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + test: + name: Dart ${{ matrix.sdk }} + runs-on: ubuntu-latest + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + # The floor pubspec.yaml promises, and what everyone is on now. This + # package is meant for tools other than PinBench, so the floor has to + # be true, not assumed. + sdk: ["3.10.4", stable] + steps: + - uses: actions/checkout@v7 + + - uses: dart-lang/setup-dart@6afc89df92d6eb3834022f73cd65adc8cdfcb92d # v1.8.1 + with: + sdk: ${{ matrix.sdk }} + + - run: dart pub get + - run: dart format --output=none --set-exit-if-changed . + - run: dart analyze --fatal-infos + - run: dart test diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml new file mode 100644 index 0000000..b1791a6 --- /dev/null +++ b/.github/workflows/cla.yml @@ -0,0 +1,39 @@ +name: CLA + +# Asks each contributor, on their first pull request, to sign the CLA +# (CLA.md) by commenting the sentence the bot gives them. Signatures are kept +# in this repository's cla-signatures branch and cover every later pull request. +# +# pull_request_target, so it can comment on pull requests from forks. It is +# safe here because nothing from the pull request is checked out or run: the +# action only reads comments and writes the signature file. +on: + issue_comment: + types: [created] + pull_request_target: + types: [opened, closed, synchronize] + +permissions: + actions: write + contents: write + pull-requests: write + statuses: write + +jobs: + cla: + name: CLA + runs-on: ubuntu-latest + timeout-minutes: 5 + if: >- + github.event_name == 'pull_request_target' || + github.event.comment.body == 'recheck' || + github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA' + steps: + - uses: contributor-assistant/github-action@ca4a40a7d1004f18d9960b404b97e5f30a505a08 # v2.6.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + path-to-signatures: signatures/cla.json + path-to-document: https://github.com/PinBench/pinbench/blob/main/CLA.md + branch: cla-signatures + allowlist: burhankhanzada,dependabot[bot],*[bot] diff --git a/README.md b/README.md index 1d5f8a3..ba01800 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ scale. ## Where it meets Flutter -Not here. [`pinbench_parts`](https://github.com/PinBench/parts) draws parts, +Not here. [`pinbench_parts`](https://github.com/PinBench/pinbench/tree/main/packages/pinbench_parts) draws parts, holds the shipped catalog (`assets/parts/`), and turns these plain values into Flutter ones in `pdl_flutter.dart`.