diff --git a/.github/actions/comment/action.yml b/.github/actions/comment/action.yml new file mode 100644 index 00000000000..955eba1aedd --- /dev/null +++ b/.github/actions/comment/action.yml @@ -0,0 +1,5 @@ +name: 'PR Comment' +description: 'Comment on the PR attached to a commit' +runs: + using: 'node12' + main: 'index.js' diff --git a/.github/actions/comment/index.js b/.github/actions/comment/index.js new file mode 100644 index 00000000000..6fa25ccfa36 --- /dev/null +++ b/.github/actions/comment/index.js @@ -0,0 +1,26 @@ +const core = require('@actions/core'); +const github = require('@actions/github'); + +const octokit = new github.GitHub(process.env.GITHUB_TOKEN); +run(); + +async function run() { + try { + let {data: prs} = await octokit.repos.listPullRequestsAssociatedWithCommit({ + ...github.context.repo, + commit_sha: github.context.sha + }); + + if (!prs) { + return; + } + + await octokit.issues.createComment({ + ...github.context.repo, + issue_number: prs[0].number, + body: `Build successful! [View the storybook](https://reactspectrum.blob.core.windows.net/reactspectrum/${github.context.sha}/index.html)` + }); + } catch (error) { + core.setFailed(error.message); + } +} diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 00000000000..416382b4e02 --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,37 @@ +name: Test +on: [push] +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@master + - name: Use Node 12 + uses: actions/setup-node@v1 + with: + node_version: 12.x + - name: Write npmrc + env: + NPMRC: ${{ secrets.NPMRC }} + run: echo "$NPMRC" > .npmrc + - name: yarn install + run: | + make clean_node_modules + make install_no_postinstall + - name: build + run: | + make clean + make -B + - name: test + run: make ci-test + - name: build storybook + run: make storybook + - name: deploy storybook + env: + AZURE_STORAGE_SAS_TOKEN: ${{ secrets.AZURE_STORAGE_SAS_TOKEN }} + run: | + az storage blob upload-batch -d reactspectrum -s storybook-static --account-name reactspectrum + - name: comment on PR + uses: ./.github/actions/comment + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 5e464dc42d8..97046287a3f 100644 --- a/.gitignore +++ b/.gitignore @@ -10,10 +10,9 @@ dist .package-lock.json .cache -documentation/public -documentation/yarn.lock dist public +storybook-static #allow diff --git a/.npmignore b/.npmignore index c84ca5282a2..1e92ed3f1bf 100644 --- a/.npmignore +++ b/.npmignore @@ -3,9 +3,6 @@ .editorconfig .nycrc .nyc_output -src -test -stories coverage Makefile yarn.lock diff --git a/.npmrc b/.npmrc index 540102f1448..61c82f1f4c4 100644 --- a/.npmrc +++ b/.npmrc @@ -1,16 +1,15 @@ -@spectrum:registry=https://artifactory.corp.adobe.com:443/artifactory/api/npm/npm-spectrum-release/ -//artifactory.corp.adobe.com:443/artifactory/api/npm/npm-spectrum-release/:always-auth=true - -@react:registry=https://artifactory.corp.adobe.com:443/artifactory/api/npm/npm-react-release/ -//artifactory.corp.adobe.com:443/artifactory/api/npm/npm-react-release/:always-auth=false - -@a4u:registry=https://artifactory.corp.adobe.com:443/artifactory/api/npm/npm-a4u-release/ -//artifactory.corp.adobe.com:443/artifactory/api/npm/npm-a4u-release/:always-auth=false - -@kadira:registry=https://registry.npmjs.org/ -//registry.npmjs.org/:always-auth=false - -@types:registry=https://registry.npmjs.org/ -//registry.npmjs.org/:always-auth=false +registry=https://registry.npmjs.com/ +always-auth=false + +@react:registry=https://artifactory-uw2.adobeitc.com/artifactory/api/npm/npm-react-release/ +//artifactory-uw2.adobeitc.com/artifactory/api/npm/npm-react-release/:always-auth=true + +@a4u:registry=https://artifactory-uw2.adobeitc.com/artifactory/api/npm/npm-rsp-tmp-release/ +@react-aria:registry=https://artifactory-uw2.adobeitc.com/artifactory/api/npm/npm-rsp-tmp-release/ +@react-spectrum:registry=https://artifactory-uw2.adobeitc.com/artifactory/api/npm/npm-rsp-tmp-release/ +@react-stately:registry=https://artifactory-uw2.adobeitc.com/artifactory/api/npm/npm-rsp-tmp-release/ +@react-types:registry=https://artifactory-uw2.adobeitc.com/artifactory/api/npm/npm-rsp-tmp-release/ +@spectrum-icons:registry=https://artifactory-uw2.adobeitc.com/artifactory/api/npm/npm-rsp-tmp-release/ +//artifactory-uw2.adobeitc.com/artifactory/api/npm/npm-rsp-tmp-release/:always-auth=true package-lock=false diff --git a/.storybook-v2/addons.js b/.storybook-v2/addons.js deleted file mode 100644 index 067e17f7385..00000000000 --- a/.storybook-v2/addons.js +++ /dev/null @@ -1,6 +0,0 @@ -// To get our default addons (actions and links) -import '@storybook/addon-actions/register'; -import '@storybook/addon-links/register'; -import '@storybook/addon-a11y/register'; -import '@storybook/addon-knobs/register'; -import './theme'; diff --git a/.storybook-v2/config.js b/.storybook-v2/config.js deleted file mode 100644 index badf75dcbb8..00000000000 --- a/.storybook-v2/config.js +++ /dev/null @@ -1,46 +0,0 @@ -import {configure, addDecorator} from '@storybook/react'; -import {configureActions} from '@storybook/addon-actions'; -import { withInfo } from '@storybook/addon-info'; -import React from 'react'; -import {StoryWrapper, VerticalCenter} from './layout'; -import { withA11y } from '@storybook/addon-a11y'; - -configureActions({ - depth: 1 -}); - -addDecorator(withA11y); - -addDecorator( - withInfo({ - inline: true, - styles: { - infoBody: { - backgroundColor: 'transparent', - border: 'none', - boxShadow: 'none', - padding: "0", - margin: "0", - clear: 'both' - } - } - }) -); - -addDecorator(story => ( - - {story()} - -)); - -addDecorator(story => ( - {story()} -)); - - -function loadStories() { - let storiesContext = require.context('../stories', true, /^(.*\.(js|jsx))$/); - storiesContext.keys().forEach(storiesContext); -} - -configure(loadStories, module); diff --git a/.storybook-v2/layout.js b/.storybook-v2/layout.js deleted file mode 100644 index 525aa3c4da4..00000000000 --- a/.storybook-v2/layout.js +++ /dev/null @@ -1,63 +0,0 @@ -import classNames from 'classnames'; -import {Form, FormItem} from '../src/Form'; -import {getLocale} from '../src/utils/intl'; -import Provider from '../src/Provider'; -import React from 'react'; -import Select from '../src/Select'; - -export function VerticalCenter({children, className, style}) { - return ( -
- { children } -
- ); -} - -export class StoryWrapper extends React.Component { - state= { - theme: 'light', - scale: 'medium', - toastPlacement: 'top' - }; - - componentWillMount() { - // add lang attribute to html element - document.documentElement.lang = getLocale(); - - } - - render() { - return ( - -