Merge pull request #92 from hyperspacedev/github-ac

Add GitHub Actions!
This commit is contained in:
Marquis Kurt 2019-10-02 13:58:50 -04:00 committed by GitHub
commit 914285121b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 120 additions and 41 deletions

View File

@ -1,4 +0,0 @@
steps:
- script: |
npm run build
displayName: 'Build project files'

View File

@ -1,25 +0,0 @@
steps:
- task: DownloadSecureFile@1
inputs:
secureFile: 'embedded.provisionprofile'
displayName: 'Download Mac App Store provisioning profile'
- task: DownloadSecureFile@1
inputs:
secureFile: 'nonmas.provisionprofile'
displayName: 'Download regular macOS provisioning profile'
- task: DownloadSecureFile@1
inputs:
secureFile: 'entitlements.mac.plist'
displayName: 'Download regular macOS entitlements'
- task: DownloadSecureFile@1
inputs:
secureFile: 'entitlements.mas.plist'
displayName: 'Download Mac App Store entitlements'
- task: DownloadSecureFile@1
inputs:
secureFile: 'info.plist'
displayName: 'Download info.plist'
- script: mv $(Agent.TempDirectory)/*.plist desktop/
displayName: 'Move entitlements and info to Electron folder'
- script: mv $(Agent.TempDirectory)/*.provisionprofile desktop/
displayName: 'Move provisioning profiles to Electron folder'

View File

@ -1,9 +0,0 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: '8.x'
displayName: 'Install Node.js'
- script: |
npm install
displayName: 'Install dependencies'

21
.github/workflows/ci-linux.yml vendored Normal file
View File

@ -0,0 +1,21 @@
name: Build Linux Client
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Clone source code
uses: actions/checkout@v1
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: 10.x
- name: Install dependencies and build
run: |
npm install
npm run build --if-present
npm run build-desktop-linux

49
.github/workflows/ci-mac.yml vendored Normal file
View File

@ -0,0 +1,49 @@
name: Build macOS Client
on: [push, pull_request]
jobs:
build:
runs-on: macos-latest
steps:
- name: Clone source code
uses: actions/checkout@v1
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: 10.x
- name: Run pre-build setup
run: |
echo "Downloading certificates and profiles..."
echo "$ascCertificates" > certs.b64
echo "$ascMasProfile" > mas.b64
echo "$ascMacProfile" > mac.b64
echo "$ascEntitlementsMas" > entmas.b64
echo "$ascEntitlementsMac" > entmac.b64
echo "$ascInfoPlist" > info.b64
echo "Installing certificates and profiles..."
base64 --decode certs.b64 > Certificates.p12
base64 --decode mas.b64 > desktop/embedded.provisionprofile
base64 --decode mac.b64 > desktop/nonmas.provisionprofile
base64 --decode entmas.b64 > desktop/entitlements.mas.plist
base64 --decode entmac.b64 > desktop/entitlements.mac.plist
base64 --decode info.b64 > desktop/info.plist
security add-generic-password -a "appleseed@marquiskurt.net" -w "$ascPassword" -s "AC_PASSWORD"
sudo security import Certificates.p12 -P "$ascCertsPassword" -k /Library/Keychains/System.keychain
env:
ascPassword: ${{ secrets.ASC_PASSWORD }}
ascCertificates: ${{ secrets.ASC_CERTS }}
ascCertsPassword: ${{ secrets.ASC_CERTS_PASSWORD }}
ascMacProfile: ${{ secrets.ASC_NONMAS_PROFILE }}
ascMasProfile: ${{ secrets.ASC_EMBEDDED_PROFILE }}
ascEntitlementsMas: ${{ secrets.ASC_MAS_ENTITLEMENTS }}
ascEntitlementsMac: ${{ secrets.ASC_MAC_ENTITLEMENTS }}
ascInfoPlist: ${{ secrets.ASC_INFO_PLIST }}
- name: Install dependencies and build
run: |
npm install
npm run build --if-present
npm run build-desktop-darwin-nosign

26
.github/workflows/ci-standard.yml vendored Normal file
View File

@ -0,0 +1,26 @@
name: Node CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [8.x, 10.x, 12.x]
steps:
- name: Clone source code
uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies and build
run: |
npm install
npm run build --if-present
env:
CI: true

21
.github/workflows/ci-win.yml vendored Normal file
View File

@ -0,0 +1,21 @@
name: Build Windows Client
on: [push, pull_request]
jobs:
build:
runs-on: windows-latest
steps:
- name: Clone source code
uses: actions/checkout@v1
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: 10.x
- name: Install dependencies and build
run: |
npm install
npm run build --if-present
npm run build-desktop-win

View File

@ -5,14 +5,14 @@ The new beautiful, fluffy client for the fediverse written in TypeScript and Rea
![Screenshot](screenshot.png)
[![Matrix room](https://img.shields.io/matrix/hypermasto:matrix.org.svg)](https://matrix.to/#/#hypermasto:matrix.org)
[![Discord server](https://img.shields.io/discord/554108687434907660.svg?color=blueviolet&label=discord)](https://discord.gg/c69AXwk)
[![Build Status](https://dev.azure.com/hyperspacedev/Hyperspace/_apis/build/status/CI%20Tests?branchName=master)](https://dev.azure.com/hyperspacedev/Hyperspace/_build/latest?definitionId=1&branchName=master)
[![Discord server](https://img.shields.io/discord/554108687434907660.svg?color=blueviolet&label=discord)](https://discord.gg/c69AXwk)
![Build Status](https://github.com/hyperspacedev/hyperspace/workflows/Node%20CI/badge.svg)
Hyperspace is the fluffiest client for Mastodon and other fediverse networks written in TypeScript and React. Hyperspace offers a fun, clean, fast, and responsive design that scales beautifully across devices and enhances the fediverse experience.
> Note: For more information on how Hyperspace 1.0 is different from the *Hyperspace Classic (0.x)* series, please see [MIGRATING.md](MIGRATING.md).
## Build instrictions
## Build instructions
### Prerequisites