diff --git a/.github/workflows/actionlint.yml b/.github/workflows/actionlint.yml new file mode 100644 index 0000000..e446c0e --- /dev/null +++ b/.github/workflows/actionlint.yml @@ -0,0 +1,78 @@ +name: Workflow Syntax + +on: + push: + branches: + - main + paths: + - '.github/workflows/*.ya?ml' + pull_request: + paths: + - '.github/workflows/*.ya?ml' + +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 + 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@v4 + with: + persist-credentials: false + + - run: zizmor --format sarif . >results.sarif + + - name: Upload SARIF file + uses: actions/upload-artifact@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 + runs-on: ubuntu-latest + permissions: + contents: read + security-events: write + steps: + - name: Download SARIF file + uses: actions/download-artifact@v4 + with: + name: results.sarif + path: results.sarif + + - name: Upload SARIF file + uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: results.sarif + category: zizmor diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bb9005a..88f8c21 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,7 +39,7 @@ jobs: run: bundle exec rubocop - name: Build Docker image - run: docker build --build-arg RUBY_VERSION=$(cat .ruby-version) . + run: docker build --build-arg RUBY_VERSION="$(<.ruby-version)" . deploy: needs: checks @@ -73,7 +73,7 @@ jobs: - name: Build Docker image run: |- - docker build --tag "$IMAGE" --build-arg RUBY_VERSION=$(cat .ruby-version) . + docker build --tag "$IMAGE" --build-arg RUBY_VERSION="$(<.ruby-version)" . - name: Publish Docker image run: |-