Skip to content

Commit

Permalink
Merge branch 'release/0.20.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
Kruptein committed May 11, 2020
2 parents 0c602bf + f9bc40d commit f51b37b
Show file tree
Hide file tree
Showing 157 changed files with 7,008 additions and 5,180 deletions.
153 changes: 74 additions & 79 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,89 +1,84 @@
version: 2
jobs:
windows:
docker:
- image: cdrx/pyinstaller-windows:python3
build-client:
docker:
- image: circleci/node:12

working_directory: ~/PlanarAlly/server
working_directory: ~/PlanarAlly/client

steps:
- checkout:
path: ~/PlanarAlly

# - restore_cache:
# key: pip-{{ checksum "requirements.txt" }}
# name: Restoring pip cache
steps:
- checkout:
path: ~/PlanarAlly

- run:
name: install sqlite3
command: apt update && apt install --no-install-recommends -y sqlite3

- run:
name: pip install
command: pip install -U setuptools && pip install -r requirements.txt

- save_cache:
key: pip-{{ checksum "requirements.txt" }}
paths:
- /wine/drive_c/users/root/Local\ Settings/Application\ Data/pip/Cache
- restore_cache:
key: npm-{{ checksum "package-lock.json" }}
name: Restoring npm cache

- run:
name: Build Windows executable
command: pyinstaller --clean -y --dist ./dist/windows --workpath /tmp *.spec
- run:
name: npm install
command: npm i

- store_artifacts:
path: ./dist/windows

- persist_to_workspace:
root: ./
paths:
- VERSION
- ./dist/windows
- save_cache:
key: npm-{{ checksum "package-lock.json" }}
paths:
- ./node-modules

release:
docker:
- image: cibuilds/github:0.12.1

working_directory: /tmp/workspace

steps:
- attach_workspace:
at: /tmp/workspace

- run:
name: Zip artifacts
command: |
VERSION=$(cat VERSION)
cd dist/windows
zip -r windows-${VERSION}.zip *
cd -
- run:
name: "Publish release on github"
command: |
VERSION=$(cat VERSION)
ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -replace ${VERSION} ./dist/windows/windows-${VERSION}.zip
- run:
name: Build artifacts
command: npm run build

- persist_to_workspace:
root: ../
paths:
- server

release-server:
docker:
- image: cibuilds/github:0.13.0

working_directory: ~/PlanarAlly

steps:
- attach_workspace:
at: ./

- run:
name: Create tmp folder
command: mkdir /tmp/archives

- run:
name: Zip artifacts
command: |
VERSION=$(cat server/VERSION)
zip -r /tmp/archives/planarally-bin-${VERSION}.zip server/*
- run:
name: Gunzip artifacts
command: |
VERSION=$(cat server/VERSION)
tar -czf /tmp/archives/planarally-bin-${VERSION}.tar.gz server/*
- run:
name: "Publish release on github"
command: |
VERSION=$(cat server/VERSION)
ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -replace ${VERSION} /tmp/archives
workflows:
version: 2
build:
jobs:
- windows:
filters:
branches:
ignore: /.*/
# only:
# - dev
# - bugfix/windows-build
# tags:
# only: /^\d+\.\d+\.\d+[-a-zA-Z0-9]*$/
- release:
requires:
- windows
filters:
branches:
ignore: /.*/
# only:
# - bugfix/windows-build
# tags:
# only: /^\d+\.\d+\.\d+[-a-zA-Z0-9]*$/
version: 2
build:
jobs:
- build-client:
filters:
branches:
ignore: /.*/
tags:
only: /^\d+\.\d+\.\d+[-a-zA-Z0-9]*$/
- release-server:
requires:
- build-client
filters:
branches:
ignore: /.*/
tags:
only: /^\d+\.\d+\.\d+[-a-zA-Z0-9]*$/
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 report to help improve PlanarAlly
title: "[BUG] "
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for PlanarAlly
title: "[FEAT]"
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
48 changes: 24 additions & 24 deletions .github/workflows/pull_request.yaml
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
on: pull_request
name: PR
jobs:
PR_flow:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Use Node.js 10.x
uses: actions/setup-node@v1
with:
version: 10.x
- name: npm i
working-directory: client
run: |
npm install
- name: lint
working-directory: client
run: |
npm run lint
- name: test
working-directory: client
run: |
npm run test
- name: build
working-directory: client
run: |
npm run build
PR_flow:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Use Node.js 10.x
uses: actions/setup-node@v1
with:
version: 10.x
- name: npm i
working-directory: client
run: |
npm install
- name: lint
working-directory: client
run: |
npm run lint:ci
- name: test
working-directory: client
run: |
npm run test
- name: build
working-directory: client
run: |
npm run build
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,62 @@ All notable changes to this project will be documented in this file.

## Unreleased

## [0.20.0] - 2020-05-11

### Added

- configuration option to specify allowed CORS origins
- alt modifier can be used to disable draw/resize snapping
- Client option to invert the ALT behaviour (i.e. invert snapping behaviour)
- Logo, version info and some urls to the topleft section which is only visible if both locations bar and menu are opened
- Search bar to asset menu
- Some basic tooltips to icons
- Tiered configuration. Configuration file in the data directory takes precedence over one in the folder with server files. Useful for docker deployments to keep the configuration in a volume
- Use spacebar to cycle between your owned tokens
- Aspect ratio lock with ctrl modifier
- Progressbar to the asset manager
- Location rename
- Location removal
- Upon floor change all players with edit access will auto move to the same floor
- Set any shape as marker and jump to that position from the sidebar [LDeeJay1969]

### Changed

- Shape access
- Now uses a dropdown prefilled with players so you no longer need to manually type it
- Option to choose full edit access or only vision access
- Default access to specify behaviour for non selected players
- Map tool UX
- Now gives a bit more information on how to use it
- After making a selection you can adjust it to better fit your needs
- Choose the X/Y numbers after selecting the shape
- The center of the drawn resize rectangle now will remain in the exact same place after resize. This prevents sudden map jump.
- Shape resizing
- Now only snaps the point you're resizing instead of an awkward complete shape resize
- Location bar reworked
- Move around as a DM without bringing your players along
- shows which players are in which location
- now has UI to move groups of players as a whole or individually to other locations
- Location settings
- DM options is now used to configure the default settings
- Locations have their own setting menu to override the defaults
- Default brush size is now 1/10th of the grid size instead of the full grid size

### Fixed

- Polygon width now properly taken into account when trying to select it
- Floor/Layer bar now moves along with the side menu when opened
- Side menu and locations menu no longer overlap
- Window resizing messing with the lighting borders
- Previous prompt values are now cleared before showing a new prompt
- Asset manager not showing uploaded files until refreshed
- Asset manager contextmenu not rendering correctly when scrolling down
- Grid layers of al lower floors being visible
- DM being able to invite themselves to the room as a player
- Removing a file in the asset manager now deletes the file on the server
- Draw tool no longer delays rendering brush helper after layer/floor change
- Active floor is remembered upon rejoining the session

## [0.19.3] - 2020-04-01

### Fixed
Expand Down
2 changes: 2 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ To use the server together with a development version of the client instead use:

`python planarserver.py dev`

If both server and client are running you can launch PA by visiting http://localhost:8000

## Client

The client is written in typescript, editing the javascript file directly is strongly discouraged and any pull request that only changes the js file will also be declined.
Expand Down
8 changes: 5 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,14 @@ WORKDIR /planarally
VOLUME /planarally/data
VOLUME /planarally/static/assets

ENV PA_GIT_INFO = docker:$DOCKER_TAG-$SOURCE_COMMIT

ENTRYPOINT ["/usr/bin/dumb-init", "--"]
# Copy first requirements.txt so changes in code dont require to reinstall python requirements
COPY --from=BUILDER /usr/src/server/requirements.txt .
RUN apt-get update && apt-get install dumb-init curl -y && \
rm -rf /var/lib/apt/lists/* && \
pip install --no-cache-dir -r requirements.txt
RUN apt-get update && apt-get install dumb-init curl build-essential libffi-dev libssl-dev -y && \
rm -rf /var/lib/apt/lists/*
RUN pip install --no-cache-dir -r requirements.txt
# Copy the final server files
COPY --from=BUILDER /usr/src/server/ .

Expand Down
9 changes: 8 additions & 1 deletion Dockerfiles/server_config_docker.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,12 @@ ssl = false
ssl_fullchain = cert/fullchain.pem
ssl_privkey = cert/privkey.pem

# Allowed CORS origins
# If not specified, only the host runnig the server is allowed
# Allowed values are: ['*'], ['some-address.xyz', 'other-address.xyz'], []
# More information on the meaning of these values can be found at
# https://python-socketio.readthedocs.io/en/latest/api.html#asyncserver-class
# cors_allowed_origins = ['*']

[General]
save_file = data/planar.sqlite
save_file = data/planar.sqlite
Loading

0 comments on commit f51b37b

Please sign in to comment.