diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1992267..9d16fef 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,7 +3,7 @@ name: Build/release on: push jobs: - release: + build: runs-on: ${{ matrix.os }} strategy: @@ -11,17 +11,55 @@ jobs: os: [macos-latest, ubuntu-latest, windows-latest] steps: - - name: Check out Git repository - uses: actions/setup-node@v4 + - name: Checkout repository + uses: actions/checkout@v2 - - name: Install Node.js and NPM - uses: actions/setup-node@v4.0.2 - with: - node-version: 20.15.0 + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '20' - - name: Electron Forge Action - uses: yinxulai/actions-electron-forge@0.05 - with: - # GitHub authentication token - github_token: ${{ secrets.github_token }} - package_root: electron-3d-app + - name: Install dependencies + run: npm install + working-directory: electron-3d-app + + - name: Package application with Electron Forge + run: npm run make + working-directory: electron-3d-app + + - name: Upload Electron Forge Artifacts + uses: actions/upload-artifact@v3 + with: + name: electron-forge-artifacts + path: electron-3d-app/out/make + + release: + needs: build + runs-on: ubuntu-latest + steps: + - name: Download Electron Forge Artifacts + uses: actions/download-artifact@v3 + with: + name: electron-forge-artifacts + path: ./electron-3d-app/out/make + + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + draft: false + prerelease: false + + - name: Upload Release Assets + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./electron-3d-app/out/make/**/*.zip + asset_name: electron-3d-app-${{ github.ref }}.zip + asset_content_type: application/zip