diff --git a/.azure/build-web.yml b/.azure/build-web.yml deleted file mode 100644 index 8c7fa48..0000000 --- a/.azure/build-web.yml +++ /dev/null @@ -1,4 +0,0 @@ -steps: - - script: | - npm run build - displayName: 'Build project files' \ No newline at end of file diff --git a/.azure/mac-files.yml b/.azure/mac-files.yml deleted file mode 100644 index 5347773..0000000 --- a/.azure/mac-files.yml +++ /dev/null @@ -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' \ No newline at end of file diff --git a/.azure/setup.yml b/.azure/setup.yml deleted file mode 100644 index 7494447..0000000 --- a/.azure/setup.yml +++ /dev/null @@ -1,9 +0,0 @@ -steps: -- task: NodeTool@0 - inputs: - versionSpec: '8.x' - displayName: 'Install Node.js' - -- script: | - npm install - displayName: 'Install dependencies' \ No newline at end of file diff --git a/.github/workflows/ci-linux.yml b/.github/workflows/ci-linux.yml new file mode 100644 index 0000000..837256f --- /dev/null +++ b/.github/workflows/ci-linux.yml @@ -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 \ No newline at end of file diff --git a/.github/workflows/ci-mac.yml b/.github/workflows/ci-mac.yml new file mode 100644 index 0000000..b6a1846 --- /dev/null +++ b/.github/workflows/ci-mac.yml @@ -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 \ No newline at end of file diff --git a/.github/workflows/ci-standard.yml b/.github/workflows/ci-standard.yml new file mode 100644 index 0000000..9a21f54 --- /dev/null +++ b/.github/workflows/ci-standard.yml @@ -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 \ No newline at end of file diff --git a/.github/workflows/ci-win.yml b/.github/workflows/ci-win.yml new file mode 100644 index 0000000..c884272 --- /dev/null +++ b/.github/workflows/ci-win.yml @@ -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 \ No newline at end of file diff --git a/README.md b/README.md index facacd1..09acc1a 100644 --- a/README.md +++ b/README.md @@ -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