diff --git a/.github/workflows/CD.yml b/.github/workflows/CD.yml index dd7c2f6..57429b8 100644 --- a/.github/workflows/CD.yml +++ b/.github/workflows/CD.yml @@ -22,41 +22,11 @@ jobs: artifact-name: "storybook-latest" deploy-page: needs: build-storybook - permissions: - pages: write - id-token: write - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 - with: - artifact_name: "storybook-latest" + uses: ./.github/workflows/deploy-storybook.yml + with: + artifact_name: "storybook-latest" publish-package: needs: build - permissions: - packages: write - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup node - uses: actions/setup-node@v4 - with: - # TODO: add version to a .nvmrc or at least a variable - node-version: 18.12.1 - cache: npm - registry-url: 'https://npm.pkg.github.com' - - name: Install - run: npm ci --omit=dev --prefer-offline - - name: Download dist - uses: actions/download-artifact@v4 - with: - name: "lib-latest" - path: "./dist" - - run: npm publish - env: - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + uses: ./.github/workflows/publish-package.yml + with: + package-name: "lib-latest" diff --git a/.github/workflows/deploy-storybook.yml b/.github/workflows/deploy-storybook.yml new file mode 100644 index 0000000..786f9c7 --- /dev/null +++ b/.github/workflows/deploy-storybook.yml @@ -0,0 +1,32 @@ +name: 'Deploy Storybook' + +on: + workflow_call: + inputs: + artifact-name: + description: name of the artifact to deploy + required: true + type: string + workflow_dispatch: + inputs: + artifact-name: + description: name of the artifact to deploy + required: false + type: string + default: "storybook-latest" + +jobs: + deploy-page: + permissions: + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 + with: + artifact_name: ${{ inputs.artifact-name }} diff --git a/.github/workflows/publish-package.yml b/.github/workflows/publish-package.yml new file mode 100644 index 0000000..a941788 --- /dev/null +++ b/.github/workflows/publish-package.yml @@ -0,0 +1,42 @@ +name: 'Publish package' + +on: + workflow_call: + inputs: + artifact-name: + description: name of the artifact to publish + required: true + type: string + workflow_dispatch: + inputs: + artifact-name: + description: name of the artifact to publish + required: false + type: string + default: "lib-latest" + +jobs: + publish-package: + permissions: + packages: write + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup node + uses: actions/setup-node@v4 + with: + # TODO: add version to a .nvmrc or at least a variable + node-version: 18.12.1 + cache: npm + registry-url: 'https://npm.pkg.github.com' + - name: Install + run: npm ci --omit=dev --prefer-offline + - name: Download dist + uses: actions/download-artifact@v4 + with: + name: ${{ inputs.artifact-name }} + path: "./dist" + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}