OPHJOD-896: Add Textarea component #613
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Publish Storybook to GitHub Pages | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
permissions: | |
contents: read | |
pages: write | |
id-token: write # Needed to interact with GitHub's OIDC Token endpoint | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis | |
- uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
role-to-assume: arn:aws:iam::${{ secrets.JOD_UTIL_AWS_ACCOUNT_ID }}:role/${{ secrets.JOD_UTIL_AWS_GITHUB_ROLE_NAME}} | |
aws-region: eu-west-1 | |
- name: Copy icons from S3 | |
run: aws s3 cp s3://${{ secrets.JOD_UI_ASSETS }}/icons.woff2 ./public/assets/icons.woff2 | |
- name: Copy font from S3 | |
run: aws s3 cp s3://${{ secrets.JOD_UI_ASSETS }}/Poppins-Regular.ttf ./public/assets/Poppins-Regular.ttf | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: lts/iron | |
cache: npm | |
- name: Install dependencies | |
run: npm ci | |
- name: Run ESLint | |
run: npx eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0 | |
- name: Run Prettier | |
run: npx prettier . --check | |
- name: Run Vitest unit tests | |
run: npx vitest --coverage.enabled true | |
- name: Upload Vitest report | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: coverage | |
path: coverage/ | |
retention-days: 30 | |
- name: Run build | |
run: npm run storybook:build | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: storybook-static/ | |
- name: SonarCloud Scan | |
uses: SonarSource/sonarcloud-github-action@v2 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
deploy: | |
name: Deploy | |
if: github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' | |
environment: development | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
steps: | |
- name: Deploy to GitHub Pages | |
uses: actions/deploy-pages@v4 | |
with: | |
token: ${{ github.token }} |