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

Upgrade vagrant environment #492

Merged
merged 14 commits into from
Mar 7, 2023

Conversation

evmiguel
Copy link
Contributor

@evmiguel evmiguel commented Feb 13, 2023

This PR

  • Upgrades the Vagrant environment
  • Upgrades Node using Ansible
  • Fixes bugs on fresh install of an ARIA-AT App instance. The bugs were:
    • Redirects going to backend instead of frontend
    • GitHub auth redirects not going to /test-queue

To mimic an upgrade in Vagrant:

  • Start with a branch that uses Node 14: git checkout vagrant-main-node-14
  • Launch a VM: vagrant up
  • Verify that the app is working at http://aria-at-app.loc/
  • git checkout upgrade-vagrant-environment
  • Provision the VM again: vagrant reload --provision
  • Verify that this task shows:
TASK [nodejs : Show status of nodejs installation] *****************************
ok: [vagrant] => {
    "msg": "v14.21.2"
}

and this task shows:

TASK [nodejs : Show status of new nodejs installation] *************************
ok: [vagrant] => {
    "msg": "v18.14.0"
}

@@ -6,8 +6,9 @@ PGUSER=atr
PGPASSWORD=atr
PGHOST=localhost
PGPORT=5432
ENVIRONMENT=dev
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@evmiguel I see dev being referenced in embed.js but I'm assuming development is being inferred throughout when this ENV var doesn't exist. Should those embed.js references to this var (or lack of) also be updated?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@howard-e Good catch! Since the vagrant environment mirrors production, it's technically not using the dev configuration. I think we should name the variable something else with a different value.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What would be the consequence of leaving that variable unchanged?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jugglinmike The app would look for the server side rendering files for the embed feature in a different directory.

@@ -8,6 +8,32 @@
- https://dl.yarnpkg.com/debian/pubkey.gpg
- https://deb.nodesource.com/gpgkey/nodesource.gpg.key

- name: Check if Node exists
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the part that automatically removes any Node version that is not version 18.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Node isn't installed in the "debian/buster64" Vagrant box.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I should have been clearer here. Lines 11-45 take care of the Node upgrade.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, so this is not about the Vagrant environment. Is it right to say that these new tasks are intended to support transitioning the production, staging, and "sandbox" environments?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that's right!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it! How about placing instructions in a dedicated file and only including it for production? That will more accurately reflect the intent, optimize the "nodejs" role, and make it easier to safely remove the transitional tasks once all the running systems have been updated.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jugglinmike I placed the tasks here.

@evmiguel evmiguel requested a review from howard-e February 14, 2023 20:32
- name: Remove Node.js repo if not version 18
apt_repository:
state: absent
repo: deb https://deb.nodesource.com/node_14.x buster main
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@evmiguel should this be node_18.x?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@howard-e For this upgrade, I wanted to ensure that the Node 14 repo was absent. The Node 18 repo gets added below in the Add software repositories section. Is this an ok approach?

@evmiguel evmiguel force-pushed the upgrade-vagrant-environment branch from d7ffc84 to 70d370e Compare February 15, 2023 15:59
Copy link
Contributor

@jugglinmike jugglinmike left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yarn is refusing to install the dependencies in Node.js version 18.

$ yarn install
yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
error apicache@1.6.2: The engine "node" is incompatible with this module. Expected version ">=8 <=15". Got "18.14.0"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

args:
chdir: '{{source_dir}}'

- name: Seed database
shell: DOTENV_CONFIG_PATH={{environment_config.dest}} node -r ./node_modules/dotenv/config $(npm bin)/sequelize-cli db:seed:all --config ./config/config.js --seeders-path ./server/seeders/
shell: DOTENV_CONFIG_PATH={{environment_config.dest}} node -r ./node_modules/dotenv/config ./node_modules/.bin/sequelize-cli db:seed:all --config ./config/config.js --seeders-path ./server/seeders/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note to other reviewers: npm recently removed this subcommand.

register: new_node_version

- name: Show status of new nodejs installation
debug: msg="{{ new_node_version.stdout }}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's safe to trust apt to tell us if the installation failed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted this debug message for us to compare the version in the Check if Node exists task and the node version installed during the upgrade.

