mirror of
https://github.com/BluemediaGER/muse.git
synced 2024-11-12 21:05:29 +01:00
Merge branch 'master' into feature/slash-commands
This commit is contained in:
commit
556c4080ae
5
.github/pull_request_template.md
vendored
Normal file
5
.github/pull_request_template.md
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
Closes #
|
||||
|
||||
<!-- A brief description of changes -->
|
||||
|
||||
- [ ] I updated the changelog
|
51
.github/workflows/build.yml
vendored
51
.github/workflows/build.yml
vendored
|
@ -1,31 +1,28 @@
|
|||
name: Lint & build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
on: push
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Lint & build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16'
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ./node_modules
|
||||
key: ${{ runner.OS }}-dependencies-${{ hashFiles('**/yarn.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.OS }}-dependencies-${{ env.cache-name }}-
|
||||
${{ runner.OS }}-dependencies-
|
||||
${{ runner.OS }}-
|
||||
- name: Install dependencies
|
||||
run: yarn install
|
||||
- name: Run lint
|
||||
run: yarn lint
|
||||
- name: Build
|
||||
run: yarn build
|
||||
build:
|
||||
name: Lint & build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16'
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ./node_modules
|
||||
key: ${{ runner.OS }}-dependencies-${{ hashFiles('**/yarn.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.OS }}-dependencies-${{ env.cache-name }}-
|
||||
${{ runner.OS }}-dependencies-
|
||||
${{ runner.OS }}-
|
||||
- name: Install dependencies
|
||||
run: yarn install
|
||||
- name: Run lint
|
||||
run: yarn lint
|
||||
- name: Build
|
||||
run: yarn build
|
||||
|
|
20
.github/workflows/pr.yml
vendored
20
.github/workflows/pr.yml
vendored
|
@ -4,27 +4,9 @@ on:
|
|||
pull_request:
|
||||
types: [opened, synchronize, ready_for_review, edited, closed]
|
||||
branches:
|
||||
- main
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build & lint
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16'
|
||||
|
||||
- name: Install dependencies
|
||||
uses: bahmutov/npm-install@v1
|
||||
|
||||
- name: Run lint
|
||||
run: yarn lint
|
||||
|
||||
- name: Build
|
||||
run: yarn build
|
||||
|
||||
release:
|
||||
name: Release snapshot
|
||||
runs-on: ubuntu-latest
|
||||
|
|
52
.github/workflows/publish-image.yml
vendored
52
.github/workflows/publish-image.yml
vendored
|
@ -1,52 +0,0 @@
|
|||
name: Publish Docker image
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: master
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set up Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
|
||||
- name: Cache Docker layers
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: /tmp/.buildx-cache
|
||||
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-buildx-
|
||||
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Limit concurrent builds to 1
|
||||
uses: softprops/turnstyle@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build and push
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
push: true
|
||||
tags: codetheweb/muse:latest
|
||||
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache,mode=max
|
||||
|
||||
- name: Update Docker Hub description
|
||||
uses: peter-evans/dockerhub-description@v2.1.0
|
||||
env:
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
DOCKERHUB_REPOSITORY: codetheweb/muse
|
||||
|
90
.github/workflows/publish.yml
vendored
Normal file
90
.github/workflows/publish.yml
vendored
Normal file
|
@ -0,0 +1,90 @@
|
|||
name: Make release & publish Docker image
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Get version from tag
|
||||
id: tag_name
|
||||
run: |
|
||||
echo ::set-output name=current_version::${GITHUB_REF#refs/tags/v}
|
||||
shell: bash
|
||||
|
||||
- name: Get Changelog Entry
|
||||
id: changelog_reader
|
||||
uses: mindsers/changelog-reader-action@v2
|
||||
with:
|
||||
version: ${{ steps.tag_name.outputs.current_version }}
|
||||
path: ./CHANGELOG.md
|
||||
|
||||
- name: Create/update release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
tag: ${GITHUB_REF#refs/tags}
|
||||
name: Release ${{ steps.changelog_reader.outputs.version }}
|
||||
body: ${{ steps.changelog_reader.outputs.changes }}
|
||||
prerelease: ${{ steps.changelog_reader.outputs.status == 'prereleased' }}
|
||||
draft: ${{ steps.changelog_reader.outputs.status == 'unreleased' }}
|
||||
allowUpdates: true
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set up Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
|
||||
- name: Cache Docker layers
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: /tmp/.buildx-cache
|
||||
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-buildx-
|
||||
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Get tags
|
||||
id: get-tags
|
||||
uses: Surgo/docker-smart-tag-action@v1
|
||||
with:
|
||||
docker_image: codetheweb/muse
|
||||
|
||||
- name: Wait on lint & build
|
||||
uses: lewagon/wait-on-check-action@v1.1.1
|
||||
with:
|
||||
ref: ${{ github.sha }}
|
||||
check-name: 'Lint & build'
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
wait-interval: 10
|
||||
|
||||
- name: Build and push
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
push: true
|
||||
tags: ${{ steps.get-tags.outputs.tag }}
|
||||
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache,mode=max
|
||||
|
||||
- name: Update Docker Hub description
|
||||
uses: peter-evans/dockerhub-description@v2.1.0
|
||||
env:
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
DOCKERHUB_REPOSITORY: codetheweb/muse
|
14
CHANGELOG.md
Normal file
14
CHANGELOG.md
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Changelog
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.1.0]
|
||||
### Added
|
||||
- Initial release
|
||||
|
||||
[Unreleased]: https://github.com/codetheweb/muse/compare/v0.1.0...HEAD
|
||||
[0.1.0]: https://github.com/codetheweb/muse/releases/tag/v0.1.0
|
24
README.md
24
README.md
|
@ -30,12 +30,25 @@ Muse is written in TypeScript. You can either run Muse with Docker (recommended)
|
|||
|
||||
Muse will log a URL when run. Open this URL in a browser to invite Muse to your server. Muse will DM the server owner after it's added with setup instructions.
|
||||
|
||||
#### Versioning
|
||||
|
||||
The `master` branch acts as the developing / bleeding edge branch and is not guaranteed to be stable.
|
||||
|
||||
When running a production instance, I recommend that you use the [latest release](https://github.com/codetheweb/muse/releases/).
|
||||
|
||||
|
||||
#### Docker
|
||||
|
||||
There are a variety of image tags available:
|
||||
- `:2`: versions >= 2.0.0
|
||||
- `:2.1`: versions >= 2.1.0 and < 2.2.0
|
||||
- `:2.1.1`: an exact version specifier
|
||||
- `:latest`: whatever the latest version is
|
||||
|
||||
(Replace empty config strings with correct values.)
|
||||
|
||||
```bash
|
||||
docker run -it -v "$(pwd)/data":/data -e DISCORD_TOKEN='' -e SPOTIFY_CLIENT_ID='' -e SPOTIFY_CLIENT_SECRET='' -e YOUTUBE_API_KEY='' codetheweb/muse
|
||||
docker run -it -v "$(pwd)/data":/data -e DISCORD_TOKEN='' -e SPOTIFY_CLIENT_ID='' -e SPOTIFY_CLIENT_SECRET='' -e YOUTUBE_API_KEY='' codetheweb/muse:latest
|
||||
```
|
||||
|
||||
This starts Muse and creates a data directory in your current directory.
|
||||
|
@ -47,7 +60,7 @@ version: '3.4'
|
|||
|
||||
services:
|
||||
muse:
|
||||
image: codetheweb/muse
|
||||
image: codetheweb/muse:latest
|
||||
restart: always
|
||||
volumes:
|
||||
- ./muse:/data
|
||||
|
@ -64,9 +77,10 @@ services:
|
|||
|
||||
1. `git clone https://github.com/codetheweb/muse.git && cd muse`
|
||||
2. Copy `.env.example` to `.env` and populate with values
|
||||
3. `yarn install` (or `npm i`)
|
||||
4. `yarn build` (or `npm run build`)
|
||||
5. `yarn start` (or `npm run start`)
|
||||
3. I recommend checking out a tagged release with `git checkout v[latest release]`
|
||||
4. `yarn install` (or `npm i`)
|
||||
5. `yarn build` (or `npm run build`)
|
||||
6. `yarn start` (or `npm run start`)
|
||||
|
||||
**Note**: if you're on Windows, you may need to manually set the ffmpeg path. See [#345](https://github.com/codetheweb/muse/issues/345) for details.
|
||||
|
||||
|
|
Loading…
Reference in a new issue