Feature/performance improvement resuable workers (#6) #18
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Node.js CI | |
on: | |
push: | |
branches: | |
- 'main' | |
concurrency: | |
group: "pages" | |
cancel-in-progress: false | |
jobs: | |
pass-tests-and-release: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [16.14.0] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install dependencies | |
run: npm ci | |
- name: Run tests | |
run: npm test | |
- name: Create build | |
run: npm run build | |
- name: Copy license | |
run: cp LICENSE build | |
- name: Generate release tag | |
id: generate_release_tag | |
uses: alexvingg/next-release-tag@v1.0.4 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
tag_prefix: '' | |
- name: Create release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ steps.generate_release_tag.outputs.release_tag }} | |
release_name: Release ${{ steps.generate_release_tag.outputs.release_tag }} | |
- name: ZIP build | |
run: zip -r build.zip build | |
- name: Upload Release Asset (build) | |
id: upload-release-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./build.zip | |
asset_name: build-v.${{ steps.generate_release_tag.outputs.release_tag }}.zip | |
asset_content_type: application/zip | |
- name: Prepare _site directory | |
run: cp -r build _site | |
- name: Upload gh pages artifact | |
uses: actions/upload-pages-artifact@v2 | |
deploy-to-gh-pages: | |
runs-on: ubuntu-latest | |
permissions: | |
pages: write | |
id-token: write | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
needs: pass-tests-and-release | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v2 |