Skip to content

new release

new release #2088

Workflow file for this run

# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
name: forge-sql-orm CI
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
permissions:
contents: read
jobs:
build:
environment: forge-sql-orm
permissions:
contents: write
pull-requests: write
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [24.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Clear npm cache
run: npm cache clean --force
- run: npm install -g @forge/cli && forge settings set usage-analytics true
- run: echo APPLICATION
- run: npm ci
- run: npm run knip
- run: npm run lint
- run: npm run build
- run: npm run format:check
- run: npm run test:coverage
if: github.actor != 'dependabot[bot]'
- name: SonarQube Scan
if: github.actor != 'dependabot[bot]'
uses: SonarSource/sonarqube-scan-action@v7
env:
SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}
- name: Upload to Qlty
if: github.actor != 'dependabot[bot]'
uses: qltysh/qlty-action/coverage@main
with:
coverage-token: ${{ secrets.QLTY_COVERAGE_TOKEN }}
files: ./coverage/lcov.info
- run: echo BUILD CLI
- run: cd forge-sql-orm-cli && npm ci
- run: cd forge-sql-orm-cli && npm run knip
- run: cd forge-sql-orm-cli && npm run lint
- run: cd forge-sql-orm-cli && npm run build
- run: echo BUILD EXAMPLES
- run: cd examples/forge-sql-orm-example-dynamic && npm i
- run: cd examples/forge-sql-orm-example-dynamic && npm run knip
- run: cd examples/forge-sql-orm-example-dynamic/static/forge-orm-example && npm i
- run: cd examples/forge-sql-orm-example-dynamic/static/forge-orm-example && npm run knip
- run: cd examples/forge-sql-orm-example-dynamic/static/forge-orm-example && npm run build
- run: cd examples/forge-sql-orm-example-drizzle-driver-simple && npm i
- run: cd examples/forge-sql-orm-example-drizzle-driver-simple && npm run knip
- run: cd examples/forge-sql-orm-example-drizzle-driver-simple/static/forge-orm-example && npm i
- run: cd examples/forge-sql-orm-example-drizzle-driver-simple/static/forge-orm-example && npm run knip
- run: cd examples/forge-sql-orm-example-drizzle-driver-simple/static/forge-orm-example && npm run build
- name: Forge Deploy (Production)
if: github.event_name == 'push'
run: cd examples/forge-sql-orm-example-drizzle-driver-simple && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e production
- name: Forge Deploy (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-drizzle-driver-simple && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e development
- name: Forge Install (Production)
if: github.event_name == 'push'
run: cd examples/forge-sql-orm-example-drizzle-driver-simple && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e production -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- name: Forge Install (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-drizzle-driver-simple && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e development -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- run: cd examples/forge-sql-orm-example-simple && npm i
- run: cd examples/forge-sql-orm-example-simple && npm run knip
- run: cd examples/forge-sql-orm-example-simple && npm run build:ci
- run: cd examples/forge-sql-orm-example-simple/static/forge-orm-example && npm i
- run: cd examples/forge-sql-orm-example-simple/static/forge-orm-example && npm run knip
- run: cd examples/forge-sql-orm-example-simple/static/forge-orm-example && npm run build
- name: Forge Deploy (Production)
if: github.event_name == 'push'
run: cd examples/forge-sql-orm-example-simple && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e production
- name: Forge Deploy (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-simple && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e development
- name: Forge Install (Production)
if: github.event_name == 'push'
run: cd examples/forge-sql-orm-example-simple && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e production -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- name: Forge Install (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-simple && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e development -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- run: cd examples/forge-sql-orm-example-optimistic-locking && npm i
- run: cd examples/forge-sql-orm-example-optimistic-locking && npm run knip
- run: cd examples/forge-sql-orm-example-optimistic-locking && npm run build:ci
- run: cd examples/forge-sql-orm-example-optimistic-locking/static/forge-orm-example && npm i
- run: cd examples/forge-sql-orm-example-optimistic-locking/static/forge-orm-example && npm run knip
- run: cd examples/forge-sql-orm-example-optimistic-locking/static/forge-orm-example && npm run build
- name: Forge Deploy (Production)
if: github.event_name == 'push'
run: cd examples/forge-sql-orm-example-optimistic-locking && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e production
- name: Forge Deploy (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-optimistic-locking && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e development
- name: Forge Install (Production)
if: github.event_name == 'push'
run: cd examples/forge-sql-orm-example-optimistic-locking && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e production -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- name: Forge Install (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-optimistic-locking && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e development -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- run: cd examples/forge-sql-orm-example-optimistic-locking && npm i
- run: cd examples/forge-sql-orm-example-optimistic-locking && npm run knip
- run: cd examples/forge-sql-orm-example-optimistic-locking && npm run build:ci
- run: cd examples/forge-sql-orm-example-optimistic-locking/static/forge-orm-example && npm i
- run: cd examples/forge-sql-orm-example-optimistic-locking/static/forge-orm-example && npm run knip
- run: cd examples/forge-sql-orm-example-optimistic-locking/static/forge-orm-example && npm run build
- name: Forge Deploy (Production)
if: github.event_name == 'push'
run: cd examples/forge-sql-orm-example-optimistic-locking && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e production
- name: Forge Deploy (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-optimistic-locking && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e development
- name: Forge Install (Production)
if: github.event_name == 'push'
run: cd examples/forge-sql-orm-example-optimistic-locking && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e production -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- name: Forge Install (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-optimistic-locking && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e development -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- run: cd examples/forge-sql-orm-example-query-analyses && npm i
- run: cd examples/forge-sql-orm-example-query-analyses && npm run knip
- run: cd examples/forge-sql-orm-example-query-analyses && npm run build:ci
- run: cd examples/forge-sql-orm-example-query-analyses/static/forge-orm-example && npm i
- run: cd examples/forge-sql-orm-example-query-analyses/static/forge-orm-example && npm run knip
- run: cd examples/forge-sql-orm-example-query-analyses/static/forge-orm-example && npm run build
- name: Forge Deploy (Production)
if: github.event_name == 'push'
run: cd examples/forge-sql-orm-example-query-analyses && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e production
- name: Forge Deploy (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-query-analyses && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e development
- name: Forge Install (Production)
if: github.event_name == 'push'
run: cd examples/forge-sql-orm-example-query-analyses && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e production -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- name: Forge Install (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-query-analyses && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e development -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- run: cd examples/forge-sql-orm-example-checklist && npm i
- run: cd examples/forge-sql-orm-example-checklist && npm run knip
- run: cd examples/forge-sql-orm-example-checklist && npm run build:ci
- run: cd examples/forge-sql-orm-example-checklist/static/forge-orm-example && npm i
- run: cd examples/forge-sql-orm-example-checklist/static/forge-orm-example && npm run knip
- run: cd examples/forge-sql-orm-example-checklist/static/forge-orm-example && npm run build
- name: Forge Deploy (Production)
if: github.event_name == 'push'
run: cd examples/forge-sql-orm-example-checklist && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e production
- name: Forge Deploy (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-checklist && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e development
- name: Forge Install (Production)
if: github.event_name == 'push'
run: cd examples/forge-sql-orm-example-checklist && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e production -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- name: Forge Install (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-checklist && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e development -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- run: cd examples/forge-sql-orm-example-org-tracker && npm i
- run: cd examples/forge-sql-orm-example-org-tracker && npm run knip
- run: cd examples/forge-sql-orm-example-org-tracker && npm run build:ci
- run: cd examples/forge-sql-orm-example-org-tracker/static/forge-orm-example && npm i
- run: cd examples/forge-sql-orm-example-org-tracker/static/forge-orm-example && npm run knip
- run: cd examples/forge-sql-orm-example-org-tracker/static/forge-orm-example && npm run build
- name: Forge Deploy (Production)
if: github.event_name == 'push' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-org-tracker && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e production
- name: Forge Deploy (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-org-tracker && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e development
- name: Forge Install (Production)
if: github.event_name == 'push' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-org-tracker && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e production -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- name: Forge Install (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-org-tracker && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e development -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- run: cd examples/forge-sql-orm-example-dynamic && npm i
- run: cd examples/forge-sql-orm-example-dynamic && npm run knip
- run: cd examples/forge-sql-orm-example-dynamic && npm run build:ci
- run: cd examples/forge-sql-orm-example-dynamic/static/forge-orm-example && npm i
- run: cd examples/forge-sql-orm-example-dynamic/static/forge-orm-example && npm run knip
- run: cd examples/forge-sql-orm-example-dynamic/static/forge-orm-example && npm run build
- name: Forge Deploy (Production)
if: github.event_name == 'push' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-dynamic && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e production
- name: Forge Deploy (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-dynamic && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e development
- name: Forge Install (Production)
if: github.event_name == 'push' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-dynamic && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e production -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- name: Forge Install (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-dynamic && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e development -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- run: cd examples/forge-sql-orm-example-sql-executor && npm i
- run: cd examples/forge-sql-orm-example-sql-executor && npm run knip
- run: cd examples/forge-sql-orm-example-sql-executor && npm run build:ci
- run: cd examples/forge-sql-orm-example-sql-executor/static/forge-orm-example && npm i
- run: cd examples/forge-sql-orm-example-sql-executor/static/forge-orm-example && npm run knip
- run: cd examples/forge-sql-orm-example-sql-executor/static/forge-orm-example && npm run build
- name: Forge Deploy (Production)
if: github.event_name == 'push' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-sql-executor && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e production
- name: Forge Deploy (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-sql-executor && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e development
- name: Forge Install (Production)
if: github.event_name == 'push' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-sql-executor && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e production -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- name: Forge Install (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-sql-executor && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e development -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- run: cd examples/forge-sql-orm-example-cache && npm i
- run: cd examples/forge-sql-orm-example-cache && npm run knip
- run: cd examples/forge-sql-orm-example-cache && npm run build:ci
- run: cd examples/forge-sql-orm-example-cache/static/forge-orm-example && npm i
- run: cd examples/forge-sql-orm-example-cache/static/forge-orm-example && npm run knip
- run: cd examples/forge-sql-orm-example-cache/static/forge-orm-example && npm run build
- name: Forge Deploy (Production)
if: github.event_name == 'push' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-cache && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e production
- name: Forge Deploy (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-cache && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge deploy --non-interactive -e development
- name: Forge Install (Production)
if: github.event_name == 'push' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-cache && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e production -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade
- name: Forge Install (Development)
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
run: cd examples/forge-sql-orm-example-cache && export FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} && export FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} && forge install -e development -s ${{ secrets.FORGE_HOSTNAME }} -p Jira --confirm-scopes --non-interactive --upgrade