* add restrictions - bypassing for draft
* this feels like the correct list?
* this feels like the actual actual correct list?
* comment out rules for later fixing
* upgrade node setup for windows
* attempt upgrade over CI
update shadowbox build node version
wild guess
try other image, not holding my breath
switch image back, try no --upgrade? lol
whoops wrong SHA
trying this tip out of hand - will make platform a env var next
apparently buildx is supposed to detect the platform - lets see
find replace yarn w/ npm
fix git hook
cache npm deps
proper lock and enforce engine
licenses are... generated by yarn lmao
some weird leftovers
explode out test workflow jobs
Title Case and check for cache hit
upgrade NPM
check version...
eh, worth a try
reinstall deps for now so we can debug downstream issues
use root bin
fix npm workspace, merge lint w/ setup
HMMM
attempt cache load
fix keys
remove restore-keys
regular install
attempt more "correct" npm approach
annoyingly caching ~/.npm doesn't cache the global npm version
less correct node_module cache, will roll back if doesn't work
er... node 15 :/, restore keys
changing key...?
permission setting so cache can properly hit
separate dependecy permission task
verbose chmod
fix sentry webhook
consistency thing
* print architecture
* attempt amd64-explicit node image
* attempt nodev16 upgrade
* ah, okay, let's try picking this hash
* fix node version reference and npm run clean
* revert untouched files caught in squash
* remove yarn from travis.yml
* testing ci
* npmrc comment, revert one of cis
* Update src/server_manager/web_app/run_gallery_action.sh
Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>
* Update src/server_manager/web_app/run_action.sh
Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>
* licenses change
* fix package-lock regression
* fix webpack-dev-server properly
* set install to ci in Dockerfile
* forgot to include the README
* add ci where it makes sense
* delete this part of the README
* missed one
* testing sub-node_modules
* better chmod
* prefer glob
* reset .github/workflows/test.yml
* oops, yarn in ci
* rename everything (#1006)
* Update test.yml
* check_requirements (#1008)
* reqcheck draft
* finish drafting script - need to test and add to hooks
* attempt to roll our own setup...
* remove setup script and rename a couple things
* remove this nightmare lol
* Update release_manager.yml
* Update test.yml
* 'do' -> 'action'
* run -> start
* Update src/shadowbox/docker/build.action.sh
Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>
* Update README.md
* Update README.md
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* rename 'action' to action
* add action list to run action itself
* Update src/shadowbox/README.md
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* Update README.md
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* Update scripts/run_action.sh
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* Update src/server_manager/scripts/fill_packaging_opts.sh
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* style guide fixes
* lower case fixes
* enforce major version
* Update scripts/run_action.sh
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* Update package.json
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
* wip
* rename file and remove bogus test
* create file library and add unit tests
oh lol
formatting
* switch to node-tmp
* makes constants screaming case
* missed a 'text'
* this is what i get for trying to use the web editor
* roll back title case
* Add per-key data limits to the UI
* Hold byte values instead of DisplayDataAmounts in OutlineServerView and OutlinePerKeyDatALimitDialog
This allows us to fix a layering issue where, at the time of converting
a server access key to a DisplayAccessKey, we couldn't compute the
'relevant transfer' for progress bar displays since we couldn't get at
the server's default data limit.
* Mayp#values() returns an Iterator, not an array
* Rename event field to defaultDataLimitBytes
* Don't reset the dialog state on failure
* Use a loop instead of Math.max in refreshTransferStats
* Unconditionally enable the default data limit in the UI after adding it to the server
Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>
* Consistent handling of the view's default data limit state for both addition and removal
* Use callbacks to set and remove the per key data limit
* s/_showMenu/_showDataLimit/g
* Make language a public property of the dialog
* The dialog only needs the active data limit
* Use a separate method for the handler to open the dialog
* Use _activeDataLimitBytes
* We can use the ?? operator in `refreshTransferStats`
* s/dataLimitType/dataLimitUnit/g
* Rename a couple members
Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>
Running "shellcheck", and attempting to comply with the shell script
style guide, required hundreds of trivial changes, and a small number of
nontrivial ones. For ease of review, this PR includes only the
nontrivial changes.
* Fix broken Travis config
* Doesn't also build the Linux or Mac manager on server deploy
* Correctly builds a Windows binary on manager release (although we still have to manually upload build artifacts)
* Renames the Shadowbox deployment step
* Run Linux unit tests on Github Actions
* Run manager tests on mac, linux, and windows
* Fix syntax, use correct node version
* Don't test Shadowbox on Windows or Mac
* Don't cancel other jobs in the matrix when the build on one platform fails
* Use bash on all platforms. This uses Git for Windows bash on Windows
* Remove Windows tests for now. This is not a downgrade as we were only testing on linux before anyways
* Reduce code duplication
* Remove test config from Travis
* Respond to review comments:
* Remove redundant build step in the shadowbox unit testing workflow
* Add a testing step to the shadowbox release Travis workflow
* Pin to Ubuntu 16.04 to match our release infrastructure on Travis
* Run daily releases of the manager on all platforms
* Verbose mode on docker-compose
* try turning off Docker Content Trust
* Pin to a version of distroless Python and stop removing temp files at the end
* Remove verbose from compose
* Use Ubuntu 16.04
* Comment the pinned python image
* Add temp state cleanup back
* Internationalize data transfer amounts
* Internationalize units and currency
This required updating to Typescript 4 and adding compiler changes for the server manager in order to support newer features of `Intl`.
This change also fixes it so that the server city, creation date, and data limits no longer are stuck to the old language ater changing languages.
* Remove stray log
* Respond to review comments
* Remove byte-size
* Move to `web_app`
This code is only intended to be run in a web environment, not in Node.
* Respond to review comments
* Use property binding to the app language
* Respond to review comments
* Respond to review comments
* s/get/format
* Error out on Node
* Set the persisted app language before starting the app to prevent issues with undefined language at startup
* Respond to review comments and broaden covered languages
* Add the non-experimental path for the default data limit API endpoint
* Ref doesn't work like that
* Deprecate experimental paths
* Use the correct prefix
* s/AccessKeyDataLimit/DefaultDataLimit/g for shadowbox
* Implement per-key custom data limits in shadowbox
* Shadowbox integration test
* Fix the manager service test to maintain backwards compatibility with
the GET /server response
* Fix integration test for Travis
* Fix lint errors
* Implement removal of access key data limits
* Persist custom data limits
* Bump Shadowbox version number
* Add a per key dat alimit count to the feature metrics endpoint
This also involved modifying the schema of
uproxysite:uproxy_metrics_dev.feature_metrics to include the new field.
See https://cloud.google.com/bigquery/docs/managing-table-schemas#bq_1
for how this was accomplished
Tested:
yarn do metrics_server/test && yarn do metrics_server/test_integration
* Collect usage metrics for per-key data limits
* API documentation and cleanup
* Respond to review comments
* Respond to review comments
* Don't encode the data limit in the access key url
This should have been caught in the integration test, but the
integration test was miswritten with "echo" instead of "fail", cause the
test to mistakenly pass.
Fixing this exposed other errors in the test, which were fixed. The
test has been confirmed to both pass and fail successfully.
* Fix the manager service unit test
* Remove stray files
* Split integration test into individual functions
* Clarify comment in the AccessKey interface
* Be more explicit about behavior when no data limits are set
* Remove spuriosu import added by vscode
* DOn't bump shadowbox version number yet
* Rename to accessKeyToApiJson
* Don't export AccessKeyJson and use "StorageJson"
* Don't await data limit enforcement
* Rename the defaultDataLimit getter
* Make dataLimit in the accesskey model readonly
* Use nullish coalescing operator