@@ -8,6 +8,32 @@
- https://dl.yarnpkg.com/debian/pubkey.gpg
- https://deb.nodesource.com/gpgkey/nodesource.gpg.key

- name: Check if Node exists
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Node isn't installed in the "debian/buster64" Vagrant box.

when: deployment_mode != 'development'

# The job is written to change the permissions of the /vagrant/server
# directory because the POST request does not have permission to it
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused about this. Since the curl utility is issuing an HTTP request to the web server, it doesn't seem like it needs access to any particular directories on the file system.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jugglinmike nice catch! I should have worded this differently. The process that is invoked through the POST request accesses the /vagrant/server folder.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see that you've removed the mode changes from the command, but the comment still describes the earlier version.

@evmiguel evmiguel requested review from jugglinmike and howard-e and removed request for jugglinmike February 15, 2023 19:04
@evmiguel
Copy link
Contributor Author

@jugglinmike did you have a vagrant machine already up when you ran the vagrant deployment in this branch?

@evmiguel evmiguel requested a review from jugglinmike February 15, 2023 19:09
@jugglinmike
Copy link
Contributor

@jugglinmike did you have a vagrant machine already up when you ran the vagrant deployment in this branch?

I did not. That said, I'm not able to reproduce the error during yarn install that I reported, so I'm happy to move forward from that.

@evmiguel
Copy link
Contributor Author

@howard-e @jugglinmike there are new instructions in the description to simulate an upgrade with Vagrant. Let me know your thoughts and if you feel confident in trying them out on the other environments afterwards.

@jugglinmike
Copy link
Contributor

Following the procedure in this pull request's description, I observed

TASK [nodejs : Show status of nodejs installation] *****************************
ok: [vagrant] => {
    "msg": "v14.21.2"
}

Followed later by

TASK [nodejs : Show status of new nodejs installation] *************************
ok: [vagrant] => {
    "msg": "v18.14.0"
}

So that aspect appears to be working as intended!

@evmiguel evmiguel force-pushed the upgrade-vagrant-environment branch from fc9f758 to 6bfdf7e Compare February 21, 2023 16:28
@evmiguel evmiguel changed the title WIP: Upgrade vagrant environment Upgrade vagrant environment Feb 22, 2023
Copy link
Contributor

@howard-e howard-e left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM especially having also tested this with a deployment to the sandbox environment as well, but I'd leave the final thoughts to @jugglinmike on this as there are still unresolved discussions.

@jugglinmike
Copy link
Contributor

I'm still learning about the environments this application supports, but I'm wondering if whether the introduction of a variable named DEPLOY_ENVIRONMENT might make things harder for folks to understand.

The following table is how I'm interpreting of the state of affairs represented by this patch. The first two columns describe the potential values of the environment variables we're discussing; the next three columns describe the effect each combination has on the application, and the final column defines the system where the combination is actually used.

ENVIRONMENT DEPLOY_ENVIRONMENT handlebarsPath view caching embed link protocol context
"dev" (unset) "handlbars" disabled HTTPS (unused)
(unset) (unset) "server/handlebars" enabled HTTPS (unused)
"test" (unset) "server/handlebars" enabled HTTPS testing
"sandbox" (unset) "server/handlebars" enabled HTTPS https://aria-at-app-sandbox.bocoup.com
"staging" (unset) "server/handlebars" enabled HTTPS https://aria-at-staging.w3.org
"production" (unset) "server/handlebars" enabled HTTPS https://aria-at.w3.org
"dev" "dev" "handlbars" disabled HTTP local host operating system
(unset) "dev" "server/handlebars" enabled HTTP virtual machine
"test" "dev" "server/handlebars" enabled HTTP (unused)
"sandbox" "dev" "server/handlebars" enabled HTTP (unused)
"staging" "dev" "server/handlebars" enabled HTTP (unused)
"production" "dev" "server/handlebars" enabled HTTP (unused)

It seems to me that introducing an independent variable which controls only the embed link protocol creates space for many situations that this application doesn't truly need--see all the "(unused)" rows. If we could fix support for Vagrant just by introducing a new value for ENVIRONMENT, then we would limit complexity and reduce the risk of misconfiguration.

Here's what I have in mind:

