diff --git a/.github/workflows/actionlint.yml b/.github/workflows/actionlint.yml new file mode 100644 index 0000000..a8b6e9d --- /dev/null +++ b/.github/workflows/actionlint.yml @@ -0,0 +1,84 @@ +# This file is synced from the `.github` repository, do not modify it directly. +name: Actionlint + +on: + push: + branches: + - main + - master + pull_request: + +defaults: + run: + shell: bash -xeuo pipefail {0} + +concurrency: + group: "actionlint-${{ github.ref }}" + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +env: + HOMEBREW_DEVELOPER: 1 + HOMEBREW_NO_AUTO_UPDATE: 1 + HOMEBREW_NO_ENV_HINTS: 1 + +permissions: {} + +jobs: + workflow_syntax: + if: github.repository_owner == 'Homebrew' + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Set up Homebrew + id: setup-homebrew + uses: Homebrew/actions/setup-homebrew@master + with: + core: false + cask: false + test-bot: false + + - name: Install tools + run: brew install actionlint shellcheck zizmor + + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + with: + persist-credentials: false + + - run: zizmor --format sarif . > results.sarif + + - name: Upload SARIF file + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4 + with: + name: results.sarif + path: results.sarif + + - name: Set up actionlint + run: echo "::add-matcher::$(brew --repository)/.github/actionlint-matcher.json" + + - run: actionlint + + upload_sarif: + needs: workflow_syntax + # We want to always upload this even if `actionlint` failed. + # This is only available on public repositories. + if: > + always() && + !contains(fromJSON('["cancelled", "skipped"]'), needs.workflow_syntax.result) && + !github.event.repository.private + runs-on: ubuntu-latest + permissions: + contents: read + security-events: write + steps: + - name: Download SARIF file + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4 + with: + name: results.sarif + path: results.sarif + + - name: Upload SARIF file + uses: github/codeql-action/upload-sarif@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3 + with: + sarif_file: results.sarif + category: zizmor diff --git a/.github/workflows/stale-issues.yml b/.github/workflows/stale-issues.yml index 312cab0..ba2621b 100644 --- a/.github/workflows/stale-issues.yml +++ b/.github/workflows/stale-issues.yml @@ -12,9 +12,11 @@ on: - cron: "0 0 * * *" issue_comment: -permissions: - issues: write - pull-requests: write +permissions: {} + +defaults: + run: + shell: bash -xeuo pipefail {0} concurrency: group: stale-issues @@ -30,6 +32,10 @@ jobs: ) ) runs-on: ubuntu-latest + permissions: + contents: write + issues: write + pull-requests: write steps: - name: Mark/Close Stale Issues and Pull Requests uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9 @@ -45,6 +51,7 @@ jobs: recent activity. It will be closed if no further activity occurs. exempt-issue-labels: "gsoc-outreachy,help wanted,in progress" exempt-pr-labels: "gsoc-outreachy,help wanted,in progress" + delete-branch: true bump-pr-stale: if: > @@ -55,6 +62,10 @@ jobs: ) ) runs-on: ubuntu-latest + permissions: + contents: write + issues: write + pull-requests: write steps: - name: Mark/Close Stale `bump-formula-pr` and `bump-cask-pr` Pull Requests uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9 @@ -68,3 +79,4 @@ jobs: pull request open, add a `help wanted` or `in progress` label. exempt-pr-labels: "help wanted,in progress" any-of-labels: "bump-formula-pr,bump-cask-pr" + delete-branch: true diff --git a/.rubocop.yml b/.rubocop.yml index 89d314e..646abda 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -7,10 +7,10 @@ AllCops: - "**/*.rbi" Exclude: - Homebrew/sorbet/rbi/{dsl,gems}/**/*.rbi - - Homebrew/sorbet/rbi/parlour.rbi - Homebrew/bin/* - Homebrew/vendor/**/* - Taps/*/*/vendor/**/* + - "**/vendor/**/*" SuggestExtensions: rubocop-minitest: false Layout/ArgumentAlignment: @@ -185,6 +185,12 @@ Style/OpenStructUse: - Taps/**/* - Homebrew/cli/args.rb - Homebrew/cli/args.rbi +Style/OptionalBooleanParameter: + AllowedMethods: + - respond_to? + - respond_to_missing? +Style/RedundantLineContinuation: + Enabled: false Style/RescueStandardError: EnforcedStyle: implicit Style/ReturnNil: diff --git a/.ruby-version b/.ruby-version index a0891f5..9c25013 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.4 +3.3.6