Skip to content

Commit

Permalink
Merge pull request #39 from bridie-hifi/bridie-318-js-release
Browse files Browse the repository at this point in the history
Pull latest main from branch bridie-318-js-release into release branch.
  • Loading branch information
zfox23 authored Mar 18, 2021
2 parents d3e3a52 + e5186d5 commit aadce64
Show file tree
Hide file tree
Showing 24 changed files with 9,907 additions and 448 deletions.
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Bug Report
about: Create a bug report to help us improve
title: "[BUG]"
labels: bug
assignees: zfox23

---

## Describe the Bug
<A clear and concise description of the bug.>

## Steps to Reproduce
Steps to reproduce the behavior:
1. <Install the Spatial Audio API...>
2. <Click on '...'>
3. See error.

## Expected Behavior
<A clear and concise description of what you expected to happen.>

## User or Developer Environment
- Environment: <NodeJS or WebJS>
- NodeJS Version: <If applicable, i.e. 14.16.0...>
- OS: <Windows, Mac, Android, iOS, etc...>
- Browser: <If applicable, i.e. Firefox, Chrome, Edge...>

## Screenshots
<If applicable, please add one or more screenshots to help explain your problem.>

## Additional Information
<Add any other context about the problem here.>
16 changes: 14 additions & 2 deletions .github/workflows/deploy-new-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,17 @@ jobs:
SOURCE_DIR: ${{runner.workspace}}/hifi-spatial-audio-js/dist
DEST_DIR: releases/${{ github.event.release.tag_name }}

- name: Alert about manually-updating website
run: echo "New library files uploaded to S3. This Action does not automatically update links on https://www.highfidelity.com/api/download - please update the website now."
- name: Maybe Upload WebJS Version to Latest S3 Folder
uses: highfidelity/s3-sync-action@master
with:
args: --follow-symlinks --delete
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.IAM_SPATIAL_AUDIO_JS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.IAM_SPATIAL_AUDIO_JS_SECRET }}
AWS_REGION: 'us-west-2' # optional: defaults to us-east-1
SOURCE_DIR: ${{runner.workspace}}/hifi-spatial-audio-js/dist
DEST_DIR: releases/latest

- name: Build NodeJS Version of Library
run: npm run build:node
Expand All @@ -68,4 +77,7 @@ jobs:
uses: JS-DevTools/npm-publish@v1
with:
token: ${{ secrets.NPM_TOKEN }}

