Skip to content

publish_binary

publish_binary #2

Workflow file for this run

name: Dejavu - Node.js Build and Release Workflow
on:
release:
types: [published]
repository_dispatch:
types: [publish_binary]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository with submodules
uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Set up Node.js 20 LTS
uses: actions/setup-node@v3
with:
node-version: '20'
cache: 'yarn'
- name: Install dependencies
run: yarn
- name: Extract version from payload
id: get_version
if: ${{ github.event_name == 'repository_dispatch' }}
run: echo "version=${{ github.event.client_payload.version }}" >> $GITHUB_OUTPUT
- name: Get Version For Release
id: get_version_release
if: ${{ github.event_name != 'repository_dispatch' }}
uses: battila7/[email protected]
- name: Determine Version
id: set_version
run: |
if [ -n "${{ steps.get_version.outputs.version }}" ]; then
echo "version=${{ steps.get_version.outputs.version }}" >> $GITHUB_OUTPUT
elif [ -n "${{ steps.get_version_release.outputs.version }}" ]; then
echo "version=${{ steps.get_version_release.outputs.version }}" >> $GITHUB_OUTPUT
else
echo "Error: Version is not set."
exit 1
fi
- name: Build Dejavu App
run: yarn build:dejavu:app
- name: Zip the dist folder
run: |
zip -r dist-${{ steps.set_version.outputs.version }}.zip ./packages/dejavu-main/dist
- name: Upload dist.zip to GitHub Release
if: ${{ github.event_name == 'release' || github.event_name == 'repository_dispatch' }}
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./dist-${{ steps.set_version.outputs.version }}.zip
asset_name: dejavu-dist-${{ steps.set_version.outputs.version }}.zip
asset_content_type: application/zip