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) ![Screenshot](screenshot.png)
[![Matrix room](https://img.shields.io/matrix/hypermasto:matrix.org.svg)](https://matrix.to/#/#hypermasto:matrix.org) [![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) [![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) ![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. 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). > 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 ### Prerequisites