try github actions storybook deploy

This commit is contained in:
adueck 2023-03-07 15:39:51 +05:00
parent 72a6cb6fb4
commit c83be79467
4 changed files with 95 additions and 2 deletions

62
.github/workflows/pages.yml vendored Normal file
View File

@ -0,0 +1,62 @@
name: Deploy storybook to pages
on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]
paths: ["src/components/**"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true
# Default to bash
defaults:
run:
shell: bash
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: "18"
cache: yarn
- name: Setup Pages
id: pages
uses: actions/configure-pages@v2
- name: Install dependencies
run: yarn r-install
- name: Build storybook
run: cd src/components yarn build-storybook
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: ./scr/components/storybook-static
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1

View File

@ -1 +1,2 @@
node_modules storybook-static
node_modules

View File

@ -0,0 +1,31 @@
import React, { useState } from "react";
import opts from "../../../lib/src/default-text-options";
import ButtonSelect from "../ButtonSelect";
import { Story } from "@storybook/react";
type ButtonSelectProps = Parameters<typeof ButtonSelect>[0];
export default {
title: "ButtonSelect",
component: ButtonSelect,
};
const Template: Story<ButtonSelectProps> = (args) => {
const [value, setValue] = useState<string>("a");
return <div>
<ButtonSelect
{...args}
value={value}
handleChange={e => setValue(e)}
/>
</div>;
}
export const Basic = Template.bind({});
Basic.args = {
options: [
{ value: "a", label: "Option A" },
{ value: "b", label: "Option B" },
{ value: "c", label: "Option C" },
],
};

View File

@ -1 +0,0 @@
Storybook introduction