Skip to content

feat(web): react-typed-i18n页面国际化 #4163

feat(web): react-typed-i18n页面国际化

feat(web): react-typed-i18n页面国际化 #4163

name: Test, Build and Publish Projects
on:
workflow_dispatch:
pull_request:
branches: [master]
push:
tags:
- "v**"
branches:
- master
concurrency: ${{ github.workflow }}-${{ github.ref }}
env:
GITHUB_CR: ghcr.io
# ALIYUN_CR: registry.cn-hangzhou.aliyuncs.com
# ALIYUN_PROJECT_NAME: scow
jobs:
test-version-packages:
name: Test and version packages
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
# changelog generation requires full history
# to track each changelog file to its submission commit
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- uses: pnpm/action-setup@v2.4.0
- uses: actions/setup-node@v3
with:
node-version: 18.x
cache: pnpm
- name: Install dependencies
run: pnpm i --frozen-lockfile
- name: Lint code
run: pnpm lint
- name: Generate SSH key pairs for test
run: ssh-keygen -t rsa -q -f "$HOME/.ssh/id_rsa" -N ""
- name: Start dev env for db testing
run: pnpm devenv
- name: Check running containers
run: docker ps
- name: Prepare dev libs and code
run: pnpm prepareDev
- name: Wait for ports
uses: ifaxity/wait-on-action@main
with:
log: true
verbose: true
resource: "tcp:localhost:3306 tcp:localhost:6379 tcp:localhost:389 tcp:localhost:6000 tcp:localhost:6001 tcp:localhost:6002"
- name: Run tests
run: pnpm test:ci
- name: Upload test converage
uses: codecov/codecov-action@v3
with:
files: ./libs/auth/coverage/lcov.info,./libs/ssh/coverage/lcov.info,./libs/libconfig/coverage/lcov.info,./libs/decimal/coverage/lcov.info,./libs/server/coverage/lcov.info,./apps/cli/coverage/lcov.info,./apps/auth/coverage/lcov.info,./apps/mis-server/coverage/lcov.info,./apps/portal-server/coverage/lcov.info,./apps/gateway/coverage/lcov.info,./apps/audit-server/coverage/lcov.info
- name: Create Release Pull Request or Publish
id: changesets
uses: changesets/action@v1
if: github.ref == 'refs/heads/master'
with:
version: pnpm ci:version
publish: pnpm ci:publish
createGithubReleases: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
scow-cli:
needs: test-version-packages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2.4.0
- uses: actions/setup-node@v3
with:
node-version: 18.x
cache: pnpm
- name: Install dependencies for scow-cli
run: pnpm i --frozen-lockfile --filter @scow/cli...
- name: Build scow-cli
run: pnpm build "--filter=@scow/cli"
- name: Archive scow-cli-x64
uses: actions/upload-artifact@v3
with:
name: scow-cli-x64
path: apps/cli/exe/cli-x64
- name: Archive scow-cli-arm64
uses: actions/upload-artifact@v3
with:
name: scow-cli-arm64
path: apps/cli/exe/cli-arm64
build-images:
needs: test-version-packages
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
strategy:
matrix:
include:
- name: scow
file: scow
build_args: ""
- name: docs
file: docs
build_args: BASE_PATH=/SCOW/
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to the GitHub Container registry
uses: docker/login-action@b4bedf8053341df3b5a9f9e0f2cf4e79e27360c6
with:
registry: ${{ env.GITHUB_CR }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.GITHUB_CR }}/${{ github.repository }}/${{ matrix.name }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
build-args: ${{ matrix.build_args }}
tags: ${{ steps.meta.outputs.tags }}
file: docker/Dockerfile.${{ matrix.file }}
labels: ${{ steps.meta.outputs.labels }}
# only build arm64 in master commits
platforms: linux/amd64${{ github.ref_type == 'tag' && ',linux/arm64' || '' }}
release:
runs-on: ubuntu-latest
needs:
- scow-cli
- build-images
if: github.ref_type == 'tag'
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Download cli-x64
uses: actions/download-artifact@v3
with:
name: scow-cli-x64
path: release/scow-cli
- name: Download cli-arm64
uses: actions/download-artifact@v3
with:
name: scow-cli-arm64
path: release/scow-cli
- name: Display structure of downloaded files
run: ls -R
working-directory: release
- name: Create release
uses: softprops/action-gh-release@v1
with:
name: SCOW ${{ github.ref_name }}
body_path: changelogs/${{ github.ref_name }}.md
generate_release_notes: false
files: |
release/scow-cli/cli-x64
release/scow-cli/cli-arm64