Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New git branches setup #1296

Merged
merged 87 commits into from
Jul 19, 2024
Merged

New git branches setup #1296

merged 87 commits into from
Jul 19, 2024

Conversation

goastler
Copy link
Member

@goastler goastler commented Jul 3, 2024

No description provided.

@prosoponator prosoponator enabled auto-merge (squash) July 3, 2024 20:03
HughParry
HughParry previously approved these changes Jul 18, 2024
HughParry
HughParry previously approved these changes Jul 18, 2024
@prosoponator prosoponator merged commit 8c9aa80 into dev Jul 19, 2024
14 checks passed
@prosoponator prosoponator deleted the git-setup branch July 19, 2024 13:38
goastler added a commit that referenced this pull request Jul 23, 2024
* add dev branch to auto merge

* make clippy run on new branch setup

* remove version checker workflow

* add dev and release branch triggers to consistent workflow name checker

* Delete create_diagram.yml

* add dev and release branch triggers to lint workflow

* add release and dev branch triggers to provider_image workflow

* remove release drafter

* add dev and release branches to rustfmt workflow

* add dev and release branches to protocol test workflow

* add dev and release branches triggers to tests workflow

* add dev and release branch triggers to webpack bundling workflow

* switch cache creation to be post pr to dev

* rename post_pr workflow to cache

* Update cache.yml

* publish workflow

* Update cache.yml

* fix contract js/rust version check workflow

* install concurrently and cypress as workspace deps

* fix cypress workflow trigger

* fix cypress workflow branch triggers

* fix rust file triggers

* move webpack bundling check to tests workflow

* remove typechain version check

* rename workflows

* make the github actions cache include the branch name

* publish on push to main

* add js bundle test step

* workflow for ensuring all versions move in lockstep

* blurb for each workflow

* dockerhub login check for before a release

* rename publish to release

* remove typedoc step

* standardise step ids in release workflow

* dummy version bump

* Delete dockerhub_login.yml

* release version check

* workflow to check for valid version bumps

* auto merge all prs

* check consistent workflow names on all prs

* branch system docs