- name: Create and Upload Releases JSON
run: node ./utilities/uploadReleasesJSON.js

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ example/nodejs/node_modules/
docs/*
docs.json
auth.json
authProd.json
authStag.json

# The contents of this file below this line were autogenerated when we created the
# GitHub repository.
Expand Down
42 changes: 37 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,22 @@
# High Fidelity Spatial Audio Client Library
The High Fidelity Audio Client Library allows developers to integrate High Fidelity's spatial audio technology into their projects.
<img src="./utilities/spatialAudioLogo.svg" alt="High Fidelity Spatial Audio" width="375"/>

&nbsp;

[![npm](https://img.shields.io/npm/v/hifi-spatial-audio?style=flat-square)](https://www.npmjs.com/package/hifi-spatial-audio)
[![npm](https://img.shields.io/npm/dm/hifi-spatial-audio?style=flat-square)](https://www.npmjs.com/package/hifi-spatial-audio)

[![GitHub Workflow Status (event)](https://img.shields.io/github/workflow/status/highfidelity/hifi-spatial-audio-js/Run-Jest-Unit-Tests?label=automated%20tests&style=flat-square)](https://github.com/highfidelity/hifi-spatial-audio-js/actions/workflows/run-unit-tests.yml)
[![GitHub issues](https://img.shields.io/github/issues/highfidelity/hifi-spatial-audio-js?style=flat-square)](https://github.com/highfidelity/hifi-spatial-audio-js/issues)

[![Discord](https://img.shields.io/discord/789545374837768242?label=discord&style=flat-square)](https://discord.gg/GrhxWPrp)
[![Twitter Follow](https://img.shields.io/twitter/follow/HighFidelityXR?style=flat-square)](https://twitter.com/HighFidelityXR)

The High Fidelity Spatial Audio Client Library allows developers to integrate High Fidelity's spatial audio technology into their projects.

## Installation
### NodeJS
```
npm install hifi-spatial-audio
npm i hifi-spatial-audio
```

### Plain Web JavaScript
Expand All @@ -15,18 +26,22 @@ Import the latest version of the main library with:
<script src="https://hifi-spatial-audio-api.s3-us-west-2.amazonaws.com/releases/latest/HighFidelityAudio-latest.js"></script>
```

## You'll Need a Developer Account
To use the Spatial Audio API, you'll need to sign up for a High Fidelity Developer Account. Sign up for free at [account.highfidelity.com](https://account.highfidelity.com).

## Documentation
API documentation is available at [docs.highfidelity.com](https://docs.highfidelity.com).


## Examples
You'll find a bunch of examples that make use of this API in the [Spatial-Audio-API-Examples GitHub Repository](https://github.com/highfidelity/Spatial-Audio-API-Examples).


## Walkthrough Guides
Walkthrough guides of sample applications written in plain Web JavaScript and written in NodeJS are available at [highfidelity.com/api/guides](https://highfidelity.com/api/guides).

## Release Notes
Release notes for the Spatial Audio Client Library are available on [the GitHub releases page](https://github.com/highfidelity/hifi-spatial-audio-js/releases).

-----

## Super QuickStart - Web JavaScript
Here's a super basic version of how to use the High Fidelity Spatial Audio Client Library in the Web JavaScript context:
Expand Down Expand Up @@ -59,4 +74,21 @@ Here's a super basic version of how to use the High Fidelity Spatial Audio Clien
return;
}
</script>
```

---

## Living on the Edge
If you'd like to use an experimental version of the Spatial Audio Client library built automatically from the tip of the `main` branch:

### NodeJS
```
npm i hifi-spatial-audio@main
```

### Plain Web JavaScript
Import the experimental version of the main library with:

```JavaScript
<script src="https://hifi-spatial-audio-api.s3-us-west-2.amazonaws.com/releases/main/HighFidelityAudio-latest.js"></script>
```
6 changes: 3 additions & 3 deletions RELEASE_INSTRUCTIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@ After you click "Publish release", [this GitHub Action](./.github/workflows/depl
6. Create a `.zip` file containing the two Client Library files (base "Audio" library and optional "Controls" library)
7. Upload the `.zip` file and the two Client Library files to the `latest` folder inside the releases S3 bucket.
8. Upload the `.zip` file and the two Client Library files to a folder corresponding to the current version of the Library inside the releases S3 bucket.
9. Echo a message to the GHA logs about the fact that the Action does not automatically update `https://www.highfidelity.com/api/download`, which must be updated manually.
10. Build the NodeJS version of the library.
11. Publish the NodeJS library module to [npmjs.com/package/hifi-spatial-audio](https://www.npmjs.com/package/hifi-spatial-audio).
9. Build the NodeJS version of the library.
10. Publish the NodeJS library module to [npmjs.com/package/hifi-spatial-audio](https://www.npmjs.com/package/hifi-spatial-audio).
11. Creates and uploads a new `releases.json` to [a specific place on S3](https://hifi-spatial-audio-api.s3.amazonaws.com/releases/releases.json), which will then cause [our Downloads page](https://highfidelity.com/api/download) to automatically update for visitors.
4 changes: 2 additions & 2 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ module.exports = {
displayName: 'node',
testEnvironment: 'node',
testMatch: ['**.test.ts',],
globalTeardown: './tests/unit/testUtilities/globalTeardown.js',
globalTeardown: './tests/testUtilities/globalTeardown.js',
moduleNameMapper: {
"^jose/(.*)$": "<rootDir>/node_modules/jose/dist/node/cjs/$1"
}
Expand All @@ -15,7 +15,7 @@ module.exports = {
displayName: 'dom',
testEnvironment: 'jsdom',
testMatch: ['**.test.dom.ts'],
globalTeardown: './tests/unit/testUtilities/globalTeardown.js',
globalTeardown: './tests/testUtilities/globalTeardown.js',
moduleNameMapper: {
"^jose/(.*)$": "<rootDir>/node_modules/jose/dist/node/cjs/$1"
}
Expand Down
Loading

0 comments on commit aadce64

Please sign in to comment.