ENVIRONMENT handlebarsPath view caching embed link protocol context
(unset) "server/handlebars" enabled HTTPS (unused)
"test" "server/handlebars" enabled HTTPS testing
"sandbox" "server/handlebars" enabled HTTPS https://aria-at-app-sandbox.bocoup.com
"staging" "server/handlebars" enabled HTTPS https://aria-at-staging.w3.org
"production" "server/handlebars" enabled HTTPS https://aria-at.w3.org
"dev" "handlbars" disabled HTTP local host operating system
"vagrant" "server/handlebars" enabled HTTP virtual machine

handbarsPath and "view caching" both use the semantic "ENVIRONMENT is not "dev"," so a new value like "vagrant" would have the intended effect without any modification to the source code. Only the line we're already considering would need to be changed. Instead of:

-const protocol = process.env.ENVIRONMENT === 'dev' ? 'http://' : 'https://';
+const protocol =
+    process.env.DEPLOY_ENVIRONMENT === 'dev' ? 'http://' : 'https://';

This patch could implement the following change:

-const protocol = process.env.ENVIRONMENT === 'dev' ? 'http://' : 'https://';
+const protocol =
+    /dev|vagrant/.test(process.env.ENVIRONMENT) ? 'http://' : 'https://';

If I haven't overlooked anything in this design (and that's a big "if"), this would improve the project's onboarding experience since new contributors wouldn't have to familiarize themselves with subtle distinctions in the combination of like-named variables.

