Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/pr-formatting.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ defaults:
run:
shell: bash

env:
LC_ALL: C.UTF-8

permissions:
statuses: write

Expand Down
57 changes: 21 additions & 36 deletions .github/workflows/release-automation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -114,13 +114,13 @@ jobs:

- name: Install pnpm
uses: step-security/action-setup@0ad50dc56a23060fa78b14cfcf0677c4e14b42bc # v5.0.0
with:
version: 9.15.3

- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 24.15.0
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
node-version-file: package.json

- name: Create and Switch to Release Branch
id: branch_or_create_release
Expand All @@ -137,20 +137,10 @@ jobs:
fi

- name: Bump Versions
run: |
npm pkg set version=${{ env.VERSION }} --prefix back-end
npm pkg set version=${{ env.VERSION }} --prefix back-end/apps/api
npm pkg set version=${{ env.VERSION }} --prefix back-end/apps/chain
npm pkg set version=${{ env.VERSION }} --prefix back-end/apps/notifications
npm pkg set version=${{ env.VERSION }} --prefix back-end/typeorm
npm pkg set version=${{ env.VERSION }} --prefix front-end
npm pkg set version=${{ env.VERSION }} --prefix automation
run: pnpm -r --include-workspace-root exec npm pkg set version=${{ env.VERSION }}

- name: Update Lockfiles
run: |
pnpm install --dir back-end
pnpm install --dir front-end
pnpm install --dir automation
run: pnpm install

- name: Generate NOTICE File
if: ${{ needs.prepare.outputs.prerelease == '' }}
Expand Down Expand Up @@ -245,7 +235,7 @@ jobs:

- name: Build and Push Docker Image
id: push
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
with:
context: .
file: ${{ matrix.dockerfile }}
Expand Down Expand Up @@ -306,13 +296,13 @@ jobs:

- name: Install pnpm
uses: step-security/action-setup@0ad50dc56a23060fa78b14cfcf0677c4e14b42bc # v5.0.0
with:
version: 9.15.3

- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 24.15.0
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
node-version-file: package.json

- name: Get pnpm store directory
id: pnpm-store
Expand All @@ -329,7 +319,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with:
python-version: "3.11"
python-version: "3.13"

- name: Install Dependencies
# front-end postinstall (electron-builder install-app-deps) rebuilds
Expand Down Expand Up @@ -405,10 +395,15 @@ jobs:
ref: ${{ needs.prepare.outputs.release_branch }}
token: ${{ secrets.HEDERA_BOT_TOKEN }}

- name: Install pnpm
uses: step-security/action-setup@0ad50dc56a23060fa78b14cfcf0677c4e14b42bc # v5.0.0

- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 24.15.0
cache: pnpm
Comment thread
jbair06 marked this conversation as resolved.
cache-dependency-path: pnpm-lock.yaml
node-version-file: package.json

- name: Close the Milestone
if: ${{ needs.prepare.outputs.prerelease == '' }}
Expand Down Expand Up @@ -642,29 +637,19 @@ jobs:

- name: Install pnpm
uses: step-security/action-setup@0ad50dc56a23060fa78b14cfcf0677c4e14b42bc # v5.0.0
with:
version: 9.15.3

- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 24.15.0
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
node-version-file: package.json

- name: Bump to Next Snapshot Version
run: |
npm pkg set version=${{ env.NEXT_VERSION_SNAPSHOT }} --prefix back-end
npm pkg set version=${{ env.NEXT_VERSION_SNAPSHOT }} --prefix back-end/apps/api
npm pkg set version=${{ env.NEXT_VERSION_SNAPSHOT }} --prefix back-end/apps/chain
npm pkg set version=${{ env.NEXT_VERSION_SNAPSHOT }} --prefix back-end/apps/notifications
npm pkg set version=${{ env.NEXT_VERSION_SNAPSHOT }} --prefix back-end/typeorm
npm pkg set version=${{ env.NEXT_VERSION_SNAPSHOT }} --prefix front-end
npm pkg set version=${{ env.NEXT_VERSION_SNAPSHOT }} --prefix automation
run: pnpm -r --include-workspace-root exec npm pkg set version=${{ env.NEXT_VERSION_SNAPSHOT }}

