diff --git a/.github/actions/publish-test/action.yaml b/.github/actions/publish-test/action.yaml new file mode 100644 index 0000000000..31166c5b0b --- /dev/null +++ b/.github/actions/publish-test/action.yaml @@ -0,0 +1,38 @@ +name: 'Release NPM package' +description: 'Release NPM package' +inputs: + skip-build: + description: 'Skip build phase (useful for only configuration files)' + default: '' + filter: + description: 'Filter build phase by turbo' + default: '' + required: true + workdir: + description: 'Work directory for NPM publish' + default: '.' + required: true + token: + description: 'NPM Token' + default: 'null' + required: true +runs: + using: "composite" + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 16 + registry-url: 'https://registry.npmjs.org' + - name: Install dependencies and build 🔧 + run: yarn install + shell: bash + - name: Build 🔧 + if: ${{ inputs.skip-build == '' }} + run: yarn build --filter ${{ inputs.filter }} + shell: bash + - name: Publish package on NPM 📦 + run: npm publish -w ${{ inputs.workdir }} --access public --dry-run + shell: bash + env: + NODE_AUTH_TOKEN: ${{ inputs.token }} \ No newline at end of file diff --git a/.github/workflows/package-tests.yml b/.github/workflows/package-tests.yml new file mode 100644 index 0000000000..52ee02cfab --- /dev/null +++ b/.github/workflows/package-tests.yml @@ -0,0 +1,24 @@ +name: Package tests (dry-run) +on: + push: + paths: + - "packages/**/*" + - ".github/workflows/package-tests.yml" + - ".github/actions/publish-test/action.yaml" +jobs: + publish-test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/actions/publish-test + if: always() + with: + workdir: ./packages/asset-uploader + filter: "@webstudio-is/asset-uploader" + token: ${{ secrets.NPM_TOKEN }} + - uses: ./.github/actions/publish-test + if: always() + with: + workdir: ./packages/design-system + filter: "@webstudio-is/design-system" + token: ${{ secrets.NPM_TOKEN }}