(This interpretation suggests an opportunity for further simplifications, such as using "production" instead of "test", "sandbox", and "staging", but that's clearly beyond the scope of this patch.)

What do you think, @evmiguel?

@evmiguel evmiguel force-pushed the upgrade-vagrant-environment branch from 65d324d to f303d96 Compare February 28, 2023 17:49
@evmiguel
Copy link
Contributor Author

@jugglinmike Thank you for your thoughtful analysis and consideration of the onboarding process with respect to the design of the environment variables. I agree, and I've added your implementation to embed.js.

Copy link
Contributor

@jugglinmike jugglinmike left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jugglinmike Thank you for your thoughtful analysis and consideration of the onboarding process with respect to the design of the environment variables. I agree, and I've added your implementation to embed.js.

Happy to hear that! I think there's just one more modification necessary to make it work--comment inline.

@@ -6,8 +6,10 @@ PGUSER=atr
PGPASSWORD=atr
PGHOST=localhost
PGPORT=5432
ENVIRONMENT=dev
DEPLOY_ENVIRONMENT=dev
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rather than

-ENVIRONMENT=dev
+DEPLOY_ENVIRONMENT=dev

I think we need

-ENVIRONMENT=dev
+ENVIRONMENT=vagrant

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jugglinmike all set!

@evmiguel evmiguel force-pushed the upgrade-vagrant-environment branch from 3340aff to 0573e55 Compare February 28, 2023 19:45
@evmiguel evmiguel requested a review from jugglinmike February 28, 2023 19:45
Copy link
Contributor

@jugglinmike jugglinmike left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Vagrant environment ought to have the ALLOW_FAKE_ROLE environment variable set. I don't have "write" permissions for this repository, so I'm afraid I can't make this change myself.

diff --git a/deploy/files/config-development.env b/deploy/files/config-development.env
index a5f3d428..77472e89 100644
--- a/deploy/files/config-development.env
+++ b/deploy/files/config-development.env
@@ -7,6 +7,7 @@ PGPASSWORD=atr
 PGHOST=localhost
 PGPORT=5432
 ENVIRONMENT=vagrant
+ALLOW_FAKE_ROLE=true
 IMPORT_CONFIG=/home/aria-bot/config.env
 GITHUB_OAUTH_SERVER=https://github.com
 GITHUB_GRAPHQL_SERVER=https://api.github.com

Also, it looks like we still have issues with filesystem access control. The application responds to requests to import tests with HTTP response code 422, and it prints the following to standard error:

Feb 28 22:05:38 buster node[386]: Listening on 5000
Feb 28 22:11:57 buster node[386]: Command failed: ./deploy/scripts/export-and-exec.sh /home/aria-bot/config.env node ./server/scripts/import-tests/index.js
Feb 28 22:11:57 buster node[386]: Error found: Error: EACCES: permission denied, mkdir '/vagrant/server/scripts/import-tests/tmp'
Feb 28 22:11:57 buster node[386]:     at Object.mkdirSync (node:fs:1395:3)
Feb 28 22:11:57 buster node[386]:     at module.exports.makeDirSync (/vagrant/server/node_modules/fs-extra/lib/mkdirs/make-dir.js:23:13)
Feb 28 22:11:57 buster node[386]:     at readRepo (/vagrant/server/scripts/import-tests/index.js:152:9)
Feb 28 22:11:57 buster node[386]:     at importTestPlanVersions (/vagrant/server/scripts/import-tests/index.js:52:57)
Feb 28 22:11:57 buster node[386]:     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

@evmiguel
Copy link
Contributor Author

evmiguel commented Mar 1, 2023

@jugglinmike I added the ALLOW_FAKE_ROLE to the vagrant variables. I'm not running into the filesystem access issue:

Mar  1 15:03:31 buster node[11748]: Listening on 5000
Mar  1 15:05:01 buster CRON[11852]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Mar  1 15:15:01 buster CRON[11883]: (root) CMD (curl -X POST http://localhost:5000/api/test/import)
Mar  1 15:15:01 buster CRON[11884]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Mar  1 15:15:17 buster CRON[11882]: (CRON) info (No MTA installed, discarding output)
Mar  1 15:15:55 buster systemd[1]: Starting Cleanup of Temporary Directories...
Mar  1 15:15:55 buster systemd[1]: systemd-tmpfiles-clean.service: Succeeded.
Mar  1 15:15:55 buster systemd[1]: Started Cleanup of Temporary Directories.

Are you provisioning the changes with vagrant up --provision or vagrant reload --provision? I destroy the machine completely and start fresh. Maybe that has something to do with it?

I also added you to the admin teams for this repo. Hopefully, you have access now!

@evmiguel evmiguel requested a review from jugglinmike March 1, 2023 15:20
@evmiguel evmiguel force-pushed the upgrade-vagrant-environment branch from aed0003 to 3ecef91 Compare March 1, 2023 18:25
@evmiguel evmiguel force-pushed the upgrade-vagrant-environment branch from 3ecef91 to 4f9dfb9 Compare March 1, 2023 18:33
@jugglinmike
Copy link
Contributor

Are you provisioning the changes with vagrant up --provision or vagrant reload --provision? I destroy the machine completely and start fresh. Maybe that has something to do with it?

That'd be a classic mistake, but I didn't make it this time :)

The most direct explanation for the error I reported is that in my instance of the VM, the import-tests directory is not world-writable:

$ vagrant ssh -- ls -lahd /vagrant/server/scripts/import-tests
drwxrwxr-x 2 vagrant vagrant 4.0K Feb 28 18:24 /vagrant/server/scripts/import-tests

But that just raises further questions! We both used the same provisioning logic, after all, and that provisioning logic explicitly makes the directory world-writable.

It's worth noting that the directory isn't world-writable on my host system, either:

$ vagrant ssh -- chmod 0777 /vagrant/server/scripts/import-tests

If I manually set the bit in the VM, my host system remains unaffected:

$ vagrant ssh -- chmod 0777 /vagrant/server/scripts/import-tests
$ vagrant ssh -- ls -lahd /vagrant/server/scripts/import-tests
drwxrwxrwx 2 vagrant vagrant 4.0K Feb 28 18:24 /vagrant/server/scripts/import-tests
$ ls -lahd server/scripts/import-tests
drwxrwxr-x 2 mike mike 4.0K Feb 28 13:24 server/scripts/import-tests

That's because this project uses the "rsync" folder synchronization strategy. It also means we may have to rethink how we solve this directory permissions problem. Check out how the folder loses the bit after reloading (and automatic synchronization via rsync):

$ vagrant reload

[...extraneous `vagrant reload` output elided...]
==> vagrant: Rsyncing folder: /home/mike/projects/bocoup/facebook-aria/aria-at-app/ => /vagrant
==> vagrant:   - Exclude: [".vagrant/", "node_modules/", "client/dist/"]
[...extraneous `vagrant reload` output elided...]

$ vagrant ssh -- ls -lahd /vagrant/server/scripts/import-tests
drwxrwxr-x 2 vagrant vagrant 4.0K Feb 28 18:24 /vagrant/server/scripts/import-tests

So I think I got here because I restarted the VM without reprovisioning. I have a few ideas about how to fix this, but first (since this is potentially dependent on the host OS), can you try reproducing the problem by reloading without reprovisioning?

I also added you to the admin teams for this repo. Hopefully, you have access now!

That did the trick--thanks!

@evmiguel
Copy link
Contributor Author

evmiguel commented Mar 6, 2023

@jugglinmike I can confirm that upon restarting the VM, without reprovisioning, I run into the permissions error.

@evmiguel
Copy link
Contributor Author

evmiguel commented Mar 6, 2023

@jugglinmike, I realize that reverting the ansible script to change the permissions on /vagrant/server/scripts/import-tests, won't solve the permission overwrite with rsync on vagrant reload. What were your thoughts on potential solutions to this?

@jugglinmike
Copy link
Contributor

A short-term solution might be to rely on filesystem ownership (or potentially group membership) rather than "world writability." In those tests above, the "write" bit is always set for both the directory's owner and group. That means if we configured Vagrant to set the owner or group of the synced folder to a more appropriate value (e.g. aria-bot), then the server process would have no trouble writing to it (and we wouldn't need to chown anything during provisioning). In that case, we'd need to take care that the change of owner/group didn't violate any other assumptions in the Vagrant environment.

