Skip to content

Commit

Permalink
Package on main
Browse files Browse the repository at this point in the history
- use commit hash as build version
- fix macOS build warning
  • Loading branch information
irahopkinson committed Sep 28, 2023
1 parent a077b85 commit 4f756c0
Show file tree
Hide file tree
Showing 7 changed files with 121 additions and 22 deletions.
109 changes: 109 additions & 0 deletions .github/workflows/package-main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: Package

on:
push:
# DEBUG testing-only - remove all but main
branches: [main, 412-main-artifact]
workflow_dispatch:
inputs:
debug_enabled:
type: boolean
description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)'
required: false
default: false

jobs:
publish:
name: Main on ${{ matrix.os }}, .Net ${{ matrix.dotnet_version }}, node ${{ matrix.node_version }}

runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [macos-latest, ubuntu-latest]
dotnet_version: [7.0.x]
node_version: [18.x]

steps:
- name: Checkout git repo
uses: actions/checkout@v3

- name: Install .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{matrix.dotnet_version}}

- name: Install Node and NPM
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node_version }}
cache: npm

- name: Install and build
run: |
npm install
npm run build
- name: Update release version
run: |
COMMIT_HASH=$(git rev-parse --short "$GITHUB_SHA")
cd ./release/app
CURRENT_VERSION=$(node -pe "require('./package.json').version")
NEW_VERSION="${CURRENT_VERSION}-commit.${COMMIT_HASH}"
echo "Updating version from ${CURRENT_VERSION} to ${NEW_VERSION}"
npm version $NEW_VERSION
- name: dotnet build - Windows on macOS
if: ${{ matrix.os == 'macos-latest' }}
run: npm run build:data-release:windows

- name: Publish releases - Windows and macOS
if: ${{ matrix.os == 'macos-latest' }}
# env:
# # These values are used for auto updates signing
# APPLE_ID: ${{ secrets.APPLE_ID }}
# APPLE_ID_PASS: ${{ secrets.APPLE_ID_PASS }}
# CSC_LINK: ${{ secrets.CSC_LINK }}
# CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
run: |
npm exec electron-builder -- build --publish never --win --mac
- name: Publish releases - Linux
if: ${{ matrix.os == 'ubuntu-latest' }}
env:
# no hardlinks so dependencies are copied
USE_HARD_LINKS: false
run: |
npm exec electron-builder -- build --publish never --linux
- name: Upload macOS artifacts
if: ${{ matrix.os == 'macos-latest' }}
uses: actions/upload-artifact@v3
with:
name: app-macos
path: |
./release/build/*.dmg
- name: Upload Windows artifacts
if: ${{ matrix.os == 'macos-latest' }}
uses: actions/upload-artifact@v3
with:
name: app-windows
path: |
./release/build/*.exe
!./release/build/*Setup*.exe
- name: Upload Linux artifacts
if: ${{ matrix.os == 'ubuntu-latest' }}
uses: actions/upload-artifact@v3
with:
name: app-linux
path: |
./release/build/*.AppImage
# Enable tmate debugging of manually-triggered workflows if the input option was provided
- name: Setup tmate session
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
18 changes: 4 additions & 14 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:

jobs:
publish:
name: Publish on ${{ matrix.os }}, .Net ${{ matrix.dotnet_version }}, and node ${{ matrix.node_version }}
name: Release on ${{ matrix.os }}, .Net ${{ matrix.dotnet_version }}, node ${{ matrix.node_version }}

runs-on: ${{ matrix.os }}

Expand Down Expand Up @@ -43,21 +43,11 @@ jobs:
npm install
npm run build
- name: Install DMG license
- name: dotnet build - Windows on macOS
if: ${{ matrix.os == 'macos-latest' }}
run: npm install dmg-license
run: npm run build:data-release:windows

- name: dotnet build - MacOS and Windows
if: ${{ matrix.os == 'macos-latest' }}
run: |
npm run build:data-release:windows
npm run build:data-release:macos
- name: dotnet build - Linux
if: ${{ matrix.os == 'ubuntu-latest' }}
run: npm run build:data-release:linux

- name: Publish releases - Windows and MacOS
- name: Publish releases - Windows and macOS
# If the branch is labeled as a release version (e.g. "release/v1.2.3"),
if: ${{ matrix.os == 'macos-latest' && startsWith(github.ref, 'refs/heads/release/v') && contains(github.ref, '.') }}
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:

jobs:
test:
name: Test on ${{ matrix.os }}, .Net ${{ matrix.dotnet_version }}, and node ${{ matrix.node_version }}
name: Build on ${{ matrix.os }}, .Net ${{ matrix.dotnet_version }}, node ${{ matrix.node_version }}

runs-on: ${{ matrix.os }}

Expand Down
4 changes: 2 additions & 2 deletions electron-builder.json5
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
* @see https://www.electron.build/configuration/configuration
*/
{
productName: 'ParanextCore',
appId: 'org.paranext.ParanextCore',
productName: 'Platform.Bible',
appId: 'org.paranext.PlatformBible',
asar: true,
asarUnpack: '**\\*.{node,dll}',
files: ['dist', 'node_modules', 'package.json'],
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"build:data-release": "run-script-os",
"build:data-release:windows": "dotnet publish c-sharp/ParanextDataProvider.csproj -r win-x64 -o ./c-sharp/bin/Release/net7.0/publish/win-x64/",
"build:data-release:linux": "dotnet publish c-sharp/ParanextDataProvider.csproj -r linux-x64 -o ./c-sharp/bin/Release/net7.0/publish/linux-x64/",
"build:data-release:macos": "dotnet publish c-sharp/ParanextDataProvider.csproj -r osx-x64 -o ./c-sharp/bin/Release/net7.0/publish/osx-x64/ && dotnet publish c-sharp/ParanextDataProvider.csproj -p:PublishProfile=FolderProfile -r osx-arm64 -o ./c-sharp/bin/Release/net7.0/publish/osx-arm64/",
"build:data-release:macos": "dotnet publish c-sharp/ParanextDataProvider.csproj -r osx-x64 -o ./c-sharp/bin/Release/net7.0/publish/osx-x64/ && dotnet publish c-sharp/ParanextDataProvider.csproj -r osx-arm64 -o ./c-sharp/bin/Release/net7.0/publish/osx-arm64/",
"build:types": "cd lib/papi-dts && npm run build",
"build:papi-components": "cd lib/papi-components && npm run build",
"csharp:tool:restore": "cd c-sharp && dotnet tool restore",
Expand Down
4 changes: 2 additions & 2 deletions release/app/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions release/app/package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "Paranext",
"name": "platform.bible",
"version": "0.0.2",
"description": "Extensible Bible translation software",
"license": "MIT",
"author": {
"name": "Paranext",
"name": "Platform.Bible",
"url": "https://github.com/paranext/"
},
"main": "./dist/main/main.js",
Expand Down

0 comments on commit 4f756c0

Please sign in to comment.