Skip to content

Commit

Permalink
Merge pull request #9675 from weseek/support/prepare-v1.0.0-pdf-conve…
Browse files Browse the repository at this point in the history
…rter.0

Prepare v1.0.0-pdf-converter.0
  • Loading branch information
mergify[bot] authored Feb 23, 2025
2 parents 2030c87 + 7942307 commit 28679e1
Show file tree
Hide file tree
Showing 133 changed files with 8,140 additions and 580 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu
{
"name": "GROWI-Dev",
"dockerComposeFile": "compose.yml",
"service": "node",
"dockerComposeFile": "../compose.yml",
"service": "app",
"workspaceFolder": "/workspace/growi",

"features": {
Expand All @@ -16,7 +16,7 @@
// "forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "/bin/bash ./.devcontainer/postCreateCommand.sh",
"postCreateCommand": "/bin/bash ./.devcontainer/app/postCreateCommand.sh",

// Configure tool-specific properties.
"customizations": {
Expand All @@ -37,7 +37,10 @@
"vitest.explorer",
"ms-playwright.playwright"
],
}
"settings": {
"terminal.integrated.defaultProfile.linux": "bash"
}
},
},

// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
Expand Down
File renamed without changes.
14 changes: 13 additions & 1 deletion .devcontainer/compose.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
services:
node:
app:
image: mcr.microsoft.com/devcontainers/base:ubuntu
volumes:
- ..:/workspace/growi:delegated
Expand All @@ -8,6 +8,7 @@ services:
- buildcache_app:/workspace/growi/apps/app/.next
- ../../growi-docker-compose:/workspace/growi-docker-compose:delegated
- ../../share:/workspace/share:delegated
- page_bulk_export_tmp:/tmp/page-bulk-export
tty: true
networks:
- default
Expand Down Expand Up @@ -44,10 +45,21 @@ services:
- /usr/share/elasticsearch/data
- ../../growi-docker-compose/elasticsearch/v8/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml

pdf-converter:
# enabling devcontainer 'features' was not working for secondary devcontainer (https://github.com/devcontainers/features/issues/1175)
image: mcr.microsoft.com/vscode/devcontainers/javascript-node:1-20
volumes:
- ..:/workspace/growi:delegated
- pnpm-store:/workspace/growi/.pnpm-store
- node_modules:/workspace/growi/node_modules
- page_bulk_export_tmp:/tmp/page-bulk-export
tty: true

volumes:
pnpm-store:
node_modules:
buildcache_app:
page_bulk_export_tmp:

networks:
default:
Expand Down
29 changes: 29 additions & 0 deletions .devcontainer/pdf-converter/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"name": "GROWI-PDF-Converter",
"dockerComposeFile": "../compose.yml",
"service": "pdf-converter",
"workspaceFolder": "/workspace/growi",

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "/bin/bash ./.devcontainer/pdf-converter/postCreateCommand.sh",

// Configure tool-specific properties.
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"mhutchie.git-graph",
"eamodio.gitlens"
],
"settings": {
"terminal.integrated.defaultProfile.linux": "bash"
}
}
}

// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
17 changes: 17 additions & 0 deletions .devcontainer/pdf-converter/postCreateCommand.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Instal additional packages
sudo apt update
sudo apt-get install -y --no-install-recommends \
chromium fonts-lato fonts-ipafont-gothic fonts-noto-cjk
sudo apt-get clean -y

# Setup pnpm
SHELL=bash pnpm setup
eval "$(cat /home/node/.bashrc)"
# Update pnpm
pnpm i -g pnpm

# Install turbo
pnpm install turbo --global

# Install dependencies
turbo run bootstrap
168 changes: 168 additions & 0 deletions .github/workflows/ci-pdf-converter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
name: Node CI for pdf-converter

on:
push:
branches-ignore:
- release/**
- rc/**
- support/prepare-v**
paths:
- .github/mergify.yml
- .github/workflows/ci-pdf-converter.yml
- .eslint*
- tsconfig.base.json
- turbo.json
- pnpm-lock.yaml
- package.json
- apps/pdf-converter/**
- '!apps/pdf-converter/docker/**'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true


jobs:

ci-pdf-converter-lint:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [20.x]

steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'

- name: Install dependencies
run: |
pnpm add turbo --global
pnpm install --frozen-lockfile
- name: Lint
run: |
turbo run lint --filter=@growi/pdf-converter
- name: Slack Notification
uses: weseek/ghaction-slack-notification@master
if: failure()
with:
type: ${{ job.status }}
job_name: '*Node CI for growi-pdf-converter - test (${{ matrix.node-version }})*'
channel: '#ci'
isCompactMode: true
url: ${{ secrets.SLACK_WEBHOOK_URL }}

ci-pdf-converter-launch-dev:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [20.x]

steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'

- name: Install dependencies
run: |
pnpm add turbo --global
pnpm install --frozen-lockfile
- name: turbo run dev:pdf-converter:ci
working-directory: ./apps/pdf-converter
run: turbo run dev:pdf-converter:ci

- name: Slack Notification
uses: weseek/ghaction-slack-notification@master
if: failure()
with:
type: ${{ job.status }}
job_name: '*Node CI for growi-pdf-converter - launch-dev (${{ matrix.node-version }})*'
channel: '#ci'
isCompactMode: true
url: ${{ secrets.SLACK_WEBHOOK_URL }}

ci-pdf-converter-launch-prod:

if: startsWith(github.head_ref, 'mergify/merge-queue/')

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [20.x]

steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'

- name: Install turbo
run: |
pnpm add turbo --global
- name: Install dependencies
run: |
pnpm install --frozen-lockfile
- name: Restore dist
uses: actions/cache/restore@v4
with:
path: |
**/.turbo
**/dist
key: dist-pdf-converter-prod-${{ runner.OS }}-node${{ matrix.node-version }}-${{ github.sha }}
restore-keys: |
dist-pdf-converter-prod-${{ runner.OS }}-node${{ matrix.node-version }}-
- name: Build
working-directory: ./apps/pdf-converter
run: |
turbo run build
- name: Assembling all dependencies
run: |
rm -rf out
pnpm deploy out --prod --filter @growi/pdf-converter
rm -rf apps/pdf-converter/node_modules && mv out/node_modules apps/pdf-converter/node_modules
- name: pnpm run start:prod:ci
working-directory: ./apps/pdf-converter
run: pnpm run start:prod:ci

- name: Slack Notification
uses: weseek/ghaction-slack-notification@master
if: failure()
with:
type: ${{ job.status }}
job_name: '*Node CI for growi-pdf-converter - launch-prod (${{ matrix.node-version }})*'
channel: '#ci'
isCompactMode: true
url: ${{ secrets.SLACK_WEBHOOK_URL }}

- name: Cache dist
uses: actions/cache/save@v4
with:
path: |
**/.turbo
**/dist
key: dist-pdf-converter-prod-${{ runner.OS }}-node${{ matrix.node-version }}-${{ github.sha }}
Loading

0 comments on commit 28679e1

Please sign in to comment.