From 2669b61a274eff1eb1fd3ce1dc3b3ab5c82765b6 Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Sun, 11 Jul 2021 09:09:37 +0200 Subject: [PATCH] :sparkles: use caxa for bundling --- .github/workflows/release.yml | 119 +++++++++++++++++++--------------- package-lock.json | Bin 691326 -> 708660 bytes package.json | 1 + 3 files changed, 67 insertions(+), 53 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 874315d8..da6e5f4a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,68 +1,81 @@ -on: - workflow_dispatch: - push: - # Sequence of patterns matched against refs/tags - tags: - - "v*" # Push events to matching v*, i.e. v1.0, v20.15.10 - -name: Publish Release - +on: push jobs: - build: - name: Publish Release + insiders-build: + strategy: + matrix: + os: [windows-latest, macos-latest, ubuntu-latest] + include: + - os: windows + build: npx caxa --directory . --command "{{caxa}}/node_modules/.bin/node" "{{caxa}}/lib/index.js" --output "Fosscord-server-windows-${{ github.sha }}.exe" + artifact: Fosscord-server-windows-${{ github.sha }}.exe + - os: macos + build: | + npx caxa --directory . --command "{{caxa}}/node_modules/.bin/node" "{{caxa}}/lib/index.js" --output "Fosscord.app" + tar -czf "Fosscord--server-macos-${{ github.sha }}.app.tgz" "Fosscord.app" + artifact: Fosscord--server-macos-${{ github.sha }}.app.tgz + - os: ubuntu + build: | + npx caxa --directory . --command "{{caxa}}/node_modules/.bin/node" "{{caxa}}/lib/index.js" --output "fosscord" + tar -czf "fosscord-server-linux-${{ github.sha }}.tgz" "fosscord" + artifact: fosscord-server-linux-${{ github.sha }}.tgz + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 15 + - run: | + npm i + npm run build + ${{ matrix.build }} + - uses: actions/upload-artifact@v2 + with: + name: ${{ matrix.artifact }} + path: ${{ matrix.artifact }} + + release: + needs: [insiders-build] runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v2 - - name: Extract version - id: extract_version - uses: Saionaro/extract-package-version@v1.0.6 - - name: Build - run: | - npm install - npm run bundle - - name: Create Release - id: create_release - uses: actions/create-release@v1 + - uses: actions/download-artifact@v2 + with: + name: Fosscord-windows-${{ github.sha }}.exe + - uses: actions/download-artifact@v2 + with: + name: Fosscord-macos-${{ github.sha }}.app.tgz + - uses: actions/download-artifact@v2 + with: + name: Fosscord-linux-${{ github.sha }}.tgz + - run: echo "::set-output name=tag::${GITHUB_REF#refs/tags/}" + id: tag + - uses: actions/create-release@v1 + id: create-release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - tag_name: v${{ steps.extract_version.outputs.version }} - release_name: Release ${{ steps.extract_version.outputs.version }} - draft: true - prerelease: true # TODO: change this to false - - name: Upload Release Linux - id: upload-release-asset-linux - uses: actions/upload-release-asset@v1 + tag_name: ${{ steps.tag.outputs.tag }} + release_name: Release ${{ steps.tag.outputs.tag }} + - uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./build/api-linux - asset_name: fosscord-api-linux - asset_content_type: application/x-binary - - name: Upload Release MacOS - id: upload-release-asset-macos - uses: actions/upload-release-asset@v1 + upload_url: ${{ steps.create-release.outputs.upload_url }} + asset_path: Fosscord-windows-${{ github.sha }}.exe + asset_name: Fosscord-windows-${{ steps.tag.outputs.tag }}.exe + asset_content_type: application/vnd.microsoft.portable-executable + - uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./build/api-macos - asset_name: fosscord-api-macos - asset_content_type: application/x-binary - - name: Upload Release Windows - id: upload-release-asset-windows - uses: actions/upload-release-asset@v1 + upload_url: ${{ steps.create-release.outputs.upload_url }} + asset_path: Fosscord-macos-${{ github.sha }}.app.tgz + asset_name: Fosscord-macos-${{ steps.tag.outputs.tag }}.app.tgz + asset_content_type: application/gzip + - uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./build/api-win.exe - asset_name: fosscord-api-windows.exe - asset_content_type: application/x-binary - - uses: eregon/publish-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - release_id: ${{ steps.create_release.outputs.id }} + upload_url: ${{ steps.create-release.outputs.upload_url }} + asset_path: Fosscord-linux-${{ github.sha }}.tgz + asset_name: Fosscord-linux-${{ steps.tag.outputs.tag }}.tgz + asset_content_type: application/gzip diff --git a/package-lock.json b/package-lock.json index 3abd61b472669b0cfa54d967a7d6c90570fb596a..33859150b49fa390aba71ea76759fb6f9e42faac 100644 GIT binary patch delta 6830 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 d(y2+w{?C2(hZkyl>r5} zSCIkk47VSl0Y@yiD9!;wP?tb10u7h#rw6{55W4{vlc3WGm&T|E&4*wi0=Hlx1D-Co zG*JWU3b(jk19=9w1!e;}<(H661O>OBOa%2Phud}px7&6F97?x(#0B`pw^Wb@!40