Skip to content

js(deps): Update dev packages #1110

js(deps): Update dev packages

js(deps): Update dev packages #1110

Workflow file for this run

name: "Deploy"
on:
push:
branches: [master]
schedule:
- cron: "0 0 * * 0"
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: ["20.x"]
env:
IBM_TELEMETRY_DISABLED: 'true'
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
- name: Extract Branch Name
run: echo "BRANCH=$(echo ${GITHUB_REF##*/})" >> $GITHUB_ENV
- name: Filter changed file paths to outputs
uses: dorny/[email protected]
id: changes
if: github.event_name != 'schedule'
with:
filters: |
root: &root
- tsconfig.json
- package.json
- pnpm-lock.yaml
lib: &lib
- 'packages/lib/**'
sharedComponents: &sharedComponents
- 'packages/ui-range-slider/**'
- 'packages/ui-switch/**'
- 'packages/ui/**'
nav: &nav
- 'packages/nav/**'
data: &data
- 'packages/data/**'
scripts: &scripts
- 'packages/scripts/**'
common:
- *root
- *lib
- *sharedComponents
- *nav
- *data
- *scripts
react:
- 'packages/react/**'
- 'packages/chart-react-*/**'
- name: Manual trigger
id: manual-trigger
run: echo "::set-output name=manual-trigger::true"
if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'
- name: Should publish
if: steps.manual-trigger.outputs.manual-trigger == 'true' || steps.changes.outputs.react == 'true' || steps.changes.outputs.common == 'true'
run: echo "PUBLISH=$(echo true)" >> $GITHUB_ENV
- name: Set dest dir (branch)
if: env.BRANCH != 'master'
run: |
echo "AWS_S3_DEST_DIR=dev/branch/${{ env.BRANCH }}" >> $GITHUB_ENV
echo "AWS_CLOUDFRONT_INVALIDATION_PATHS=/dev/branch/${{ env.BRANCH }}/ /dev/branch/${{ env.BRANCH }}/index.html" >> $GITHUB_ENV
- name: Set dest dir (master)
if: env.BRANCH == 'master'
run: |
echo "AWS_S3_DEST_DIR=" >> $GITHUB_ENV
echo "AWS_CLOUDFRONT_INVALIDATION_PATHS=/ /index.html" >> $GITHUB_ENV
- name: Configure AWS Credentials
if: env.PUBLISH == 'true'
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Installing dependencies
if: env.PUBLISH == 'true'
run: pnpm install --frozen-lockfile
- name: "GitHub Data: Generate Cache Key"
id: cache-key
if: env.PUBLISH == 'true' && (steps.manual-trigger.outputs.manual-trigger == 'true' || steps.changes.outputs.react == 'true' || steps.changes.outputs.common == 'true')
run: echo "cache-key=$(pnpm --silent --filter @tony/cv-scripts run github --cache-key)-github-data" >> $GITHUB_ENV
env:
GITHUB_API_TOKEN: ${{ secrets.CI_GITHUB_API_TOKEN }}
- name: "GitHub Data: Restore Cache"
id: restore-github-data-cache
if: env.PUBLISH == 'true' && (steps.manual-trigger.outputs.manual-trigger == 'true' || steps.changes.outputs.react == 'true' || steps.changes.outputs.common == 'true')
uses: actions/cache@v4
with:
path: packages/data/scraped/
key: ${{ env.cache-key }}
restore-keys: |
${{ env.cache-key }}
- name: "GitHub Data: Check if Cache Directory is Empty"
id: check-cache-dir
if: env.PUBLISH == 'true' && (steps.manual-trigger.outputs.manual-trigger == 'true' || steps.changes.outputs.react == 'true' || steps.changes.outputs.common == 'true')
run: |
if [ -z "$(ls -A packages/data/scraped)" ]; then
echo "is-data-dir-empty=true" >> $GITHUB_ENV
else
echo "is-data-dir-empty=false" >> $GITHUB_ENV
fi
- name: "GitHub Data: Fetch Data"
if: env.PUBLISH == 'true' && (steps.restore-github-data-cache.outputs.cache-hit != 'true' || env.is-data-dir-empty == 'true')
run: pnpm --filter @tony/cv-scripts run github
env:
GITHUB_API_TOKEN: ${{ secrets.CI_GITHUB_API_TOKEN }}
- name: "GitHub Data: Save Cache"
if: env.PUBLISH == 'true' && (steps.manual-trigger.outputs.manual-trigger == 'true' || steps.changes.outputs.react == 'true' || steps.changes.outputs.common == 'true')
uses: actions/cache@v4
with:
path: packages/data/scraped/
key: ${{ env.cache-key }}
- name: react
if: env.PUBLISH == 'true' && (steps.manual-trigger.outputs.manual-trigger == 'true' || steps.changes.outputs.react == 'true' || steps.changes.outputs.common == 'true')
run: |
cd packages/react
pnpm build
- name: push to s3 (react)
if: env.PUBLISH == 'true' && (steps.manual-trigger.outputs.manual-trigger == 'true' || steps.changes.outputs.react == 'true' || steps.changes.outputs.common == 'true')
uses: jakejarvis/[email protected]
with:
args: --acl public-read --follow-symlinks
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET_REACT_V2 }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SOURCE_DIR: "packages/react/dist/"
DEST_DIR: ${{ env.AWS_S3_DEST_DIR }}
- name: Invalidate (react)
if: env.PUBLISH == 'true' && (steps.manual-trigger.outputs.manual-trigger == 'true' || steps.changes.outputs.react == 'true' || steps.changes.outputs.common == 'true')
uses: chetan/[email protected]
env:
DISTRIBUTION: ${{ secrets.AWS_CLOUDFRONT_DISTRIBUTION_REACT_V2 }}
PATHS: ${{ env.AWS_CLOUDFRONT_INVALIDATION_PATHS }}
AWS_REGION: "us-east-1"
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}