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/asset-uploader.yml b/.github/workflows/asset-uploader.yml index 6169db3850..662b47d230 100644 --- a/.github/workflows/asset-uploader.yml +++ b/.github/workflows/asset-uploader.yml @@ -4,7 +4,9 @@ on: paths: - "packages/asset-uploader/**/*" - ".github/workflows/asset-uploader.yml" - - ".github/actions/publish/action.yaml" + - ".github/actions/publish-test/action.yaml" + branches: + - main jobs: publish: runs-on: ubuntu-latest diff --git a/.github/workflows/design-system.yml b/.github/workflows/design-system.yml index b7b00db417..ef7f025716 100644 --- a/.github/workflows/design-system.yml +++ b/.github/workflows/design-system.yml @@ -4,7 +4,9 @@ on: paths: - "packages/design-system/**/*" - ".github/workflows/design-system.yml" - - ".github/actions/publish/action.yaml" + - ".github/actions/publish-test/action.yaml" + branches: + - main jobs: publish: runs-on: ubuntu-latest diff --git a/.github/workflows/eslint-config-custom.yml b/.github/workflows/eslint-config-custom.yml index 86952ce555..f53982e002 100644 --- a/.github/workflows/eslint-config-custom.yml +++ b/.github/workflows/eslint-config-custom.yml @@ -4,7 +4,9 @@ on: paths: - "packages/eslint-config-custom/**/*" - ".github/workflows/eslint-config-custom.yml" - - ".github/actions/publish/action.yaml" + - ".github/actions/publish-test/action.yaml" + branches: + - main jobs: publish: runs-on: ubuntu-latest diff --git a/.github/workflows/http-client.yml b/.github/workflows/http-client.yml index 6a7ef77b88..c07e939586 100644 --- a/.github/workflows/http-client.yml +++ b/.github/workflows/http-client.yml @@ -4,7 +4,9 @@ on: paths: - "packages/http-client/**/*" - ".github/workflows/http-client.yml" - - ".github/actions/publish/action.yaml" + - ".github/actions/publish-test/action.yaml" + branches: + - main jobs: publish: runs-on: ubuntu-latest diff --git a/.github/workflows/icons.yml b/.github/workflows/icons.yml index 9a62e16ccc..a5fbc788af 100644 --- a/.github/workflows/icons.yml +++ b/.github/workflows/icons.yml @@ -3,8 +3,10 @@ on: push: paths: - "packages/icons/**/*" - - ".github/workflows/icons-publish.yml" - - ".github/actions/publish/action.yaml" + - ".github/workflows/package-tests.yml" + - ".github/actions/publish-test/action.yaml" + branches: + - main jobs: publish: runs-on: ubuntu-latest diff --git a/.github/workflows/jest-config.yml b/.github/workflows/jest-config.yml index 76d6fe8a56..6cec1885a5 100644 --- a/.github/workflows/jest-config.yml +++ b/.github/workflows/jest-config.yml @@ -4,7 +4,9 @@ on: paths: - "packages/jest-config/**/*" - ".github/workflows/jest-config.yml" - - ".github/actions/publish/action.yaml" + - ".github/actions/publish-test/action.yaml" + branches: + - main jobs: publish: runs-on: ubuntu-latest diff --git a/.github/workflows/package-tests.yml b/.github/workflows/package-tests.yml new file mode 100644 index 0000000000..c9a3210ef7 --- /dev/null +++ b/.github/workflows/package-tests.yml @@ -0,0 +1,60 @@ +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 }} + - uses: ./.github/actions/publish-test + if: always() + with: + workdir: ./packages/eslint-config-custom + filter: "@webstudio-is/eslint-config-custom" + token: ${{ secrets.NPM_TOKEN }} + - uses: ./.github/actions/publish-test + if: always() + with: + workdir: ./packages/http-client + filter: "@webstudio-is/http-client" + token: ${{ secrets.NPM_TOKEN }} + - uses: ./.github/actions/publish-test + if: always() + with: + workdir: ./packages/icons + filter: "@webstudio-is/icons" + token: ${{ secrets.NPM_TOKEN }} + - uses: ./.github/actions/publish-test + if: always() + with: + workdir: ./packages/jest-config + filter: "@webstudio-is/jest-config" + token: ${{ secrets.NPM_TOKEN }} + - uses: ./.github/actions/publish-test + if: always() + with: + workdir: ./packages/react-sdk + filter: "@webstudio-is/react-sdk" + token: ${{ secrets.NPM_TOKEN }} + - uses: ./.github/actions/publish-test + if: always() + with: + workdir: ./packages/tsconfig + filter: "@webstudio-is/tsconfig" + token: ${{ secrets.NPM_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/react-sdk.yml b/.github/workflows/react-sdk.yml index 8bf0dd349e..b99a9eac8a 100644 --- a/.github/workflows/react-sdk.yml +++ b/.github/workflows/react-sdk.yml @@ -4,7 +4,9 @@ on: paths: - "packages/react-sdk/**/*" - ".github/workflows/react-sdk.yml" - - ".github/actions/publish/action.yaml" + - ".github/actions/publish-test/action.yaml" + branches: + - main jobs: publish: runs-on: ubuntu-latest diff --git a/.github/workflows/tsconfig.yml b/.github/workflows/tsconfig.yml index 276926a981..07947ccbc7 100644 --- a/.github/workflows/tsconfig.yml +++ b/.github/workflows/tsconfig.yml @@ -4,7 +4,9 @@ on: paths: - "packages/tsconfig/**/*" - ".github/workflows/tsconfig.yml" - - ".github/actions/publish/action.yaml" + - ".github/actions/publish-test/action.yaml" + branches: + - main jobs: publish: runs-on: ubuntu-latest