From 50e37e472c59a9526d721dee7acdb331cc215886 Mon Sep 17 00:00:00 2001 From: patrikx3 Date: Sun, 25 Feb 2024 08:53:14 +0100 Subject: [PATCH] r0b08x [chore] 2/25/2024, 8:53:14 AM --- .github/workflows/build.yml | 123 ++++++++++++++++++++---------------- package.json | 10 +-- 2 files changed, 74 insertions(+), 59 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 66595290..e9982d12 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,62 +1,75 @@ -# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - name: build on: - schedule: - - cron: '0 0 1 * *' - push: - branches: [ master ] - pull_request: - branches: [ master ] + schedule: + - cron: '0 0 1 * *' + push: + branches: [ master ] + tags: + - 'v*' + pull_request: + branches: [ master ] jobs: - build: - - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: ['lts/*'] - # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ - - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 - with: - node-version: ${{ matrix.node-version }} - - run: npm i -g grunt-cli - - run: npm install - - run: grunt - deploy-image: - - runs-on: ubuntu-latest + build: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: ['lts/*'] + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node-version }} + - run: npm i -g grunt-cli + - run: npm install + - run: grunt - needs: [ build ] + deploy-image: + runs-on: ubuntu-latest + needs: build + steps: + - uses: actions/checkout@v2 + - name: get-npm-version + id: package-version + uses: martinbeentjes/npm-get-version-action@main + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push Docker image + run: | + docker buildx build . \ + --platform linux/amd64,linux/arm64,linux/arm/v7 \ + -t patrikx3/p3x-redis-ui:latest \ + -t patrikx3/p3x-redis-ui:${{ steps.package-version.outputs.current-version }} \ + --push - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: get-npm-version - id: package-version - uses: martinbeentjes/npm-get-version-action@main - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to Docker Hub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build Image - run: | - docker buildx build . \ - --platform linux/amd64,linux/arm64,linux/arm/v7 \ - -t patrikx3/p3x-redis-ui:latest \ - -t patrikx3/p3x-redis-ui:$version \ - --push - env: - version: ${{ steps.package-version.outputs.current-version}} \ No newline at end of file + package-and-release-macos: + runs-on: macos-latest + needs: deploy-image + steps: + - uses: actions/checkout@v2 + - name: Set up Node.js + uses: actions/setup-node@v2 + with: + node-version: 'lts/*' + - name: Install dependencies + run: npm install + - name: Build and package macOS app + run: npm run publish-macos + - name: Create and upload release + uses: softprops/action-gh-release@v1 + with: + tag_name: ${{ github.ref_name }} + files: | + dist/mac/*.dmg + dist/mac/*.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/package.json b/package.json index 320230c8..33461100 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,8 @@ "publish-windows": "rimraf dist && electron-builder -p always --windows", "publish-windows-store": "rimraf dist && electron-builder --windows", "publish-electron-snap": "rimraf dist && electron-builder --linux snap -p never", - "publish-electron-yml": "node ./node_modules/corifeus-builder/src/utils/appimage/post-build.js" + "publish-electron-yml": "node ./node_modules/corifeus-builder/src/utils/appimage/post-build.js", + "publish-macos": "electron-builder --mac --arm64 --publish never" }, "repository": { "type": "git", @@ -111,10 +112,11 @@ "target": "appimage" }, "mac": { - "category": "public.app-category.developer-tools", "target": [ - "dmg" - ] + "dmg", + "zip" + ], + "arch": "arm64" }, "snap": { "environment": {