(For a longer-term solution, we might consider using the /tmp directory for this. The operating system provides that directory expressly for such purposes, so making this change would not only fix this problem; it would benefit the production server, as well. Of course, changing production is riskier and warrants additional caution--not to mention an investigation into why things were originally build this way--which is why I'm considering it a longer-term solution.)

config.vm.synced_folder '.', '/vagrant', type: 'rsync',
rsync__exclude: ['node_modules/', 'client/dist/']
rsync__exclude: ['node_modules/', 'client/dist/'],
rsync__args: ['-r', '--perms', '--chmod=Du=rwx,Dg=rwx,Do=rwx,Fu=rwx,Fg=rwx,Fo=rwx', './server']
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jugglinmike This is a naive world writable solution for the rsync options on the server folder. I know it's not setting the ownership on aria-bot, as suggested, but it does circumvent a Vagrant error on rsync when aria-bot isn't created on first provision. Given the time constraints, could we push this or something like this forward so that we can get the upgrade in place before the sprint ends?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jugglinmike I can also confirm that with this change, I am no longer running into permissions issues.

The directory is now made world-writable every time it is synchronized
with the host.
Copy link
Contributor

@jugglinmike jugglinmike left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jugglinmike I can also confirm that with this change, I am no longer running into permissions issues.

Yup, that corrects permissions for me, too:

$ vagrant up
[elided]
$ vagrant ssh -- ls -lahd /vagrant/server/scripts/import-tests
drwxrwxrwx 2 vagrant vagrant 4.0K Mar  7 21:14 /vagrant/server/scripts/import-tests
$ vagrant rsync
==> vagrant: Rsyncing folder: /home/mike/projects/bocoup/facebook-aria/aria-at-app/ => /vagrant
==> vagrant:   - Exclude: [".vagrant/", "node_modules/", "client/dist/"]
$ vagrant ssh -- ls -lahd /vagrant/server/scripts/import-tests
drwxrwxrwx 2 vagrant vagrant 4.0K Mar  7 21:22 /vagrant/server/scripts/import-tests
$ vagrant reload
[elided]
$ vagrant ssh -- ls -lahd /vagrant/server/scripts/import-tests
drwxrwxrwx 2 vagrant vagrant 4.0K Mar  7 21:22 /vagrant/server/scripts/import-tests

More to the point: it allows the "import" task to complete successfully.

Given how much thought went into this, I'd like to see some documentation about the rationale for the configuration. Additionally, since it obviates the Ansible Task we've been maintaining, we should remove that. I've made those changes myself for expediency's sake. If they look good to you, then you can merge this!

@evmiguel
Copy link
Contributor Author

evmiguel commented Mar 7, 2023

@jugglinmike Thank you! I appreciate your thoughts and guidance on this task!

@evmiguel evmiguel merged commit d260b8d into update-dependencies Mar 7, 2023
@evmiguel evmiguel deleted the upgrade-vagrant-environment branch March 7, 2023 21:45
howard-e added a commit that referenced this pull request Mar 8, 2023
* Update some major dependencies, webpack config and proxy management for "Open Test Page button"

* Update icon packs

* Webpack config changes

* Update bootstrap

* Update eslint & jest

* Update connect-pg-simple

* Update css

* Remove query-string dependency

* jest.setup.js update

* Update runtest.yml to use Node v18

* Updating form text (#485)

* Update dependencies test (#484)

* Updating jest environment and babel configuration

* New github config to fix builds

* Upgrade lighthouse

* Remove nodegit dependency

* Address PR feedback

* Fix files affected by revert on source branch

* Update React

* Fix fake data seeder

* Remove sass dependency

* Fix files affected by revert on source branch

* Fix misspellings in the readme (#490)

* Fix misspellings in the readme

---------

Co-authored-by: Howard Edwards <howarde.edwards@gmail.com>

* Update sequelize

* Update gitUpdatedDateToString function arguments

* Updating react deps  (#502)

* Update React

* Updating jest environment and babel configuration

* New github config to fix builds

* Cacheing nodegit and fixing failing tests

* update react in package.json

* Updating React-Testing-Library and removing acts (default now)

* adding text encoder, which is not added to jsdom

* updating react testing library dom

* Updating jest environment and babel configuration

* update react in package.json

* adding text encoder, which is not added to jsdom

* cleaning up confirmAuth + candidateTests + routes index.js

* descendent routing in progress

* fixed candidate tests + test reports. TODO: test queue

* fixing typo: propotypes --> proptypes

* Undoing irrelevant commits

* Undoing uneccesary whitespaces

* Removing unnecessary imports

* cleaning up confirmAuth + candidateTests + routes index.js

* descendent routing in progress

* undoing irrelevant commits

* undoing uneccesary whitespaces

* removing unnecessary imports

* Update yarn.lock

* report fixings

* fixing jest test expected

* removing unused import

* updated runtest.yml

* removing resize observer

* confirmed test expected is different per machine, reverting

* fixing resize-observer

* check for null | undefined testplanreports

* summarizetestplanversion reverts

* Re-enabling test on App.test.jsx

* updated testing library

* adding yarn lock

* yarn prettier

* Removing comment

---------

Co-authored-by: Howard Edwards <howarde.edwards@gmail.com>
Co-authored-by: Erika Miguel <erika@bocoup.com>

* Update rest of dependencies 2 (#503)

* Upgrade prettier

* update babel

* Updating babel and prettier correctly

* Upgrade ua-parser-js and lighthouse cli

* Moving babel deps to dev dependencies

* updating prettier config

* prettier changes

* Update sequelize-cli version (#508)

* Update sequelize-cli version
* Update dependencies

* Updating More Dependencies  (#506)

* untested changes

* fixed storybook

* alphabetical

* changing to dev deps

* Implement fixes for support tables

* Upgrade vagrant environment (#492)

* Vagrant environment changes

* adding memory increase and cron job

* Automatically upgrade to Node 18 and fix cron job on Vagrant environment

* Adding cores to Vagrant machine

* Adding environment variable to differentiate between deployment environments in embed.js

* Changing permissions to /vagrant/server folder

* separating out upgrade tasks

* explicitly adding patch-package to root

* removing DEPLOY_ENVIRONMENT variable

* remove DEPLOY_ENVIRONMENT from vagrant config

* adding ALLOW_FAKE_ROLE env variable to vagrant env

* World write rsync permission on server folder on vagrant machine

* Document new Vagrant configuration

* Remove obviated Ansible Task

The directory is now made world-writable every time it is synchronized
with the host.

---------

Co-authored-by: Mike Pennisi <mike@mikepennisi.com>

* Update yarn.lock

---------

Co-authored-by: Erika Miguel <erika@bocoup.com>
Co-authored-by: alflennik <alflennik@users.noreply.github.com>
Co-authored-by: Paul Clue <67766160+Paul-Clue@users.noreply.github.com>
Co-authored-by: Aleena <55119766+aleenaloves@users.noreply.github.com>
Co-authored-by: Mike Pennisi <mike@mikepennisi.com>
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.

3 participants