Skip to content

OS Builds on version #47

OS Builds on version

OS Builds on version #47

Workflow file for this run

name: OS Builds on version
on:
push:
tags:
- 'v*'
workflow_dispatch:
defaults:
run:
working-directory: ./
jobs:
linux-build:
name: linux-build
env:
USE_HARD_LINKS: false
MIGRATIONS_DIR: /tmp/.migrate
ASSET_PREFIX: '.'
npm_config_yes: true
NEXT_PUBLIC_ENGINES: 1
MIGRATIONS_ID_TYPE_SQL: bigint
MIGRATIONS_ID_TYPE_GQL: bigint
MIGRATIONS_HASURA_PATH: localhost:8080
MIGRATIONS_HASURA_SSL: 0
MIGRATIONS_HASURA_SECRET: myadminsecretkey
NEXT_PUBLIC_DEEPLINKS_SERVER: http://localhost:3007
NEXT_PUBLIC_GQL_PATH: localhost:3006/gql
NEXT_PUBLIC_GQL_SSL: 0
DEEPLINKS_HASURA_PATH: localhost:8080
DEEPLINKS_HASURA_SSL: 0
MIGRATIONS_DEEPLINKS_APP_URL: http://host.docker.internal:3007
MIGRATIONS_DEEPLINKS_URL: http://host.docker.internal:3006
DOCKER: 1
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Reconfigure git to use HTTP authentication
run: >
git config --global url."https://github.com/".insteadOf
ssh://[email protected]/
- uses: actions/setup-node@v1
with:
node-version: 18
- name: Configure Node caching
uses: actions/cache@v2
env:
cache-name: cache-node-modules-linux
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install dc dependencies
run: npm clean-install
- name: Install electron dependencies
run: cd electron && npm clean-install
- name: build next
run: npm run build && npm run export && npx rimraf electron/app && npx cap copy electron
- name: Build distribution
run: cd electron && npm run electron:make
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create tar.gz file
run: |
cd electron/dist
mv deep-memo-1.0.0.AppImage deep-memo.AppImage
tar -czvf deep-memo.tar.gz deep-memo.AppImage
- name: And a README (to work around GitHub double-zips)
run: |
echo "More information: https://deep.foundation" > electron/dist/README.txt
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: Linux-deep-memo
path: |
electron/dist/deep-memo.tar.gz
electron/dist/README.txt
mac-build:
name: mac-build
env:
USE_HARD_LINKS: false
MIGRATIONS_DIR: /tmp/.migrate
ASSET_PREFIX: '.'
npm_config_yes: true
NEXT_PUBLIC_ENGINES: 1
MIGRATIONS_ID_TYPE_SQL: bigint
MIGRATIONS_ID_TYPE_GQL: bigint
MIGRATIONS_HASURA_PATH: localhost:8080
MIGRATIONS_HASURA_SSL: 0
MIGRATIONS_HASURA_SECRET: myadminsecretkey
NEXT_PUBLIC_DEEPLINKS_SERVER: http://localhost:3007
NEXT_PUBLIC_GQL_PATH: localhost:3006/gql
NEXT_PUBLIC_GQL_SSL: 0
DEEPLINKS_HASURA_PATH: localhost:8080
DEEPLINKS_HASURA_SSL: 0
MIGRATIONS_DEEPLINKS_APP_URL: http://host.docker.internal:3007
MIGRATIONS_DEEPLINKS_URL: http://host.docker.internal:3006
DOCKER: 1
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Reconfigure git to use HTTP authentication
run: >
git config --global url."https://github.com/".insteadOf
ssh://[email protected]/
- uses: actions/setup-node@v1
with:
node-version: 18
- name: Configure Node caching
uses: actions/cache@v2
env:
cache-name: cache-node-modules-mac
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install dependencies
run: npm clean-install
- name: Install electron dependencies
run: cd electron && npm clean-install && ls node_modules | grep @
- name: build next
run: npm run build && npm run export && npx rimraf electron/app && npx cap copy electron
- name: Build distribution
env:
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
CSC_LINK: ${{ secrets.CSC_LINK }}
APPLEID: ${{ secrets.APPLEID }}
APPLEIDPASS: ${{ secrets.APPLEIDPASS }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: cd electron && npm run electron:make
- name: Create zip file
run: |
cd electron/dist/mac
ditto -c -k --keepParent deep-memo.app deep-memo.app.zip
- name: And a README (to work around GitHub double-zips)
run: |
echo "More information: https://deep.foundation" > electron/dist/mac/README.txt
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: Mac-deep-memo
path: |
electron/dist/mac/deep-memo.app.zip
electron/dist/mac/README.txt
windows-build:
name: windows-build
env:
USE_HARD_LINKS: false
MIGRATIONS_DIR: .migrate
ASSET_PREFIX: '.'
npm_config_yes: true
NEXT_PUBLIC_ENGINES: 1
MIGRATIONS_ID_TYPE_SQL: bigint
MIGRATIONS_ID_TYPE_GQL: bigint
MIGRATIONS_HASURA_PATH: localhost:8080
MIGRATIONS_HASURA_SSL: 0
MIGRATIONS_HASURA_SECRET: myadminsecretkey
NEXT_PUBLIC_DEEPLINKS_SERVER: http://localhost:3007
NEXT_PUBLIC_GQL_PATH: localhost:3006/gql
NEXT_PUBLIC_GQL_SSL: 0
DEEPLINKS_HASURA_PATH: localhost:8080
DEEPLINKS_HASURA_SSL: 0
MIGRATIONS_DEEPLINKS_APP_URL: http://host.docker.internal:3007
MIGRATIONS_DEEPLINKS_URL: http://host.docker.internal:3006
DOCKER: 1
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- name: Reconfigure git to use HTTP authentication
run: >
git config --global url."https://github.com/".insteadOf
ssh://[email protected]/
- uses: actions/setup-node@v1
with:
node-version: 18
- name: Configure Node caching
uses: actions/cache@v2
env:
cache-name: cache-node-modules-windows
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: install node-gyp
run: npm install --global [email protected]
- name: Set Python version for node-gyp
run: echo "python=python2.7" >> ~/.npmrc
- name: Install dependencies
run: npm clean-install
- name: Install electron dependencies
run: cd electron && npm clean-install
- name: build next
run: npm run build && npm run export && npx rimraf electron/app && npx cap copy electron
- name: Build distribution
run: cd electron && npm run electron:make
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create zip file
run: |
cd electron/dist
tar.exe -a -c -f deep-memo.zip "deep-memo Setup 1.0.0.exe"
- name: And a README (to work around GitHub double-zips)
run: |
echo "More information: https://deep.foundation" > electron/dist/README.txt
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: Windows-deep-memo
path: |
electron/dist/deep-memo.zip
electron/dist/README.txt
release:
needs: [linux-build, mac-build, windows-build]
name: Create Release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: get-npm-version
id: package-version
uses: martinbeentjes/npm-get-version-action@main
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.package-version.outputs.current-version}}
release_name: Release ${{ steps.package-version.outputs.current-version}}
body: ${{ steps.package-version.outputs.current-version}}
draft: false
prerelease: false
- uses: actions/download-artifact@v3
with:
name: Linux-deep-memo
path: electron/dist
- uses: actions/download-artifact@v3
with:
name: Windows-deep-memo
path: electron/dist
- uses: actions/download-artifact@v3
with:
name: Mac-deep-memo
path: electron/dist
- name: upload linux artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: electron/dist/deep-memo.tar.gz
asset_name: linux-deep-memo.tar.gz
asset_content_type: application/gzip
- name: upload windows artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: electron/dist/deep-memo.zip
asset_name: windows-deep-memo.zip
asset_content_type: application/zip
- name: upload windows artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: electron/dist/deep-memo.app.zip
asset_name: mac-deep-memo.zip
asset_content_type: application/zip