From 25e52f78b955e2fcdcabdcc9bdddcacdb0a76088 Mon Sep 17 00:00:00 2001 From: moklick Date: Mon, 1 Jul 2024 12:13:08 +0200 Subject: [PATCH] feat(workflow): add release action --- .changeset/config.json | 2 +- .github/actions/ci-checks/action.yml | 19 ++++++++++++++++++ .github/actions/ci-setup/action.yml | 15 ++++++++++++++ .github/workflows/release.yml | 29 ++++++++++++++++++++++++++++ examples/astro-xyflow/package.json | 2 +- 5 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 .github/actions/ci-checks/action.yml create mode 100644 .github/actions/ci-setup/action.yml create mode 100644 .github/workflows/release.yml diff --git a/.changeset/config.json b/.changeset/config.json index a917162b..02ee8b55 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -7,5 +7,5 @@ "access": "restricted", "baseBranch": "main", "updateInternalDependencies": "patch", - "ignore": ["astro", "react-examples", "svelte-examples"] + "ignore": ["astro", "react-examples", "svelte-examples", "astro-examples", "playwright"] } diff --git a/.github/actions/ci-checks/action.yml b/.github/actions/ci-checks/action.yml new file mode 100644 index 00000000..b4d61378 --- /dev/null +++ b/.github/actions/ci-checks/action.yml @@ -0,0 +1,19 @@ +name: 'CI checks' + +runs: + using: 'composite' + steps: + - name: Build + run: pnpm build + shell: bash + - name: Typecheck + run: pnpm typecheck + shell: bash + - name: Install Playwright browsers + run: npx playwright install --with-deps + - name: Test React Flow + run: pnpm test:react + shell: bash + # - name: Test Svelte Flow + # run: pnpm test:svelte + # shell: bash diff --git a/.github/actions/ci-setup/action.yml b/.github/actions/ci-setup/action.yml new file mode 100644 index 00000000..3d7f1bef --- /dev/null +++ b/.github/actions/ci-setup/action.yml @@ -0,0 +1,15 @@ +name: 'CI setup' + +runs: + using: 'composite' + steps: + - name: Setup pnpm + uses: pnpm/action-setup@v4 + - name: Setup node.js + uses: actions/setup-node@v4 + with: + node-version: 20.x + cache: 'pnpm' + - name: Install dependencies + run: pnpm install + shell: bash diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..ae36b619 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,29 @@ +name: Release + +on: + push: + branches: + - main + +concurrency: ${{ github.workflow }}-${{ github.ref }} + +jobs: + release: + name: Release + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4 + - uses: ./.github/actions/ci-setup + - uses: ./.github/actions/ci-checks + + - name: Create release PR or publish to npm + id: changesets + uses: xyflow/changeset-action@v1 + with: + publish: pnpm release + title: Release packages + commit: 'chore(packages): bump' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/examples/astro-xyflow/package.json b/examples/astro-xyflow/package.json index c5e498db..94d6e199 100644 --- a/examples/astro-xyflow/package.json +++ b/examples/astro-xyflow/package.json @@ -1,5 +1,5 @@ { - "name": "astro", + "name": "astro-examples", "type": "module", "private": true, "version": "0.0.1",