name: CI-update-dist on: workflow_dispatch: push: branches: - 'main' - 'prerelease/**' - 'release/**' paths-ignore: - 'dist/**' permissions: contents: read jobs: update-dist: # Only run for the Gradle repository; otherwise when users create pull requests from their `main` branch # it would erroneously update `dist` on their branch (and the pull request) if: github.repository == 'gradle/actions' permissions: contents: write runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: token: ${{ secrets.BOT_GITHUB_TOKEN }} - name: Set up Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: 20 cache: npm cache-dependency-path: sources/package-lock.json - name: Install npm dependencies run: | npm clean-install working-directory: sources - name: Build distribution run: | npm run check npm run compile working-directory: sources env: NODE_OPTIONS: '-r @gradle/develocity-agent/preload' DEVELOCITY_URL: 'https://ge.solutions-team.gradle.com' DEVELOCITY_ACCESS_KEY: '${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}' - name: Copy the generated sources/dist directory to the top-level dist run: | cp -r sources/dist . - name: Import GPG key to sign commits uses: crazy-max/ghaction-import-gpg@e89d40939c28e39f97cf32126055eeae86ba74ec # v6.3.0 with: gpg_private_key: ${{ secrets.GH_BOT_PGP_PRIVATE_KEY }} passphrase: ${{ secrets.GH_BOT_PGP_PASSPHRASE }} git_user_signingkey: true git_commit_gpgsign: true git_config_global: true # Commit and push changes; has no effect if the files did not change # Important: The push event will not trigger any other workflows, see # https://github.com/stefanzweifel/git-auto-commit-action?tab=readme-ov-file#commits-made-by-this-action-do-not-trigger-new-workflow-runs - name: Commit & push changes uses: stefanzweifel/git-auto-commit-action@b863ae1933cb653a53c021fe36dbb774e1fb9403 # v5.2.0 with: commit_author: bot-githubaction commit_user_name: bot-githubaction commit_user_email: bot-githubaction@gradle.com commit_message: '[bot] Update dist directory' file_pattern: dist