OS Builds on version #43
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: npm config set python python2.7 -g | |
- 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.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 |