name: Build and Publish Electron App on: release: types: [published] workflow_dispatch: jobs: build: runs-on: windows-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: '14' - name: Install dependencies run: | npm install - name: Build Electron app run: | npm run build:win env: GH_TOKEN: secrets.GITHUB_TOKEN - name: Create release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.event.release.tag_name }} release_name: Release ${{ github.event.release.tag_name }} - name: Upload artifact uses: actions/upload-artifact@v2 with: name: electron-app path: 'dist/schoolboxdrive Setup 0.1.0.exe' - name: Publish release id: publish_release uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: 'dist/schoolboxdrive Setup 0.1.0.exe' asset_name: electron-app.exe asset_content_type: application/zip