ci: add github actions file

This commit is contained in:
Ron de las Alas 2023-10-04 14:46:58 -04:00
parent ebc8d7f710
commit ba540be72d
2 changed files with 63 additions and 3 deletions

62
.github/workflows/deploy.yml vendored Normal file
View file

@ -0,0 +1,62 @@
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, 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
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: startsWith(github.ref, 'refs/heads/master') || startsWith(github.ref, 'refs/heads/hotfix')
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: startsWith(github.ref, 'refs/heads/master') || startsWith(github.ref, 'refs/heads/hotfix')
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx --no -- semantic-release

View file

@ -7,13 +7,11 @@
"scripts": { "scripts": {
"build": "npm run clean && webpack --progress --colors --bail", "build": "npm run clean && webpack --progress --colors --bail",
"clean": "rimraf ./dist && mkdirp dist && rimraf ./playground && mkdirp playground", "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: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/", "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", "lint": "eslint . --ext .js,.jsx",
"prepare": "husky install",
"start": "webpack-dev-server", "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", "unit": "jest --reporters=default",
"watch": "webpack --progress --colors --watch" "watch": "webpack --progress --colors --watch"
}, },