diff --git a/.github/workflows/pkg-pr-new.yml b/.github/workflows/pkg-pr-new.yml new file mode 100644 index 000000000..97938627e --- /dev/null +++ b/.github/workflows/pkg-pr-new.yml @@ -0,0 +1,58 @@ +name: Publish Preview Packages + +on: + pull_request: + push: + branches: + - "**" + tags: + - "!**" + +permissions: {} + +jobs: + publish: + name: Publish Preview + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + + - name: Setup Zig + uses: goto-bus-stop/setup-zig@v2 + with: + version: 0.15.2 + + - name: Install dependencies + run: bun install + + - name: Build core + run: bun run build + working-directory: packages/core + + - name: Get native package directories + id: native-packages + run: | + cd packages/core/node_modules + NATIVE_DIRS=$(find . -maxdepth 1 -type d -name 'opentui-*' -printf '%p ' | tr -d '\n' | sed 's/ $//') + echo "dirs=$NATIVE_DIRS" >> $GITHUB_OUTPUT + echo "Found native packages: $NATIVE_DIRS" + + - name: Build react + run: bun run build --ci + working-directory: packages/react + + - name: Build solid + run: bun run build --ci + working-directory: packages/solid + + - name: Publish preview packages + run: | + CORE_DIRS="./packages/core/dist ${{ steps.native-packages.outputs.dirs }}" + npx pkg-pr-new publish --no-template $CORE_DIRS './packages/react/dist' './packages/solid/dist'