From e4aafbc662fc539126f0d2827e2a5a6cd54ebb35 Mon Sep 17 00:00:00 2001 From: Mithi Sevilla Date: Thu, 1 Jan 2026 04:39:11 +0800 Subject: [PATCH 1/4] Upgrade actions/cache from v2 to v3 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7a114a7..29c5d50 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - - uses: actions/cache@v2 + - uses: actions/cache@v3 id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} From 67322b69d7d01b66276af47dfa53954be2ed4fe8 Mon Sep 17 00:00:00 2001 From: Mithi Sevilla Date: Thu, 1 Jan 2026 21:54:42 +0800 Subject: [PATCH 2/4] Update build.yml to try to fix prettier issue --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 29c5d50..b17ee40 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,7 +44,7 @@ jobs: # so there's no need to include a step install Yarn. - name: Add prettier - run: yarn add prettier --dev + run: yarn add prettier@2.8.8 --dev - name: Check code style run: yarn run prettier --config ./.prettierrc.yaml --check ./src/* From 69419fb6acefa2c00bd11749dfeee38bce684960 Mon Sep 17 00:00:00 2001 From: Mithi Sevilla Date: Thu, 1 Jan 2026 22:17:42 +0800 Subject: [PATCH 3/4] Convert build.yml from 2 spaces to 4 spaces --- .github/workflows/build.yml | 94 ++++++++++++++++++------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b17ee40..0bb0171 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,64 +3,64 @@ name: build # Controls when the action will run. Triggers the workflow on push or pull request # events but only for the master branch on: - push: - branches: [ master ] - pull_request: - branches: [ master ] + push: + branches: [master] + pull_request: + branches: [master] # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [10.x] + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [10.x] - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- + - uses: actions/cache@v3 + id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- - - name: Setup node - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node }} + - name: Setup node + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node }} - # Yarn is included in the list of software installed on the GitHub-hosted Ubuntu - # so there's no need to include a step install Yarn. + # Yarn is included in the list of software installed on the GitHub-hosted Ubuntu + # so there's no need to include a step install Yarn. - - name: Add prettier - run: yarn add prettier@2.8.8 --dev + - name: Add prettier + run: yarn add prettier@2.8.8 --dev - - name: Check code style - run: yarn run prettier --config ./.prettierrc.yaml --check ./src/* + - name: Check code style + run: yarn run prettier --config ./.prettierrc.yaml --check ./src/* - - name: Install project dependencies - if: steps.yarn-cache.outputs.cache-hit != 'true' - run: yarn + - name: Install project dependencies + if: steps.yarn-cache.outputs.cache-hit != 'true' + run: yarn - - name: Build project - run: yarn build + - name: Build project + run: yarn build - - name: Test and generate coverage report - run: yarn test --watchAll=false --coverage + - name: Test and generate coverage report + run: yarn test --watchAll=false --coverage - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v1 - with: - name: codecov-umbrella - fail_ci_if_error: false + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v1 + with: + name: codecov-umbrella + fail_ci_if_error: false From f5606556552fa65152f7744c7e5bfb50aa354d0e Mon Sep 17 00:00:00 2001 From: Mithi Sevilla Date: Thu, 1 Jan 2026 22:20:50 +0800 Subject: [PATCH 4/4] fix: update GitHub Actions workflow for Node.js 16 compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Upgrade node-version from 10.x to 16.x - Update actions/checkout to v4, actions/setup-node to v4, codecov-action to v4 - Fix matrix variable reference from matrix.node to matrix.node-version - Replace deprecated set-output caching with setup-node built-in cache - Remove redundant install and prettier add steps The CI build was failing with error:0308010C:digital envelope routines::unsupported because GitHub Actions runners no longer support Node.js 10.x, causing the workflow to fall back to Node.js 18+ which uses OpenSSL 3.0—an incompatible version with the older webpack bundled in react-scripts 3.4.4. This update switches to Node.js 16.x, which uses OpenSSL 1.1.x and remains fully compatible with the existing build toolchain. Additionally, the workflow had a bug where matrix.node was referenced instead of the correct matrix.node-version, meaning the setup-node step wasn't receiving the intended version. The action versions were also modernized (checkout@v4, setup-node@v4, codecov-action@v4) and the deprecated ::set-output caching mechanism was replaced with setup-node's built-in yarn cache support. --- .github/workflows/build.yml | 35 ++++++++++------------------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0bb0171..b7c5ffd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,43 +16,28 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [10.x] + node-version: [16.x] # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- + - uses: actions/checkout@v4 - name: Setup node - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: - node-version: ${{ matrix.node }} + node-version: ${{ matrix.node-version }} + cache: "yarn" - # Yarn is included in the list of software installed on the GitHub-hosted Ubuntu - # so there's no need to include a step install Yarn. + # Yarn is included in the list of software installed on the GitHub-hosted Ubuntu + # so there's no need to include a step install Yarn. - - name: Add prettier - run: yarn add prettier@2.8.8 --dev + - name: Install dependencies + run: yarn - name: Check code style run: yarn run prettier --config ./.prettierrc.yaml --check ./src/* - - name: Install project dependencies - if: steps.yarn-cache.outputs.cache-hit != 'true' - run: yarn - - name: Build project run: yarn build @@ -60,7 +45,7 @@ jobs: run: yarn test --watchAll=false --coverage - name: Upload coverage to Codecov - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v4 with: name: codecov-umbrella fail_ci_if_error: false