46 lines
1.5 KiB
YAML
46 lines
1.5 KiB
YAML
name: Build/Publish
|
|
|
|
on:
|
|
workflow_call:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Use Node.js
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 18.x
|
|
cache: 'npm'
|
|
- run: npm ci
|
|
- run: npm run build --if-present
|
|
- name: Archive Release
|
|
uses: thedoctor0/zip-release@0.7.1
|
|
with:
|
|
type: tar
|
|
filename: build.tar.gz
|
|
exclusions: "*.git* *.tar.gz"
|
|
- name: Cache build
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: cache-${{ github.run_id }}-${{ github.run_attempt }}
|
|
path: build.tar.gz
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
needs: build
|
|
steps:
|
|
- name: Fetch build cache
|
|
uses: actions/download-artifact@v3
|
|
with:
|
|
name: cache-${{ github.run_id }}-${{ github.run_attempt }}
|
|
- name: Extract build cache
|
|
run: tar xvf build.tar.gz && rm build.tar.gz -f
|
|
- name: Install SSH key
|
|
uses: shimataro/ssh-key-action@v2
|
|
with:
|
|
key: ${{ secrets.GITEA_SSH_KEY }}
|
|
name: gitea # optional
|
|
known_hosts: ${{ secrets.GITEA_KNOWN_HOST }}
|
|
- run: npm run semantic-release
|