* check contract version on prs to main,dev,release/*

* add workflow_dispatch to all relevant workflows

* make auto merge only run on non-draft prs

* check versions on all branches

* make release run on push to main

* tag pushes to main

* rename version check workflow

* remove fetch all history and branches from clone

* fix docker js server version issue

* fix bump workflow to bump all package.json files and Cargo.tomls

* fix package.json version writing in bump workflow

* rename step

* make auto merge cancellable

* make deploy ahve a single notification of pass/fail

* debug info

* fix cache workflow name

* don't use cache in bump version workflow, not needed

* move buildx to top of workflow

* move the cli building to before publishing images in deploy workflow

* tag warning

* remove filters for tests, test more often

* add workflow dispatch to deploy workflow

* add bash error catching

* Create consistent_engine_node.yml

* Create consistent_engine_npm.yml

* Create consistent_nvmrc.yml

* cache docs

* event workflows for main and dev

* change event setup

* don't run unless non-draft pr

* combine protocol clippy and rustfmt into single lint workflow

* missing engine

* missing version

* revert version debug

* fix version

* fix workflow name detection

* add missing engines

* fix nvmrc check

* fix path typo in contract version check

* allow auto merge to run always

* Update package-lock.json

* lint

* lint
forgetso added a commit that referenced this pull request Aug 13, 2024
* New git branches setup (#1296)

* add dev branch to auto merge

* make clippy run on new branch setup

* remove version checker workflow

* add dev and release branch triggers to consistent workflow name checker

* Delete create_diagram.yml

* add dev and release branch triggers to lint workflow

* add release and dev branch triggers to provider_image workflow

* remove release drafter

* add dev and release branches to rustfmt workflow

* add dev and release branches to protocol test workflow

* add dev and release branches triggers to tests workflow

* add dev and release branch triggers to webpack bundling workflow

* switch cache creation to be post pr to dev

* rename post_pr workflow to cache

* Update cache.yml

* publish workflow

* Update cache.yml

* fix contract js/rust version check workflow

* install concurrently and cypress as workspace deps

* fix cypress workflow trigger

* fix cypress workflow branch triggers

* fix rust file triggers

* move webpack bundling check to tests workflow

* remove typechain version check

* rename workflows

* make the github actions cache include the branch name

* publish on push to main

* add js bundle test step

* workflow for ensuring all versions move in lockstep

* blurb for each workflow

* dockerhub login check for before a release

* rename publish to release

* remove typedoc step

* standardise step ids in release workflow

* dummy version bump

* Delete dockerhub_login.yml

* release version check

* workflow to check for valid version bumps

* auto merge all prs

* check consistent workflow names on all prs

* branch system docs

* check contract version on prs to main,dev,release/*

* add workflow_dispatch to all relevant workflows

* make auto merge only run on non-draft prs

* check versions on all branches

* make release run on push to main

* tag pushes to main

* rename version check workflow

* remove fetch all history and branches from clone

* fix docker js server version issue

* fix bump workflow to bump all package.json files and Cargo.tomls

* fix package.json version writing in bump workflow

* rename step

* make auto merge cancellable

* make deploy ahve a single notification of pass/fail

* debug info

* fix cache workflow name

* don't use cache in bump version workflow, not needed

* move buildx to top of workflow

* move the cli building to before publishing images in deploy workflow

* tag warning

* remove filters for tests, test more often

* add workflow dispatch to deploy workflow

* add bash error catching

* Create consistent_engine_node.yml

* Create consistent_engine_npm.yml

* Create consistent_nvmrc.yml

* cache docs

* event workflows for main and dev

* change event setup

* don't run unless non-draft pr

* combine protocol clippy and rustfmt into single lint workflow

* missing engine

* missing version

* revert version debug

* fix version

* fix workflow name detection

* add missing engines

* fix nvmrc check

* fix path typo in contract version check

* allow auto merge to run always

* Update package-lock.json

* lint

* lint

* Cache cypress install (#1305)

* remove install cypress step from cache workflow

* add cypress as dev dep

* Add staging branch to workflow (#1311)

* New linting (#1309)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* fix npm script error handling (#1306)

* fix auto merge (#1302)

* fix auto merge

* add repo parameter to auto merge

* add repo parameter to auto merge workflow

* Remove contract calls (#1308)

* remove contract calls from procaptcha

* linted stuff

* Adding empty providers

* Adding hardcoded random providers

* Adding changes to load process

* Debugging

* debug

* nearly working state management

* fast captchas with no contract

* Removing debug

* Timestamp signature validation

* Working no rpc calls full captcha flow

* linting

* Unit tests potentially working

* dropping debug

* All passing cypress demo

* Bundle falling over when hashing

* dropping bundle pure replace

* Remove polkadot manual bundling hacks

* No provider pow

* Working pow without contract calls

* revert sitekey changes

* verified instead of context

* don't log config

* removing cypress capture images

* removing bad deps

* Removing debug

* fixing build

* fixing providers

* Correct docstring

* rebuilt package lock

* Removing stats file

* Skipping lint in protocol

* removing typechain change because protocol bump required

* removing unused deps

* temp bump while firefighting

* Dropping provider gui

* Working build without provider gui

* Removing batch commit tasks

* Dropping protocol

* Working build without protocol dir

* Dropping proxy and package lock pointing to proxy

* Working build with new pkg deps

* Removing common contract

* Dropping tests for rewrite

* Working no captcha product

* Dropping merkle tree

* Refactoring provider and adding temp tests

* Refactored provider into multiple single responsibility classes

* lint fix

* pkg lock bump

* Renaming tests to non test file to pass

* Tests passing

* Debug for datasetId getter

* Working provider set dataset

* Auth Middleware Test

* Captcha scheduler tests

* Error Handler tests

* Provider now boots without connection to rpc node

* Full suite of unit tests for provider

* Tests passing

* Fixed build

* Integration tests. Actions for this to be set up

* Working image captcha integration tests

* Unit tests paths correction

* Fixing version bump yml

* Removing debug

* Adding dummy get random provider script

* Removing dockerfile and vite env config

* Replacing signedTimestamp with timestampSignature

* Deduping config by making it its own package

* Defaulting message to provider online

* Fixing type issues and ws requirement issues

---------

Co-authored-by: Chris Taylor <[email protected]>
Co-authored-by: George Oastler <[email protected]>

* Removing unused deps, bumping package lock

* Working pow captcha with timeouts

* Add missing deps and bundling command for staging

* Remove version from docker compose files

* Use NODE_ENV var for pulling in env var file into docker compose file

* Add staging deploy process

* Add staging bundle command

* package lock

* Remove old deps.

* Update package-lock.json

* Update event name

* Add missing dep

* Use latest image to create container from

* Use staging tag for container

* Await crypto WASM blob

* Allow NODE_ENV to be passed into Vite config

* Add load-balancer refs to tsconfigs

* Allow PROSOPO_DEFAULT_ENVIRONMENT to inherit from NODE_ENV

* Add some logging and change some imports

* exporting hardcoded provider from types

* Cleanup linting process (#1312)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* remove old lint scripts

* remove prettier + eslint config

* remove eslint dep

* remove prettier dep

* Update package-lock.json

* Fix provider not erroring on database connection error. Add option to specify the number of proxies between the provider API and the user

* Add staging command back in

* deploy staging workflow to bundle branch

* addit commit details for bumps

* Add watchtower to provider docker compose

* Don't mount missing file

* watch provider container only

* Change container name

* Use createConnection instead of connection

* Fix build

* Staging deploy workflow (#1314)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* Pkg json

* bump version to v2.0.0

* no build specified

* remove deploy_X scripts

* remove deploy_X scripts

* remove deploy_protocol script call

* remove deploy_protocol workflow step

* remove github assets for contract

* remove deploy_protool

* Use 2.0.0 everywhere

* Provider tests passing

* Adding if present to cjs

* Dropping auto merge

* Dropping dapp example demo

* fix check version bump all history available

* Update check_version_bump.yml

* Update check_version_bump.yml

* Remove out of date readme

* Update check_version_bump.yml

* Re-add old babel plugins

* start provider

* Always add the token to the form

* Supply token to onHuman function

* Fix build

* Adding button next for cypress tests

* Fixing hanging test

* Fixing get dataset being broken

* Remove substrate from docker compose

* Cypress tests passing

* stop the provider workflow from falling over if the npm packages are unreleased

* Only load the provider mock container if we built it

* Try to upload screenshots

* Try to store screenshots on failure

* Try using withinSubject:null

* Wait for button to be visible

* Wait for the the API call

* Remove wait for solution request

* try to force the click

* Just force, don't expect the element

* try waiting after clicking

* Store videos of cypress runs

* Remove the then

* Remove duplicate click

* Fix function return type

* try within

* Adding setup step for setup env in test

* Add data-cy attributes if environment is not production

* wait for docker containers to setup env

* Adding setup step for setup env in test

* Start docker first

* Check if there are references

* remove within

* Try to kill processes with concurrently

* Make signature stuff less confusing

* Fix license header positions

* Fix tests

* Get it all working

* Fix lint issues (#1318)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* add nuke script

* set shell in dockerfile

* use json form of CMD in dockerfile

* fix multiple RUN commands in dockerfile

* remove apt sources after install

* use apt get

* use apt-get in dockerfile instead of apt

* join multiple run commands together in dockerfile

* entrypoint json form

* no install recommends

* ignore install recommends lint

* fix multiple run commands and apt clear

* CMD to json form

* no install recommends

* remove root user, is default

* set nginx version

* multiple RUN commands fix

* set shell to use pipefail

* delete apt lists after install

* fix consecutive RUN commands

* no install recommends

* ignore usage of latest

* dockerfile lint

* Update substrate-contracts-node.build.dockerfile

* json form for CMD

* lint dockerfile

* lint caddyfile

* fix needless cat

* useless echo

* speech marks for safety

* make dockerfile and shell linting command simpler

* fix quotes and variable usage in cache workflow

* fix quotes

* fix quotes

* fix quotes

* fix quotes

* fix NODE_ENV speech marks in workflows

* useless cat

* unused vars

* lint

* missing speech marks

* speech marks

* lint eval and @ usage in shell

* lint shell script

* fix yamllint linting

* fix lint md and js fix cmd

* autofix js

* fix biome cmdline args

* biome lint fixes

* biome lint fix

* make biome use vcs

* no export from tests

* fix key in list

* missing useEffect dep

* explicit any todo

* lint fixes

* warn on parameter assign

* todo for any

* trailing comma

* ignore any type for options

* fix line count parameter reassigned

* fix not null assertion

* ignore any from axios response

* ignore any casts

* ignore any in async ctor

* no reuse of parameter

* ignore i18n translation any

* ignore anys in nodejs polars plugin

* ignore any for response json

* avoid parameter reuse

* fix any usage in vite watch plugin

* fix side effect in vite watch plugin

* fix reused variables in error classes

* disable rule for key event with onClick

* forEach to for of

* missing bracket

* allow any

* forEach to for of

* allow any

* forEach to for of

* allow any

* allow any

* forEach to for of

* use item hash as key

* fix useEffect deps

* todo for async exec

* allow any + async exec

* allow any

* forEach to for of

* ignore spread

* TODOs for sendFunds

* allow any

* ignore async exec

* allow any

* todo for memo deps

* ignore detector code, contains loads of biome errors

* fix anys, foreach and local params

* ignore foreach

* fix any

* allow any

* allow any

* allow any and foreach

* allow any

* allow any

* allow any

* allow enum

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* allow any

* allow any and foreach to for of

* img buffer type

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* make biome do formatting too

* biome format

* ignore bundles

* lint

* lint md files

* lint md

* disable some markdown rules

* lint rs

* fix rs

* fix npm scripts

* lint

* ignore ruff.toml when linting tomls

* lint

* lint py npm scripts

* remove eslint directives

* make biome track the main branch and handle css

* fix caddy linting

* lint

* lint

* lint

* configure taplo

* Update ruff.toml

* fix scripts

* lint

* remove eslint

* lint

* fix speech mark issues

* typo

* fix lint fixes types

* more fixes for linting fixes

* fix for potentially undefined root node of merkle tree

* duplicate selector

* lint

* ignore bundle stats html file

* missing provider env for starting provider

* async factory fix

* remove debug

* lint

* revert detector index.js changes

* lint

* polyfill node: imports

* fix for node:url breaking bundle

* use package workspaces rather than cd'ing (#1321)

* Add push to js branch again to get live staging bundle

* Remove any existing procaptcha responses on human

* deploy staging on push to staging

* Use duplicate JS Server for now

* Silence GH warning about NoSQL injection in demo

* Silence GH warning about NoSQL injection in demo

* Set GH_TOKEN env

* Remove production step for JS Server

* Add back command to push to js-bundle branch. Remove quotes in asset deletion script

* Use correct docker tag

* Try moving to its own step

* don't fail if nothing to commit

* Update provider docker run CMD

* Always pull new version of tag for provider image

* Update provider CMD

* Alter the verify endpoint when in non-production environments in client-example demo

* Allow PoW captchas to be stored and counted

* Removing exportData from Manager

* Adding synamic config for load balancer

* Fix build

* fix server build

* fix server again

* fix provider build

* Removing dangerou

* Change scale-ts type to u64 to avoid losing data

* revert change to number for timestamp

* make sure procaptcha-response is deleted

* Fix scheduler database name and add env option for storage schedule

* Make the models available once the connection has been made

---------

Co-authored-by: George Oastler <[email protected]>
Co-authored-by: George Oastler <[email protected]>
Co-authored-by: Chris <[email protected]>
forgetso added a commit that referenced this pull request Aug 19, 2024
* New git branches setup (#1296)

* add dev branch to auto merge

* make clippy run on new branch setup

* remove version checker workflow

* add dev and release branch triggers to consistent workflow name checker

* Delete create_diagram.yml

* add dev and release branch triggers to lint workflow

* add release and dev branch triggers to provider_image workflow

* remove release drafter

* add dev and release branches to rustfmt workflow

* add dev and release branches to protocol test workflow

* add dev and release branches triggers to tests workflow

* add dev and release branch triggers to webpack bundling workflow

* switch cache creation to be post pr to dev

* rename post_pr workflow to cache

* Update cache.yml

* publish workflow

* Update cache.yml

* fix contract js/rust version check workflow

* install concurrently and cypress as workspace deps

* fix cypress workflow trigger

* fix cypress workflow branch triggers

* fix rust file triggers

* move webpack bundling check to tests workflow

* remove typechain version check

* rename workflows

* make the github actions cache include the branch name

* publish on push to main

* add js bundle test step

* workflow for ensuring all versions move in lockstep

* blurb for each workflow

* dockerhub login check for before a release

* rename publish to release

* remove typedoc step

* standardise step ids in release workflow

* dummy version bump

* Delete dockerhub_login.yml

* release version check

* workflow to check for valid version bumps

* auto merge all prs

* check consistent workflow names on all prs

* branch system docs

* check contract version on prs to main,dev,release/*

* add workflow_dispatch to all relevant workflows

* make auto merge only run on non-draft prs

* check versions on all branches

* make release run on push to main

* tag pushes to main

* rename version check workflow

* remove fetch all history and branches from clone

* fix docker js server version issue

* fix bump workflow to bump all package.json files and Cargo.tomls

* fix package.json version writing in bump workflow

* rename step

* make auto merge cancellable

* make deploy ahve a single notification of pass/fail

* debug info

* fix cache workflow name

* don't use cache in bump version workflow, not needed

* move buildx to top of workflow

* move the cli building to before publishing images in deploy workflow

* tag warning

* remove filters for tests, test more often

* add workflow dispatch to deploy workflow

* add bash error catching

* Create consistent_engine_node.yml

* Create consistent_engine_npm.yml

* Create consistent_nvmrc.yml

* cache docs

* event workflows for main and dev

* change event setup

* don't run unless non-draft pr

* combine protocol clippy and rustfmt into single lint workflow

* missing engine

* missing version

* revert version debug

* fix version

* fix workflow name detection

* add missing engines

* fix nvmrc check

* fix path typo in contract version check

* allow auto merge to run always

* Update package-lock.json

* lint

* lint

* Cache cypress install (#1305)

* remove install cypress step from cache workflow

* add cypress as dev dep

* Add staging branch to workflow (#1311)

* New linting (#1309)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* fix npm script error handling (#1306)

* fix auto merge (#1302)

* fix auto merge

* add repo parameter to auto merge

* add repo parameter to auto merge workflow

* Remove contract calls (#1308)

* remove contract calls from procaptcha

* linted stuff

* Adding empty providers

* Adding hardcoded random providers

* Adding changes to load process

* Debugging

* debug

* nearly working state management

* fast captchas with no contract

* Removing debug

* Timestamp signature validation

* Working no rpc calls full captcha flow

* linting

* Unit tests potentially working

* dropping debug

* All passing cypress demo

* Bundle falling over when hashing

* dropping bundle pure replace

* Remove polkadot manual bundling hacks

* No provider pow

* Working pow without contract calls

* revert sitekey changes

* verified instead of context

* don't log config

* removing cypress capture images

* removing bad deps

* Removing debug

* fixing build

* fixing providers

* Correct docstring

* rebuilt package lock

* Removing stats file

* Skipping lint in protocol

* removing typechain change because protocol bump required

* removing unused deps

* temp bump while firefighting

* Dropping provider gui

* Working build without provider gui

* Removing batch commit tasks

* Dropping protocol

* Working build without protocol dir

* Dropping proxy and package lock pointing to proxy

* Working build with new pkg deps

* Removing common contract

* Dropping tests for rewrite

* Working no captcha product

* Dropping merkle tree

* Refactoring provider and adding temp tests

* Refactored provider into multiple single responsibility classes

* lint fix

* pkg lock bump

* Renaming tests to non test file to pass

* Tests passing

* Debug for datasetId getter

* Working provider set dataset

* Auth Middleware Test

* Captcha scheduler tests

* Error Handler tests

* Provider now boots without connection to rpc node

* Full suite of unit tests for provider

* Tests passing

* Fixed build

* Integration tests. Actions for this to be set up

* Working image captcha integration tests

* Unit tests paths correction

* Fixing version bump yml

* Removing debug

* Adding dummy get random provider script

* Removing dockerfile and vite env config

* Replacing signedTimestamp with timestampSignature

* Deduping config by making it its own package

* Defaulting message to provider online

* Fixing type issues and ws requirement issues

---------

Co-authored-by: Chris Taylor <[email protected]>
Co-authored-by: George Oastler <[email protected]>

* Removing unused deps, bumping package lock

* Working pow captcha with timeouts

* Add missing deps and bundling command for staging

* Remove version from docker compose files

* Use NODE_ENV var for pulling in env var file into docker compose file

* Add staging deploy process

* Add staging bundle command

* package lock

* Remove old deps.

* Update package-lock.json

* Update event name

* Add missing dep

* Use latest image to create container from

* Use staging tag for container

* Await crypto WASM blob

* Allow NODE_ENV to be passed into Vite config

* Add load-balancer refs to tsconfigs

* Allow PROSOPO_DEFAULT_ENVIRONMENT to inherit from NODE_ENV

* Add some logging and change some imports

* exporting hardcoded provider from types

* Cleanup linting process (#1312)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* remove old lint scripts

* remove prettier + eslint config

* remove eslint dep

* remove prettier dep

* Update package-lock.json

* Fix provider not erroring on database connection error. Add option to specify the number of proxies between the provider API and the user

* Add staging command back in

* deploy staging workflow to bundle branch

* addit commit details for bumps

* Add watchtower to provider docker compose

* Don't mount missing file

* watch provider container only

* Change container name

* Use createConnection instead of connection

* Fix build

* Staging deploy workflow (#1314)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* Pkg json

* bump version to v2.0.0

* no build specified

* remove deploy_X scripts

* remove deploy_X scripts

* remove deploy_protocol script call

* remove deploy_protocol workflow step

* remove github assets for contract

* remove deploy_protool

* Use 2.0.0 everywhere

* Provider tests passing

* Adding if present to cjs

* Dropping auto merge

* Dropping dapp example demo

* fix check version bump all history available

* Update check_version_bump.yml

* Update check_version_bump.yml

* Remove out of date readme

* Update check_version_bump.yml

* Re-add old babel plugins

* start provider

* Always add the token to the form

* Supply token to onHuman function

* Fix build

* Adding button next for cypress tests

* Fixing hanging test

* Fixing get dataset being broken

* Remove substrate from docker compose

* Cypress tests passing

* stop the provider workflow from falling over if the npm packages are unreleased

* Only load the provider mock container if we built it

* Try to upload screenshots

* Try to store screenshots on failure

* Try using withinSubject:null

* Wait for button to be visible

* Wait for the the API call

* Remove wait for solution request

* try to force the click

* Just force, don't expect the element

* try waiting after clicking

* Store videos of cypress runs

* Remove the then

* Remove duplicate click

* Fix function return type

* try within

* Adding setup step for setup env in test

* Add data-cy attributes if environment is not production

* wait for docker containers to setup env

* Adding setup step for setup env in test

* Start docker first

* Check if there are references

* remove within

* Try to kill processes with concurrently

* Size fixes for widget and logo

* Make signature stuff less confusing

* Fix license header positions

* Fix tests

* Get it all working

* Fix size

* Fix lint issues (#1318)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* add nuke script

* set shell in dockerfile

* use json form of CMD in dockerfile

* fix multiple RUN commands in dockerfile

* remove apt sources after install

* use apt get

* use apt-get in dockerfile instead of apt

* join multiple run commands together in dockerfile

* entrypoint json form

* no install recommends

* ignore install recommends lint

* fix multiple run commands and apt clear

* CMD to json form

* no install recommends

* remove root user, is default

* set nginx version

* multiple RUN commands fix

* set shell to use pipefail

* delete apt lists after install

* fix consecutive RUN commands

* no install recommends

* ignore usage of latest

* dockerfile lint

* Update substrate-contracts-node.build.dockerfile

* json form for CMD

* lint dockerfile

* lint caddyfile

* fix needless cat

* useless echo

* speech marks for safety

* make dockerfile and shell linting command simpler

* fix quotes and variable usage in cache workflow

* fix quotes

* fix quotes

* fix quotes

* fix quotes

* fix NODE_ENV speech marks in workflows

* useless cat

* unused vars

* lint

* missing speech marks

* speech marks

* lint eval and @ usage in shell

* lint shell script

* fix yamllint linting

* fix lint md and js fix cmd

* autofix js

* fix biome cmdline args

* biome lint fixes

* biome lint fix

* make biome use vcs

* no export from tests

* fix key in list

* missing useEffect dep

* explicit any todo

* lint fixes

* warn on parameter assign

* todo for any

* trailing comma

* ignore any type for options

* fix line count parameter reassigned

* fix not null assertion

* ignore any from axios response

* ignore any casts

* ignore any in async ctor

* no reuse of parameter

* ignore i18n translation any

* ignore anys in nodejs polars plugin

* ignore any for response json

* avoid parameter reuse

* fix any usage in vite watch plugin

* fix side effect in vite watch plugin

* fix reused variables in error classes

* disable rule for key event with onClick

* forEach to for of

* missing bracket

* allow any

* forEach to for of

* allow any

* forEach to for of

* allow any

* allow any

* forEach to for of

* use item hash as key

* fix useEffect deps

* todo for async exec

* allow any + async exec

* allow any

* forEach to for of

* ignore spread

* TODOs for sendFunds

* allow any

* ignore async exec

* allow any

* todo for memo deps

* ignore detector code, contains loads of biome errors

* fix anys, foreach and local params

* ignore foreach

* fix any

* allow any

* allow any

* allow any and foreach

* allow any

* allow any

* allow any

* allow enum

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* allow any

* allow any and foreach to for of

* img buffer type

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* make biome do formatting too

* biome format

* ignore bundles

* lint

* lint md files

* lint md

* disable some markdown rules

* lint rs

* fix rs

* fix npm scripts

* lint

* ignore ruff.toml when linting tomls

* lint

* lint py npm scripts

* remove eslint directives

* make biome track the main branch and handle css

* fix caddy linting

* lint

* lint

* lint

* configure taplo

* Update ruff.toml

* fix scripts

* lint

* remove eslint

* lint

* fix speech mark issues

* typo

* fix lint fixes types

* more fixes for linting fixes

* fix for potentially undefined root node of merkle tree

* duplicate selector

* lint

* ignore bundle stats html file

* missing provider env for starting provider

* async factory fix

* remove debug

* lint

* revert detector index.js changes

* lint

* polyfill node: imports

* fix for node:url breaking bundle

* use package workspaces rather than cd'ing (#1321)

* Add push to js branch again to get live staging bundle

* Remove any existing procaptcha responses on human

* deploy staging on push to staging

* Use duplicate JS Server for now

* Silence GH warning about NoSQL injection in demo

* Silence GH warning about NoSQL injection in demo

* Set GH_TOKEN env

* Remove production step for JS Server

* Add back command to push to js-bundle branch. Remove quotes in asset deletion script

* Use correct docker tag

* Try moving to its own step

* don't fail if nothing to commit

* Update provider docker run CMD

* Always pull new version of tag for provider image

* Update provider CMD

* Alter the verify endpoint when in non-production environments in client-example demo

* Allow PoW captchas to be stored and counted

* Removing exportData from Manager

* Adding synamic config for load balancer

* Fix build

* fix server build

* fix server again

* fix provider build

* Removing dangerou

* Change scale-ts type to u64 to avoid losing data

* revert change to number for timestamp

* make sure procaptcha-response is deleted

* Fix scheduler database name and add env option for storage schedule

* Make the models available once the connection has been made

* Move headers

* Update js_server release step

* Try using secret directly

* Add some debug

* Modify debug

* Yet more debug

* I give up

* Working captcha results in mongo (#1322)

* Fixing db schema for pow captchas

* dropping new debug

* Use a var for mongo image

* more debug

* Removing lint fix from version bump

* Bumping to 2.0.1

* Bumping package lock

* Build all command working

* rimraf fixes

---------

Co-authored-by: George Oastler <[email protected]>
Co-authored-by: George Oastler <[email protected]>
Co-authored-by: Chris <[email protected]>
forgetso added a commit that referenced this pull request Aug 29, 2024
* New git branches setup (#1296)

* add dev branch to auto merge

* make clippy run on new branch setup

* remove version checker workflow

* add dev and release branch triggers to consistent workflow name checker

* Delete create_diagram.yml

* add dev and release branch triggers to lint workflow

* add release and dev branch triggers to provider_image workflow

* remove release drafter

* add dev and release branches to rustfmt workflow

* add dev and release branches to protocol test workflow

* add dev and release branches triggers to tests workflow

* add dev and release branch triggers to webpack bundling workflow

* switch cache creation to be post pr to dev

* rename post_pr workflow to cache

* Update cache.yml

* publish workflow

* Update cache.yml

* fix contract js/rust version check workflow

* install concurrently and cypress as workspace deps

* fix cypress workflow trigger

* fix cypress workflow branch triggers

* fix rust file triggers

* move webpack bundling check to tests workflow

* remove typechain version check

* rename workflows

* make the github actions cache include the branch name

* publish on push to main

* add js bundle test step

* workflow for ensuring all versions move in lockstep

* blurb for each workflow

* dockerhub login check for before a release

* rename publish to release

* remove typedoc step

* standardise step ids in release workflow

* dummy version bump

* Delete dockerhub_login.yml

* release version check

* workflow to check for valid version bumps

* auto merge all prs

* check consistent workflow names on all prs

* branch system docs

* check contract version on prs to main,dev,release/*

* add workflow_dispatch to all relevant workflows

* make auto merge only run on non-draft prs

* check versions on all branches

* make release run on push to main

* tag pushes to main

* rename version check workflow

* remove fetch all history and branches from clone

* fix docker js server version issue

* fix bump workflow to bump all package.json files and Cargo.tomls

* fix package.json version writing in bump workflow

* rename step

* make auto merge cancellable

* make deploy ahve a single notification of pass/fail

* debug info

* fix cache workflow name

* don't use cache in bump version workflow, not needed

* move buildx to top of workflow

* move the cli building to before publishing images in deploy workflow

* tag warning

* remove filters for tests, test more often

* add workflow dispatch to deploy workflow

* add bash error catching

* Create consistent_engine_node.yml

* Create consistent_engine_npm.yml

* Create consistent_nvmrc.yml

* cache docs

* event workflows for main and dev

* change event setup

* don't run unless non-draft pr

* combine protocol clippy and rustfmt into single lint workflow

* missing engine

* missing version

* revert version debug

* fix version

* fix workflow name detection

* add missing engines

* fix nvmrc check

* fix path typo in contract version check

* allow auto merge to run always

* Update package-lock.json

* lint

* lint

* Cache cypress install (#1305)

* remove install cypress step from cache workflow

* add cypress as dev dep

* Add staging branch to workflow (#1311)

* New linting (#1309)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* fix npm script error handling (#1306)

* fix auto merge (#1302)

* fix auto merge

* add repo parameter to auto merge

* add repo parameter to auto merge workflow

* Remove contract calls (#1308)

* remove contract calls from procaptcha

* linted stuff

* Adding empty providers

* Adding hardcoded random providers

* Adding changes to load process

* Debugging

* debug

* nearly working state management

* fast captchas with no contract

* Removing debug

* Timestamp signature validation

* Working no rpc calls full captcha flow

* linting

* Unit tests potentially working

* dropping debug

* All passing cypress demo

* Bundle falling over when hashing

* dropping bundle pure replace

* Remove polkadot manual bundling hacks

* No provider pow

* Working pow without contract calls

* revert sitekey changes

* verified instead of context

* don't log config

* removing cypress capture images

* removing bad deps

* Removing debug

* fixing build

* fixing providers

* Correct docstring

* rebuilt package lock

* Removing stats file

* Skipping lint in protocol

* removing typechain change because protocol bump required

* removing unused deps

* temp bump while firefighting

* Dropping provider gui

* Working build without provider gui

* Removing batch commit tasks

* Dropping protocol

* Working build without protocol dir

* Dropping proxy and package lock pointing to proxy

* Working build with new pkg deps

* Removing common contract

* Dropping tests for rewrite

* Working no captcha product

* Dropping merkle tree

* Refactoring provider and adding temp tests

* Refactored provider into multiple single responsibility classes

* lint fix

* pkg lock bump

* Renaming tests to non test file to pass

* Tests passing

* Debug for datasetId getter

* Working provider set dataset

* Auth Middleware Test

* Captcha scheduler tests

* Error Handler tests

* Provider now boots without connection to rpc node

* Full suite of unit tests for provider

* Tests passing

* Fixed build

* Integration tests. Actions for this to be set up

* Working image captcha integration tests

* Unit tests paths correction

* Fixing version bump yml

* Removing debug

* Adding dummy get random provider script

* Removing dockerfile and vite env config

* Replacing signedTimestamp with timestampSignature

* Deduping config by making it its own package

* Defaulting message to provider online

* Fixing type issues and ws requirement issues

---------

Co-authored-by: Chris Taylor <[email protected]>
Co-authored-by: George Oastler <[email protected]>

* Removing unused deps, bumping package lock

* Working pow captcha with timeouts

* Add missing deps and bundling command for staging

* Remove version from docker compose files

* Use NODE_ENV var for pulling in env var file into docker compose file

* Add staging deploy process

* Add staging bundle command

* package lock

* Remove old deps.

* Update package-lock.json

* Update event name

* Add missing dep

* Use latest image to create container from

* Use staging tag for container

* Await crypto WASM blob

* Allow NODE_ENV to be passed into Vite config

* Add load-balancer refs to tsconfigs

* Allow PROSOPO_DEFAULT_ENVIRONMENT to inherit from NODE_ENV

* Add some logging and change some imports

* exporting hardcoded provider from types

* Cleanup linting process (#1312)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* remove old lint scripts

* remove prettier + eslint config

* remove eslint dep

* remove prettier dep

* Update package-lock.json

* Fix provider not erroring on database connection error. Add option to specify the number of proxies between the provider API and the user

* Add staging command back in

* deploy staging workflow to bundle branch

* addit commit details for bumps

* Add watchtower to provider docker compose

* Don't mount missing file

* watch provider container only

* Change container name

* Use createConnection instead of connection

* Fix build

* Staging deploy workflow (#1314)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* Pkg json

* bump version to v2.0.0

* no build specified

* remove deploy_X scripts

* remove deploy_X scripts

* remove deploy_protocol script call

* remove deploy_protocol workflow step

* remove github assets for contract

* remove deploy_protool

* Use 2.0.0 everywhere

* Provider tests passing

* Adding if present to cjs

* Dropping auto merge

* Dropping dapp example demo

* fix check version bump all history available

* Update check_version_bump.yml

* Update check_version_bump.yml

* Remove out of date readme

* Update check_version_bump.yml

* Re-add old babel plugins

* start provider

* Always add the token to the form

* Supply token to onHuman function

* Fix build

* Adding button next for cypress tests

* Fixing hanging test

* Fixing get dataset being broken

* Remove substrate from docker compose

* Cypress tests passing

* stop the provider workflow from falling over if the npm packages are unreleased

* Only load the provider mock container if we built it

* Try to upload screenshots

* Try to store screenshots on failure

* Try using withinSubject:null

* Wait for button to be visible

* Wait for the the API call

* Remove wait for solution request

* try to force the click

* Just force, don't expect the element

* try waiting after clicking

* Store videos of cypress runs

* Remove the then

* Remove duplicate click

* Fix function return type

* try within

* Adding setup step for setup env in test

* Add data-cy attributes if environment is not production

* wait for docker containers to setup env

* Adding setup step for setup env in test

* Start docker first

* Check if there are references

* remove within

* Try to kill processes with concurrently

* Size fixes for widget and logo

* Make signature stuff less confusing

* Fix license header positions

* Fix tests

* Get it all working

* Fix size

* Fix lint issues (#1318)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* add nuke script

* set shell in dockerfile

* use json form of CMD in dockerfile

* fix multiple RUN commands in dockerfile

* remove apt sources after install

* use apt get

* use apt-get in dockerfile instead of apt

* join multiple run commands together in dockerfile

* entrypoint json form

* no install recommends

* ignore install recommends lint

* fix multiple run commands and apt clear

* CMD to json form

* no install recommends

* remove root user, is default

* set nginx version

* multiple RUN commands fix

* set shell to use pipefail

* delete apt lists after install

* fix consecutive RUN commands

* no install recommends

* ignore usage of latest

* dockerfile lint

* Update substrate-contracts-node.build.dockerfile

* json form for CMD

* lint dockerfile

* lint caddyfile

* fix needless cat

* useless echo

* speech marks for safety

* make dockerfile and shell linting command simpler

* fix quotes and variable usage in cache workflow

* fix quotes

* fix quotes

* fix quotes

* fix quotes

* fix NODE_ENV speech marks in workflows

* useless cat

* unused vars

* lint

* missing speech marks

* speech marks

* lint eval and @ usage in shell

* lint shell script

* fix yamllint linting

* fix lint md and js fix cmd

* autofix js

* fix biome cmdline args

* biome lint fixes

* biome lint fix

* make biome use vcs

* no export from tests

* fix key in list

* missing useEffect dep

* explicit any todo

* lint fixes

* warn on parameter assign

* todo for any

* trailing comma

* ignore any type for options

* fix line count parameter reassigned

* fix not null assertion

* ignore any from axios response

* ignore any casts

* ignore any in async ctor

* no reuse of parameter

* ignore i18n translation any

* ignore anys in nodejs polars plugin

* ignore any for response json

* avoid parameter reuse

* fix any usage in vite watch plugin

* fix side effect in vite watch plugin

* fix reused variables in error classes

* disable rule for key event with onClick

* forEach to for of

* missing bracket

* allow any

* forEach to for of

* allow any

* forEach to for of

* allow any

* allow any

* forEach to for of

* use item hash as key

* fix useEffect deps

* todo for async exec

* allow any + async exec

* allow any

* forEach to for of

* ignore spread

* TODOs for sendFunds

* allow any

* ignore async exec

* allow any

* todo for memo deps

* ignore detector code, contains loads of biome errors

* fix anys, foreach and local params

* ignore foreach

* fix any

* allow any

* allow any

* allow any and foreach

* allow any

* allow any

* allow any

* allow enum

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* allow any

* allow any and foreach to for of

* img buffer type

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* make biome do formatting too

* biome format

* ignore bundles

* lint

* lint md files

* lint md

* disable some markdown rules

* lint rs

* fix rs

* fix npm scripts

* lint

* ignore ruff.toml when linting tomls

* lint

* lint py npm scripts

* remove eslint directives

* make biome track the main branch and handle css

* fix caddy linting

* lint

* lint

* lint

* configure taplo

* Update ruff.toml

* fix scripts

* lint

* remove eslint

* lint

* fix speech mark issues

* typo

* fix lint fixes types

* more fixes for linting fixes

* fix for potentially undefined root node of merkle tree

* duplicate selector

* lint

* ignore bundle stats html file

* missing provider env for starting provider

* async factory fix

* remove debug

* lint

* revert detector index.js changes

* lint

* polyfill node: imports

* fix for node:url breaking bundle

* use package workspaces rather than cd'ing (#1321)

* Add push to js branch again to get live staging bundle

* Remove any existing procaptcha responses on human

* deploy staging on push to staging

* Use duplicate JS Server for now

* Silence GH warning about NoSQL injection in demo

* Silence GH warning about NoSQL injection in demo

* Set GH_TOKEN env

* Remove production step for JS Server

* Add back command to push to js-bundle branch. Remove quotes in asset deletion script

* Use correct docker tag

* Try moving to its own step

* don't fail if nothing to commit

* Update provider docker run CMD

* Always pull new version of tag for provider image

* Update provider CMD

* Alter the verify endpoint when in non-production environments in client-example demo

* Allow PoW captchas to be stored and counted

* Removing exportData from Manager

* Adding synamic config for load balancer

* Fix build

* fix server build

* fix server again

* fix provider build

* Removing dangerou

* Change scale-ts type to u64 to avoid losing data

* revert change to number for timestamp

* make sure procaptcha-response is deleted

* Fix scheduler database name and add env option for storage schedule

* Make the models available once the connection has been made

* Move headers

* Update js_server release step

* Try using secret directly

* Add some debug

* Modify debug

* Yet more debug

* I give up

* Working captcha results in mongo (#1322)

* Fixing db schema for pow captchas

* dropping new debug

* Use a var for mongo image

* more debug

* Removing lint fix from version bump

* User data mvp (#1327)

* Update captcha records for user portal data requirements

* pow types overhaul

* Harden tests against function parameter changes

* only run prosoponator on non-draft pr's (#1333)

* fix dir capitalisation (#1329)

* fix dir capitalisation

* fix path

* Introduce dotenv package for finding environment files (#1334)

* Introduce dotenv package for finding environment files

* Package-lock.json

* Update references to old loadEnv

* Update package references

* Add the config files

* Update loadEnv ref

* Update loadEnv refs in demos

* trigger tests

* Update dotenv reference

* Specify no tests

* Fix dataset IDs for staging providers

* Allow pow challenges to be submitted more than once for verification

* Fail if the challenge exists in the db

* Revert unlimited challenge checking

* Make demo re-render captcha component when form changes

* Allow navigating between the captcha types

* Fix license location

* remove debug

* Store something on each request. Update PoW types. Additional checks (#1336)

* removed network types

* remove substrate containers / env params

* remove CONTRACT env vars

* fix imports

* remove networks

* remove network from getPairAsync

* remove networks + contract

* remove default network from env

* remove default network

* remove network default + types from types pkg

* remove network types

* remove block number

* Update package-lock.json

* Update package-lock.json

* remove contract dep for demo

* Store something on each request. Update PoW types. Additional checks

* Additional checks

* Restrict captcha solution checking by dapp account

* fix build

* Fix cypress tests

* lots of updates to types

* Fix up tests. Add types for Get Image Captcha URL

* Remove some unuse types. Type an API URL

* Zod type translation keys. Use enum values when updating database. Add enum arrays to mongoose schemas. Use ApiParams everywhere

* Set the correct key and value for storedStatus

* Fix up unit tests

* Make sure we're setting updated timestamps everywhere. Don't send the same data to the captcha storage DB twice. Add details of cron jobs that have run to scheduled tasks collection

* Fix up tests

* remove file that does nothing

---------

Co-authored-by: George Oastler <[email protected]>

* Bug fix for missing status in scheduled task record

* Fix captcha storage mechanism. Add tests (#1337)

* Fix captcha storage mechanism. Add tests

* Fix up tests. Move verifyRecency function to util

* Update test env template

* Fix build

* use correct branch name in bump version

* Bump version to 2.0.2

* Bump version to 2.0.2

* bump versions

---------

Co-authored-by: George Oastler <[email protected]>
Co-authored-by: George Oastler <[email protected]>
Co-authored-by: Chris <[email protected]>
Co-authored-by: Hugh <[email protected]>
Co-authored-by: Hugh <[email protected]>
forgetso added a commit that referenced this pull request Sep 3, 2024
* New git branches setup (#1296)

* add dev branch to auto merge

* make clippy run on new branch setup

* remove version checker workflow

* add dev and release branch triggers to consistent workflow name checker

* Delete create_diagram.yml

* add dev and release branch triggers to lint workflow

* add release and dev branch triggers to provider_image workflow

* remove release drafter

* add dev and release branches to rustfmt workflow

* add dev and release branches to protocol test workflow

* add dev and release branches triggers to tests workflow

* add dev and release branch triggers to webpack bundling workflow

* switch cache creation to be post pr to dev

* rename post_pr workflow to cache

* Update cache.yml

* publish workflow

* Update cache.yml

* fix contract js/rust version check workflow

* install concurrently and cypress as workspace deps

* fix cypress workflow trigger

* fix cypress workflow branch triggers

* fix rust file triggers

* move webpack bundling check to tests workflow

* remove typechain version check

* rename workflows

* make the github actions cache include the branch name

* publish on push to main

* add js bundle test step

* workflow for ensuring all versions move in lockstep

* blurb for each workflow

* dockerhub login check for before a release

* rename publish to release

* remove typedoc step

* standardise step ids in release workflow

* dummy version bump

* Delete dockerhub_login.yml

* release version check

* workflow to check for valid version bumps

* auto merge all prs

* check consistent workflow names on all prs

* branch system docs

* check contract version on prs to main,dev,release/*

* add workflow_dispatch to all relevant workflows

* make auto merge only run on non-draft prs

* check versions on all branches

* make release run on push to main

* tag pushes to main

* rename version check workflow

* remove fetch all history and branches from clone

* fix docker js server version issue

* fix bump workflow to bump all package.json files and Cargo.tomls

* fix package.json version writing in bump workflow

* rename step

* make auto merge cancellable

* make deploy ahve a single notification of pass/fail

* debug info

* fix cache workflow name

* don't use cache in bump version workflow, not needed

* move buildx to top of workflow

* move the cli building to before publishing images in deploy workflow

* tag warning

* remove filters for tests, test more often

* add workflow dispatch to deploy workflow

* add bash error catching

* Create consistent_engine_node.yml

* Create consistent_engine_npm.yml

* Create consistent_nvmrc.yml

* cache docs

* event workflows for main and dev

* change event setup

* don't run unless non-draft pr

* combine protocol clippy and rustfmt into single lint workflow

* missing engine

* missing version

* revert version debug

* fix version

* fix workflow name detection

* add missing engines

* fix nvmrc check

* fix path typo in contract version check

* allow auto merge to run always

* Update package-lock.json

* lint

* lint

* Cache cypress install (#1305)

* remove install cypress step from cache workflow

* add cypress as dev dep

* Add staging branch to workflow (#1311)

* New linting (#1309)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* fix npm script error handling (#1306)

* fix auto merge (#1302)

* fix auto merge

* add repo parameter to auto merge

* add repo parameter to auto merge workflow

* Remove contract calls (#1308)

* remove contract calls from procaptcha

* linted stuff

* Adding empty providers

* Adding hardcoded random providers

* Adding changes to load process

* Debugging

* debug

* nearly working state management

* fast captchas with no contract

* Removing debug

* Timestamp signature validation

* Working no rpc calls full captcha flow

* linting

* Unit tests potentially working

* dropping debug

* All passing cypress demo

* Bundle falling over when hashing

* dropping bundle pure replace

* Remove polkadot manual bundling hacks

* No provider pow

* Working pow without contract calls

* revert sitekey changes

* verified instead of context

* don't log config

* removing cypress capture images

* removing bad deps

* Removing debug

* fixing build

* fixing providers

* Correct docstring

* rebuilt package lock

* Removing stats file

* Skipping lint in protocol

* removing typechain change because protocol bump required

* removing unused deps

* temp bump while firefighting

* Dropping provider gui

* Working build without provider gui

* Removing batch commit tasks

* Dropping protocol

* Working build without protocol dir

* Dropping proxy and package lock pointing to proxy

* Working build with new pkg deps

* Removing common contract

* Dropping tests for rewrite

* Working no captcha product

* Dropping merkle tree

* Refactoring provider and adding temp tests

* Refactored provider into multiple single responsibility classes

* lint fix

* pkg lock bump

* Renaming tests to non test file to pass

* Tests passing

* Debug for datasetId getter

* Working provider set dataset

* Auth Middleware Test

* Captcha scheduler tests

* Error Handler tests

* Provider now boots without connection to rpc node

* Full suite of unit tests for provider

* Tests passing

* Fixed build

* Integration tests. Actions for this to be set up

* Working image captcha integration tests

* Unit tests paths correction

* Fixing version bump yml

* Removing debug

* Adding dummy get random provider script

* Removing dockerfile and vite env config

* Replacing signedTimestamp with timestampSignature

* Deduping config by making it its own package

* Defaulting message to provider online

* Fixing type issues and ws requirement issues

---------

Co-authored-by: Chris Taylor <[email protected]>
Co-authored-by: George Oastler <[email protected]>

* Removing unused deps, bumping package lock

* Working pow captcha with timeouts

* Add missing deps and bundling command for staging

* Remove version from docker compose files

* Use NODE_ENV var for pulling in env var file into docker compose file

* Add staging deploy process

* Add staging bundle command

* package lock

* Remove old deps.

* Update package-lock.json

* Update event name

* Add missing dep

* Use latest image to create container from

* Use staging tag for container

* Await crypto WASM blob

* Allow NODE_ENV to be passed into Vite config

* Add load-balancer refs to tsconfigs

* Allow PROSOPO_DEFAULT_ENVIRONMENT to inherit from NODE_ENV

* Add some logging and change some imports

* exporting hardcoded provider from types

* Cleanup linting process (#1312)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* remove old lint scripts

* remove prettier + eslint config

* remove eslint dep

* remove prettier dep

* Update package-lock.json

* Fix provider not erroring on database connection error. Add option to specify the number of proxies between the provider API and the user

* Add staging command back in

* deploy staging workflow to bundle branch

* addit commit details for bumps

* Add watchtower to provider docker compose

* Don't mount missing file

* watch provider container only

* Change container name

* Use createConnection instead of connection

* Fix build

* Staging deploy workflow (#1314)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* Pkg json

* bump version to v2.0.0

* no build specified

* remove deploy_X scripts

* remove deploy_X scripts

* remove deploy_protocol script call

* remove deploy_protocol workflow step

* remove github assets for contract

* remove deploy_protool

* Use 2.0.0 everywhere

* Provider tests passing

* Adding if present to cjs

* Dropping auto merge

* Dropping dapp example demo

* fix check version bump all history available

* Update check_version_bump.yml

* Update check_version_bump.yml

* Remove out of date readme

* Update check_version_bump.yml

* Re-add old babel plugins

* start provider

* Always add the token to the form

* Supply token to onHuman function

* Fix build

* Adding button next for cypress tests

* Fixing hanging test

* Fixing get dataset being broken

* Remove substrate from docker compose

* Cypress tests passing

* stop the provider workflow from falling over if the npm packages are unreleased

* Only load the provider mock container if we built it

* Try to upload screenshots

* Try to store screenshots on failure

* Try using withinSubject:null

* Wait for button to be visible

* Wait for the the API call

* Remove wait for solution request

* try to force the click

* Just force, don't expect the element

* try waiting after clicking

* Store videos of cypress runs

* Remove the then

* Remove duplicate click

* Fix function return type

* try within

* Adding setup step for setup env in test

* Add data-cy attributes if environment is not production

* wait for docker containers to setup env

* Adding setup step for setup env in test

* Start docker first

* Check if there are references

* remove within

* Try to kill processes with concurrently

* Size fixes for widget and logo

* Make signature stuff less confusing

* Fix license header positions

* Fix tests

* Get it all working

* Fix size

* Fix lint issues (#1318)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* add nuke script

* set shell in dockerfile

* use json form of CMD in dockerfile

* fix multiple RUN commands in dockerfile

* remove apt sources after install

* use apt get

* use apt-get in dockerfile instead of apt

* join multiple run commands together in dockerfile

* entrypoint json form

* no install recommends

* ignore install recommends lint

* fix multiple run commands and apt clear

* CMD to json form

* no install recommends

* remove root user, is default

* set nginx version

* multiple RUN commands fix

* set shell to use pipefail

* delete apt lists after install

* fix consecutive RUN commands

* no install recommends

* ignore usage of latest

* dockerfile lint

* Update substrate-contracts-node.build.dockerfile

* json form for CMD

* lint dockerfile

* lint caddyfile

* fix needless cat

* useless echo

* speech marks for safety

* make dockerfile and shell linting command simpler

* fix quotes and variable usage in cache workflow

* fix quotes

* fix quotes

* fix quotes

* fix quotes

* fix NODE_ENV speech marks in workflows

* useless cat

* unused vars

* lint

* missing speech marks

* speech marks

* lint eval and @ usage in shell

* lint shell script

* fix yamllint linting

* fix lint md and js fix cmd

* autofix js

* fix biome cmdline args

* biome lint fixes

* biome lint fix

* make biome use vcs

* no export from tests

* fix key in list

* missing useEffect dep

* explicit any todo

* lint fixes

* warn on parameter assign

* todo for any

* trailing comma

* ignore any type for options

* fix line count parameter reassigned

* fix not null assertion

* ignore any from axios response

* ignore any casts

* ignore any in async ctor

* no reuse of parameter

* ignore i18n translation any

* ignore anys in nodejs polars plugin

* ignore any for response json

* avoid parameter reuse

* fix any usage in vite watch plugin

* fix side effect in vite watch plugin

* fix reused variables in error classes

* disable rule for key event with onClick

* forEach to for of

* missing bracket

* allow any

* forEach to for of

* allow any

* forEach to for of

* allow any

* allow any

* forEach to for of

* use item hash as key

* fix useEffect deps

* todo for async exec

* allow any + async exec

* allow any

* forEach to for of

* ignore spread

* TODOs for sendFunds

* allow any

* ignore async exec

* allow any

* todo for memo deps

* ignore detector code, contains loads of biome errors

* fix anys, foreach and local params

* ignore foreach

* fix any

* allow any

* allow any

* allow any and foreach

* allow any

* allow any

* allow any

* allow enum

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* allow any

* allow any and foreach to for of

* img buffer type

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* make biome do formatting too

* biome format

* ignore bundles

* lint

* lint md files

* lint md

* disable some markdown rules

* lint rs

* fix rs

* fix npm scripts

* lint

* ignore ruff.toml when linting tomls

* lint

* lint py npm scripts

* remove eslint directives

* make biome track the main branch and handle css

* fix caddy linting

* lint

* lint

* lint

* configure taplo

* Update ruff.toml

* fix scripts

* lint

* remove eslint

* lint

* fix speech mark issues

* typo

* fix lint fixes types

* more fixes for linting fixes

* fix for potentially undefined root node of merkle tree

* duplicate selector

* lint

* ignore bundle stats html file

* missing provider env for starting provider

* async factory fix

* remove debug

* lint

* revert detector index.js changes

* lint

* polyfill node: imports

* fix for node:url breaking bundle

* use package workspaces rather than cd'ing (#1321)

* Add push to js branch again to get live staging bundle

* Remove any existing procaptcha responses on human

* deploy staging on push to staging

* Use duplicate JS Server for now

* Silence GH warning about NoSQL injection in demo

* Silence GH warning about NoSQL injection in demo

* Set GH_TOKEN env

* Remove production step for JS Server

* Add back command to push to js-bundle branch. Remove quotes in asset deletion script

* Use correct docker tag

* Try moving to its own step

* don't fail if nothing to commit

* Update provider docker run CMD

* Always pull new version of tag for provider image

* Update provider CMD

* Alter the verify endpoint when in non-production environments in client-example demo

* Allow PoW captchas to be stored and counted

* Removing exportData from Manager

* Adding synamic config for load balancer

* Fix build

* fix server build

* fix server again

* fix provider build

* Removing dangerou

* Change scale-ts type to u64 to avoid losing data

* revert change to number for timestamp

* make sure procaptcha-response is deleted

* Fix scheduler database name and add env option for storage schedule

* Make the models available once the connection has been made

* Move headers

* Update js_server release step

* Try using secret directly

* Add some debug

* Modify debug

* Yet more debug

* I give up

* Working captcha results in mongo (#1322)

* Fixing db schema for pow captchas

* dropping new debug

* Use a var for mongo image

* more debug

* Removing lint fix from version bump

* User data mvp (#1327)

* Update captcha records for user portal data requirements

* pow types overhaul

* Harden tests against function parameter changes

* only run prosoponator on non-draft pr's (#1333)

* fix dir capitalisation (#1329)

* fix dir capitalisation

* fix path

* Introduce dotenv package for finding environment files (#1334)

* Introduce dotenv package for finding environment files

* Package-lock.json

* Update references to old loadEnv

* Update package references

* Add the config files

* Update loadEnv ref

* Update loadEnv refs in demos

* trigger tests

* Update dotenv reference

* Specify no tests

* Fix dataset IDs for staging providers

* Allow pow challenges to be submitted more than once for verification

* Fail if the challenge exists in the db

* Revert unlimited challenge checking

* Make demo re-render captcha component when form changes

* Allow navigating between the captcha types

* Fix license location

* remove debug

* Store something on each request. Update PoW types. Additional checks (#1336)

* removed network types

* remove substrate containers / env params

* remove CONTRACT env vars

* fix imports

* remove networks

* remove network from getPairAsync

* remove networks + contract

* remove default network from env

* remove default network

* remove network default + types from types pkg

* remove network types

* remove block number

* Update package-lock.json

* Update package-lock.json

* remove contract dep for demo

* Store something on each request. Update PoW types. Additional checks

* Additional checks

* Restrict captcha solution checking by dapp account

* fix build

* Fix cypress tests

* lots of updates to types

* Fix up tests. Add types for Get Image Captcha URL

* Remove some unuse types. Type an API URL

* Zod type translation keys. Use enum values when updating database. Add enum arrays to mongoose schemas. Use ApiParams everywhere

* Set the correct key and value for storedStatus

* Fix up unit tests

* Make sure we're setting updated timestamps everywhere. Don't send the same data to the captcha storage DB twice. Add details of cron jobs that have run to scheduled tasks collection

* Fix up tests

* remove file that does nothing

---------

Co-authored-by: George Oastler <[email protected]>

* Bug fix for missing status in scheduled task record

* Fix captcha storage mechanism. Add tests (#1337)

* Fix captcha storage mechanism. Add tests

* Fix up tests. Move verifyRecency function to util

* Update test env template

* Fix build

* use correct branch name in bump version

* Fix captcha scheduling insert (#1341)

* Stop scheduler from trying to set ID on upsert

* package-lock.json

* change logging

* Add types to tests to filter by test type during testing (#1342)

* vite test type env parameter

* prepend test type to all test files

* always include tests with no type specified

* Fix last scheduled task getter (#1346)

Change the db method and add some unit tests around scheduled tasks

* Bump version to 2.0.3

* package update

* versions update

* Fix migrate script

* Fix build

* Set package version in prod env file

---------

Co-authored-by: George Oastler <[email protected]>
Co-authored-by: George Oastler <[email protected]>
Co-authored-by: Chris <[email protected]>
Co-authored-by: Hugh <[email protected]>
Co-authored-by: Hugh <[email protected]>
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants