From 04390c83a2c62e0a2c127fce19d5e52de0c467ec Mon Sep 17 00:00:00 2001 From: Emanuele Stoppa Date: Wed, 21 Aug 2024 13:13:07 +0100 Subject: [PATCH] ci: enable preview and repo dispatch (#11768) * ci: enables preview and repo dispatch * chore: change command * use pnpm * change pattern * change pattern /2 --- .github/workflows/dispatch-event.yml | 61 ++++++++++++++++++++++++++ .github/workflows/preview-release.yml | 62 +++++++++++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 .github/workflows/dispatch-event.yml create mode 100644 .github/workflows/preview-release.yml diff --git a/.github/workflows/dispatch-event.yml b/.github/workflows/dispatch-event.yml new file mode 100644 index 0000000000..85e2319fe0 --- /dev/null +++ b/.github/workflows/dispatch-event.yml @@ -0,0 +1,61 @@ +name: Dispatch event + +on: + workflow_dispatch: + push: + branches: + - main + tags: + - '!**' + +permissions: + contents: read + actions: write + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +env: + ASTRO_ADAPTERS_REPO: withastro/adapters + ASTRO_STARLIGHT_REPO: withastro/starlight + ASTRO_PUSH_MAIN_EVENT: biome-push-main-event + +jobs: + repository-dispatch: + name: Repository dispatch + runs-on: ubuntu-latest + steps: + - name: Dispatch event on push - adapters + if: ${{ github.event_name == 'push' }} + uses: peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0 # v3 + with: + token: ${{ secrets.ASTRO_REPOSITORY_DISPATCH }} + repository: ${{ env.ASTRO_ADAPTERS_REPO }} + event-type: ${{ env.ASTRO_PUSH_MAIN_EVENT }} + client-payload: '{"event": ${{ toJson(github.event) }}}' + - name: Dispatch event on push - starlight + if: ${{ github.event_name == 'push' }} + uses: peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0 # v3 + with: + token: ${{ secrets.ASTRO_REPOSITORY_DISPATCH }} + repository: ${{ env.ASTRO_STARLIGHT_REPO }} + event-type: ${{ env.ASTRO_PUSH_MAIN_EVENT }} + client-payload: '{"event": ${{ toJson(github.event) }}}' + # For testing only, the payload is mocked + - name: Dispatch event on workflow dispatch - adapters + if: ${{ github.event_name == 'workflow_dispatch' }} + uses: peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0 # v3 + with: + token: ${{ secrets.ASTRO_REPOSITORY_DISPATCH }} + repository: ${{ env.ASTRO_ADAPTERS_REPO }} + event-type: ${{ env.ASTRO_PUSH_MAIN_EVENT }} + client-payload: '{"event": {"head_commit": {"id": "${{ env.GITHUB_SHA }}"}}}' + - name: Dispatch event on workflow dispatch - starlight + if: ${{ github.event_name == 'workflow_dispatch' }} + uses: peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0 # v3 + with: + token: ${{ secrets.ASTRO_REPOSITORY_DISPATCH }} + repository: ${{ env.ASTRO_STARLIGHT_REPO }} + event-type: ${{ env.ASTRO_PUSH_MAIN_EVENT }} + client-payload: '{"event": {"head_commit": {"id": "${{ env.GITHUB_SHA }}"}}}' diff --git a/.github/workflows/preview-release.yml b/.github/workflows/preview-release.yml new file mode 100644 index 0000000000..cf49894bdf --- /dev/null +++ b/.github/workflows/preview-release.yml @@ -0,0 +1,62 @@ +name: Preview release + +on: + workflow_dispatch: + push: + branches: + - main + tags: + - '!**' + merge_group: + pull_request: + paths-ignore: + - ".vscode/**" + - "**/*.md" + - ".github/ISSUE_TEMPLATE/**" + +permissions: + contents: read + actions: write + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +env: + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ secrets.TURBO_TEAM }} + FORCE_COLOR: true + ASTRO_TELEMETRY_DISABLED: true + # 7 GiB by default on GitHub, setting to 6 GiB + # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources + NODE_OPTIONS: --max-old-space-size=6144 + +jobs: + preview: + name: Publish preview release + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - name: Disable git crlf + run: git config --global core.autocrlf false + + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup PNPM + uses: pnpm/action-setup@v3 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 18 + cache: "pnpm" + + - name: Install dependencies + run: pnpm install + + - name: Build Packages + run: pnpm run build + + - name: Publish packages + run: pnpx pkg-pr-new publish --pnpm './packages/*' './packages/integrations/*'