- name: Update Lockfiles
run: |
pnpm install --dir back-end
pnpm install --dir front-end
pnpm install --dir automation
run: pnpm install

- name: Create Pull Request
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
Expand Down
108 changes: 108 additions & 0 deletions .github/workflows/security.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# SPDX-License-Identifier: Apache-2.0

name: Security

on:
pull_request:
branches:
- main
- release/**
push:
branches:
- main
- release/**
workflow_dispatch:

defaults:
run:
shell: bash

env:
LC_ALL: C.UTF-8

permissions:
contents: read

concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
group: pr-checks-${{ github.workflow }}-${{ github.head_ref || github.run_id }}

jobs:
codeql:
if: github.ref == 'refs/heads/main'
name: CodeQL
Comment thread
steven-sheehy marked this conversation as resolved.
runs-on: transaction-tools-linux-medium
permissions:
security-events: write # Required for uploading SARIF
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

- name: Install pnpm
uses: step-security/action-setup@0ad50dc56a23060fa78b14cfcf0677c4e14b42bc # v5.0.0

- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
node-version-file: package.json

- name: Initialize CodeQL
uses: github/codeql-action/init@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3
with:
build-mode: none
languages: javascript-typescript
queries: security-extended

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3
with:
category: "/language:javascript"

pnpm-audit:
name: PNPM Audit
runs-on: transaction-tools-linux-medium
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

- name: Install pnpm
uses: step-security/action-setup@0ad50dc56a23060fa78b14cfcf0677c4e14b42bc # v5.0.0

- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
node-version-file: package.json

- name: Audit Dependencies
run: pnpm audit --audit-level=high

semgrep:
if: github.ref == 'refs/heads/main'
name: Semgrep
permissions:
Comment thread
steven-sheehy marked this conversation as resolved.
security-events: write # Required for uploading SARIF
runs-on: transaction-tools-linux-medium
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with:
python-version: "3.13"

- name: Install Semgrep
run: pip install semgrep==1.168.0

- name: Run Semgrep
run: semgrep scan --error --sarif --output semgrep.sarif

- name: Upload SARIF
if: ${{ always() }}
uses: github/codeql-action/upload-sarif@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3
with:
category: semgrep
sarif_file: semgrep.sarif
20 changes: 4 additions & 16 deletions .github/workflows/smoke-test-mac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,30 +41,18 @@ jobs:

- name: Install pnpm
uses: step-security/action-setup@0ad50dc56a23060fa78b14cfcf0677c4e14b42bc # v5.0.0
with:
version: 9.15.3

- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 24.15.0

- name: Get pnpm store directory
id: pnpm-store
run: echo "path=$(pnpm store path --silent)" >> $GITHUB_OUTPUT

- name: Cache pnpm store
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: ${{ steps.pnpm-store.outputs.path }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
node-version-file: package.json

- name: Set up Python
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with:
python-version: "3.11"
python-version: "3.13"

- name: Install Dependencies
working-directory: front-end
Expand Down
14 changes: 8 additions & 6 deletions .github/workflows/test-backend.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# SPDX-License-Identifier: Apache-2.0

name: Test Backend

on:
Expand All @@ -15,6 +17,9 @@ defaults:
run:
shell: bash

env:
LC_ALL: C.UTF-8

permissions:
contents: read

Expand Down Expand Up @@ -47,16 +52,13 @@ jobs:

- name: Install pnpm
uses: step-security/action-setup@0ad50dc56a23060fa78b14cfcf0677c4e14b42bc # v5.0.0
with:
version: 9.15.3

- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 24.15.0
cache: 'pnpm'
cache-dependency-path: |
pnpm-lock.yaml
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
node-version-file: package.json

- name: Install dependencies
run: pnpm install --frozen-lockfile
Expand Down
Loading
Loading