mirror of
https://github.com/scratchfoundation/scratch-paint.git
synced 2024-12-23 05:52:42 -05:00
Merge pull request #2249 from scratchfoundation/rd/ENG-13/move-to-gha
Move scratch-paint to GitHub Actions
This commit is contained in:
commit
e77dd6c6e1
4 changed files with 107 additions and 3 deletions
64
.github/workflows/deploy.yml
vendored
Normal file
64
.github/workflows/deploy.yml
vendored
Normal file
|
@ -0,0 +1,64 @@
|
|||
name: Scratch Paint CI-CD
|
||||
|
||||
on:
|
||||
pull_request: # Runs whenever a pull request is created or updated
|
||||
push: # Runs whenever a commit is pushed to the repository...
|
||||
branches: [master, develop, beta, hotfix/*] # ...on any of these branches
|
||||
workflow_dispatch: # Allows you to run this workflow manually from the Actions tab
|
||||
|
||||
concurrency:
|
||||
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pages: write
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
ci-cd:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
TRIGGER_DEPLOY: ${{ startsWith(github.ref, 'refs/heads/master') || startsWith(github.ref, 'refs/heads/hotfix') || startsWith(github.ref, 'refs/heads/develop') || startsWith(github.ref, 'refs/heads/beta') }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: wagoid/commitlint-github-action@v5
|
||||
if: github.event_name == 'pull_request'
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
cache: "npm"
|
||||
node-version-file: ".nvmrc"
|
||||
- name: Info
|
||||
run: |
|
||||
cat <<EOF
|
||||
Node version: $(node --version)
|
||||
NPM version: $(npm --version)
|
||||
GitHub ref: ${{ github.ref }}
|
||||
GitHub head ref: ${{ github.head_ref }}
|
||||
EOF
|
||||
- name: Install NPM Dependencies
|
||||
run: |
|
||||
npm ci
|
||||
mkdir -p ./test/results
|
||||
- name: Lint and Test
|
||||
run: npm run test
|
||||
- name: Build
|
||||
run: npm run build
|
||||
env:
|
||||
NODE_ENV: production
|
||||
- name: Deploy playground to GitHub Pages
|
||||
if: ${{ env.TRIGGER_DEPLOY == 'true'}}
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: playground
|
||||
full_commit_message: "Build for ${{ github.sha }} ${{ github.event.head_commit.message }}"
|
||||
- name: Semantic Release
|
||||
if: ${{ env.TRIGGER_DEPLOY == 'true'}}
|
||||
env:
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: npx --no -- semantic-release
|
||||
|
||||
|
41
.github/workflows/update-l10n.yml
vendored
Normal file
41
.github/workflows/update-l10n.yml
vendored
Normal file
|
@ -0,0 +1,41 @@
|
|||
name: Update i18n
|
||||
|
||||
on:
|
||||
workflow_dispatch: # Allows you to run this workflow manually from the Actions tab
|
||||
schedule:
|
||||
- cron: 0 0 * * * # daily at midnight UTC = 7-8pm US Eastern
|
||||
|
||||
concurrency:
|
||||
group: '${{ github.workflow }}'
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
update-tx:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: 'develop'
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
cache: 'npm'
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Info
|
||||
run: |
|
||||
cat <<EOF
|
||||
Node version: $(node --version)
|
||||
NPM version: $(npm --version)
|
||||
GitHub ref: ${{ github.ref }}
|
||||
GitHub head ref: ${{ github.head_ref }}
|
||||
EOF
|
||||
- name: Setup
|
||||
run: npm --production=false ci
|
||||
- name: Extract translations
|
||||
run: npm run i18n:src
|
||||
- name: Push translations
|
||||
env:
|
||||
TX_TOKEN: ${{ secrets.TX_TOKEN }}
|
||||
run: npm run i18n:push
|
1
.nvmrc
Normal file
1
.nvmrc
Normal file
|
@ -0,0 +1 @@
|
|||
v16
|
|
@ -7,13 +7,11 @@
|
|||
"scripts": {
|
||||
"build": "npm run clean && webpack --progress --colors --bail",
|
||||
"clean": "rimraf ./dist && mkdirp dist && rimraf ./playground && mkdirp playground",
|
||||
"deploy": "touch playground/.nojekyll && gh-pages -t -d playground -m \"[skip ci] Build for $(git log --pretty=format:%H -n1)\"",
|
||||
"i18n:push": "tx-push-src scratch-editor paint-editor ./translations/en.json",
|
||||
"i18n:src": "rimraf ./translations/messages && babel src > tmp.js && rimraf tmp.js && ./scripts/build-i18n-source.js ./translations/messages/ ./translations/",
|
||||
"lint": "eslint . --ext .js,.jsx",
|
||||
"prepare": "husky install",
|
||||
"start": "webpack-dev-server",
|
||||
"test": "npm run lint && npm run unit && NODE_ENV=production npm run build",
|
||||
"test": "npm run lint && npm run unit",
|
||||
"unit": "jest --reporters=default",
|
||||
"watch": "webpack --progress --colors --watch"
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue