Skip to content

Commit

Permalink
release: 2022.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Kruptein authored Dec 12, 2022
2 parents eb32d73 + eeb5e54 commit 4e8adfb
Show file tree
Hide file tree
Showing 381 changed files with 16,192 additions and 10,732 deletions.
81 changes: 59 additions & 22 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
version: 2.1

orbs:
windows: circleci/windows@2.4.0
win: circleci/windows@5.0

jobs:
build-client:
docker:
- image: circleci/node:12
- image: cimg/node:16.18.1

working_directory: ~/PlanarAlly/client
resource_class: large

steps:
- checkout:
Expand Down Expand Up @@ -41,6 +42,7 @@ jobs:
- image: cibuilds/github:0.13.0

working_directory: ~/PlanarAlly
resource_class: large

steps:
- attach_workspace:
Expand All @@ -62,14 +64,21 @@ jobs:
VERSION=$(head -1 server/VERSION)
tar -czf /tmp/archives/planarally-bin-${VERSION}.tar.gz server/*
- run:
name: "Publish release on github"
command: |
VERSION=$(head -1 server/VERSION)
ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -replace ${VERSION} /tmp/archives
- when:
condition:
not:
equal: [ci-test, << pipeline.git.branch >>]
steps:
- run:
name: "Publish release on github"
command: |
VERSION=$(head -1 server/VERSION)
ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -replace ${VERSION} /tmp/archives
build-windows:
executor: windows/default
executor:
name: win/server-2022
size: large

working_directory: ~/PlanarAlly/server

Expand All @@ -79,11 +88,11 @@ jobs:

- run:
name: Create archives folder
command: mkdir ~/archives
command: mkdir C:\Users\circleci\archives

- run:
name: Create dist folder
command: mkdir ~/dist
command: mkdir C:\Users\circleci\dist

- run:
name: Upgrade pip
Expand All @@ -93,29 +102,54 @@ jobs:
name: Install python dependencies
command: python -m pip install -r requirements.txt

- run:
name: Install pyinstaller
command: python -m pip install pyinstaller
- run: python -m pip install wheel

- run:
name: Run pyinstaller
command: pyinstaller --clean -y --dist ~/dist/ PA.spec
- run: python -m pip install ordered-set

- run: python -m pip install nuitka

# - run:
# name: Install pyinstaller
# command: python -m pip install pyinstaller

# - run:
# name: Download PyInstaller
# command: Invoke-WebRequest https://github.com/pyinstaller/pyinstaller/archive/refs/tags/v5.6.2.zip -OutFile .\pyinstaller.zip

# - run: unzip.exe .\pyinstaller.zip

# - run:
# name: Compile bootloader
# command: cd .\pyinstaller-5.6.2\bootloader; if ($?) { python .\waf all }

# - run: cd .\pyinstaller-5.6.2; if ($?) {python .\setup.py install}

# - run:
# name: Run pyinstaller
# command: pyinstaller --clean -y --dist C:\Users\circleci\dist\ PA.spec

- run: python -m nuitka --standalone --assume-yes-for-downloads --include-data-files=VERSION=VERSION --include-data-files=server_config.cfg=server_config.cfg --include-data-dir=static=static --include-data-dir=templates=templates --windows-icon-from-ico=static/favicon.ico ./planarally.py

- run:
name: Zip artifacts
command: |
$VERSION=$(Get-Content -TotalCount 1 VERSION)
Compress-Archive -Path C:\Users\circleci\dist -DestinationPath C:\Users\circleci\archives\planarally-windows-${VERSION}.zip
Compress-Archive -Path .\planarally.dist -DestinationPath C:\Users\circleci\archives\planarally-windows-${VERSION}.zip
- run:
name: Install ghr
command: go get -u github.com/tcnksm/ghr
command: go install github.com/tcnksm/ghr@latest

# - when:
# condition:
# not:
# equal: [ci-test, << pipeline.git.branch >>]
# steps:
- run:
name: Publish release on github
command: |
$VERSION=$(Get-Content -TotalCount 1 VERSION)
C:\Users\circleci\go\bin\ghr.exe -t $env:GITHUB_TOKEN -u $env:CIRCLE_PROJECT_USERNAME -r $env:CIRCLE_PROJECT_REPONAME -c $env:CIRCLE_SHA1 -replace $VERSION C:\Users\circleci\archives
~\go\bin\ghr.exe -t $env:GITHUB_TOKEN -u $env:CIRCLE_PROJECT_USERNAME -r $env:CIRCLE_PROJECT_REPONAME -c $env:CIRCLE_SHA1 -replace $VERSION C:\Users\circleci\archives
workflows:
version: 2
Expand All @@ -126,20 +160,23 @@ workflows:
- build-client
filters:
branches:
# only: ci-test # MAKE SURE TO CONDITION OR RENAME UPLOADED FILES TO GITHUB!!
ignore: /.*/
tags:
only: /^\d+\.\d+\.\d+[-a-zA-Z0-9]*$/
only: /^v\d+\.\d+\.\d+[-a-zA-Z0-9]*$/
- build-client:
filters:
branches:
# only: ci-test # MAKE SURE TO CONDITION OR RENAME UPLOADED FILES TO GITHUB!!
ignore: /.*/
tags:
only: /^\d+\.\d+\.\d+[-a-zA-Z0-9]*$/
only: /^v\d+\.\d+\.\d+[-a-zA-Z0-9]*$/
- release-server:
requires:
- build-client
filters:
branches:
# only: ci-test # MAKE SURE TO CONDITION OR RENAME UPLOADED FILES TO GITHUB!!
ignore: /.*/
tags:
only: /^\d+\.\d+\.\d+[-a-zA-Z0-9]*$/
only: /^v\d+\.\d+\.\d+[-a-zA-Z0-9]*$/
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: planarally
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
ko_fi: darragh
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v2

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v2
12 changes: 6 additions & 6 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,32 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Docker meta
id: meta
uses: docker/metadata-action@v3
uses: docker/metadata-action@v4
with:
images: kruptein/planarally

- name: Set up QEMU
uses: docker/setup-qemu-action@master
uses: docker/setup-qemu-action@v2
with:
platforms: all

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
uses: docker/setup-buildx-action@v2

- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v2
uses: docker/build-push-action@v3
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
Expand Down
40 changes: 32 additions & 8 deletions .github/workflows/pull_request.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
on: pull_request
name: PR
jobs:
CLIENT:
CLIENT-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v3
- name: Use Node.js 16.x
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: npm i
working-directory: client
run: |
npm install
- name: build
working-directory: client
run: |
npm run build:ci
CLIENT-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Use Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: npm i
Expand All @@ -17,16 +33,24 @@ jobs:
working-directory: client
run: |
npm run lint:ci
- name: test
CLIENT-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Use Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: npm i
working-directory: client
run: |
npm run test
- name: build
npm install
- name: test
working-directory: client
run: |
npm run build:ci
npm run test
SERVER:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v3
- uses: psf/black@stable
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ server/env/**
server/**/__pycache__/**
server/venv
server/oldsaves
server/static/temp/**
.mypy**
.venv
venv/
Expand Down
76 changes: 76 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,82 @@ tech changes will usually be stripped from release notes for the public

## Unreleased

## [2022.3.0] - 2022-12-12

### Added

- Pan with right-click drag
- User configuration option to limit rendering to only the active floor
- User setting to change toolbar between icons and words (defaults to icons)
- Out-of-bounds check with visual UI element to help people get back to their content
- Show off-screen token directions
- Import/Export
- Export now redirects to a separate page
- Both Import and Export now have a status prompt, giving more clarity that things are happening
- New game now offers a selection between an empty campaign or importing a campaign
- Individual die results are now also shown
- [DM] Players section in the left in-game dm sidebar
- Lists players connected to the session
- Clicking on a name, centers your screen on their current view (if on the same location)
- [server] option to specify alternative location for static files

### Changed

- Draw tool vision and logic tabs will now have a background colour if they are active as a reminder
- Dashboard UI has been updated (once again)
- Quick tracker/aura changes
- Now supports more complex expressions (most mathematical expressions should work)
- Now has a toggle between absolute and relative mode
- A new Client Setting - Behaviour has been added to set the default update mode (absolute vs relative)
- [DM] Asset Manager UI has been updated and is now integrated with the main dashboard
- [DM] Player viewport rectangles are now shown per client connected for that player instead of 1 rectangle following the latest move
- [DM] Hiding a token using the vision tool will now also hide their private light auras
- [server] moved all python imports to proper relative imports
- this changes the way to manually run the server (again) (sorry)
- [tech] keep shape centers in memory instead of recalculating on the fly

### Fixed

- Vision tool alert state was not always accurate
- Teleport zone not properly triggering when initiated as a player
- Teleport zone not properly landing in the center of the target
- Player door toggles not syncing to the server/persisting
- Shared trackers/auras not showing up in selection info
- Shared trackers/aruas removal not showing in client until refresh
- Errors in prompt modals were not visible
- Annotation visible info not syncing to other clients until refresh (UI only)
- Player state clearing on location change
- Zoom sensitivity on touchpad
- Typo in location menu
- Multiple Initiative bugs
- Server should detect client errors in initiative listings better and reject wrong data
- Modification of the initiative should retain the current active actor under more circumstances
- Removal of shape caused some initiative inconsistencies
- Changing between DM layer and player visible layer would trip up initiative sometimes
- In-game AssetPicker modal UI fixes
- Prompt modal not clearing error message properly
- Tool details not always being in the correct location (e.g. when changing mode)
- Trim down noisy whitespace in selection info
- Initiative camera-lock not changing floors
- Door/Tp area preview not changing floors
- Jump to marker not changing floors
- Moving composite/variant shape to other floor and following would show extra selection boxes
- Draw layer being rendered below the fog (e.g. rulers/ping etc)
- Vision not properly recalculating when removing blocking shapes on multifloor setups
- AssetPicker UI appearing too low
- Polygon edit UI being left behind when panning
- Moving polygon point when polyon is rotated
- Normal shapes sometimes wrongly being identified as spawn locations
- Dice sometimes going offscreen
- Keyboard movement not moving select-tool's rotation helper
- [DM] Assets not being able to moved up to parent folder
- [DM] Assets not being removable if a shape with a link to the asset exists
- [DM] Annotations still being visible until refresh after removing player access
- [DM] Resetting location specific settings was not immediately synchronizing to clients until a refresh
- [DM] Enabling fake-player mode would hide the DM entries from the left sidebar
- [DM|server] The asset manager was no longer useable when using a subpath setup
- [server] Diceroller not working on subpath server

## [2022.2.3] - 2022-07-13

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,4 @@ ARG PA_BASEPATH="/"
ENV PA_BASEPATH=$PA_BASEPATH

ENTRYPOINT ["/usr/bin/dumb-init", "--"]
CMD [ "python", "-u", "src/planarserver.py"]
CMD [ "python", "-u", "planarally.py"]
3 changes: 2 additions & 1 deletion Dockerfiles/server_config_docker.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ max_upload_size_in_bytes = 10_485_760

[General]
save_file = data/planar.sqlite
#assets_directory =
#public_name =

# These settings are used for log rotating,
Expand All @@ -39,7 +40,7 @@ max_log_backups = 5

allow_signups = true

enable_export = false
enable_export = true

[APIserver]
# The API server is an administration server on which some API calls can be made.
Expand Down
Loading

0 comments on commit 4e8adfb

Please sign in to comment.