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

🚀 [QA] Update release environment #760

Merged
merged 58 commits into from
Nov 23, 2023
Merged

🚀 [QA] Update release environment #760

merged 58 commits into from
Nov 23, 2023

Conversation

thesis-valkyrie
Copy link
Collaborator

This is a pull request that upon merging will update production environment with recent stage-live changes.
The environment that will be updated:

Read more: Deployment to Production Flow

xpaczka and others added 30 commits November 13, 2023 14:31
We had issues with triggering the `test-list.yml` workflow. It turned out this
was because GitHub prevents from triggering workflows by events triggered by the
`GITHUB_TOKEN` (and this was our case). To work around that we need to change
the token used for creating the release PRs to a different one that
`GITHUB_TOKEN` (we've decided to use a personal access token of the
`thesis-valkyrie` user). We also needed to set `persist-credentials` parameter
to `false` in `actions/checkout@v3` action in order to not save the auth token to
the git config (thanks to this we'll be able to create PR with the specified PAT
and trigger `test-list.yml` automatically after that event).
These are still pretty bare, and links to docs on how to do some of
these things might be nice.
Names of the secrets cannot contain dashes. Changed `THESIS-VALKYRIE_PAT` to `THESIS_VALKYRIE_PAT`.
Handle adding Realm contracts by address. Connect to Base contract. Update storage version to trigger localstorage update.
⚠️ Merging this PR will add the realm - please approve but not merge
before we are ready to publish the realm

### What

Refactor to prepare for new realm
- allow adding realm contracts by address
- update existing realms to add them by address not name
- removed the env flag to make it easier in the code to control the data
- we need to update the storage version when the Base realm should
become visible, it will be easier to just merge the PR to publish than
to guard multiple places with feature flags

Adding new realm
- added Base realm by contract address
- updated Leaderboard placeholder to match expected XP drop date
- updated storage version to allow users to reload the realms data they
have cached in local storage

### Testing

- [x] clear the localstorage
- [x] open the dapp on this branch and test new realm
- [x] reload and see if everything is working fine
- [x] clear the localstorage again
- [x] go to `main` branch, load the dapp from `main`
- [x] checkout this branch and reload the website
- [x] make sure Base realm was added correctly


![image](https://github.com/tahowallet/dapp/assets/20949277/4db8ed6a-9da6-4009-a14a-6b1796d2866a)
xpaczka and others added 17 commits November 22, 2023 15:22
Just added some minor notes with suggestions for combining tests to speed up the checklist process. I don't think any of what's there should be removed though.
We had issues with triggering the `test-list.yml` workflow. It turned
out this was because GitHub prevents from triggering workflows by events
triggered by the `GITHUB_TOKEN` (and this was our case). To work around
that we need to change the token used for creating the release PRs to a
different one that `GITHUB_TOKEN` (we've decided to use a personal
access token of the `thesis-valkyrie` user). We also needed to set
`persist-credentials` parameter to `false` in `actions/checkout@v3`
action in order to not save the auth token to the git config (thanks to
this we'll be able to create PR with the specified PAT and trigger
`test-list.yml` automatically after that event).

TODO:

- [x] Configure personal access token for the `thesis-valkyrie` GH
account and set it's value under the `THESIS_VALKYRIE_PAT` secret
accessible by the `dapp` repository. The PAT should have `repo` scope.
(@Shadowfiend)

Useful links:
* [Triggering a workflow from a
workflow](https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#triggering-a-workflow-from-a-workflow)
* [Creating fine grained
PATs](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)
* [Switching off credentials
persistency](https://github.com/orgs/community/discussions/26220#discussioncomment-3250853)
Resolves #678 

Made all numbers values have two decimal points (except for integers
like population)
Just added some minor notes with suggestions for combining tests to
speed up the checklist process. I don't think any of what's there should
be removed though.
Resolves #712 

## **What has been done**
- Added "New" label to quest list (if the quest is new)
- Added gif for a new quest on map
- Modified the `Modal` component to support x-axis overflow

![Zrzut ekranu 2023-11-22 o 13 15
43](https://github.com/tahowallet/dapp/assets/73061939/bc19e743-9e3f-4989-b7d9-4bec3158c9af)

## **Testing**

- [ ] Clear the `localStorage`
- [ ] Check if you "new quest" labels all over the map
- [ ] Click on every realm and expand every accordion with "new quest"
label
- [ ] "New quest" label in the modal should disappear after expanding
the accordion
- [ ] When there are no more "New quest" labels in the modal, the label
on the map that was over the realm should also disappear
- [ ] For a new realm "New quest" labels are not displayed
**⚠️ This PR is base for Base Realm - all future commits and PRs
connected with adding this realm should be branched out of this one**

Resolves #711 

## **What has been done**
- Added new realm to the map
- Added "New realm" label to recent realm
- Added blinking animation to recent realm
- After clicking on realm, blinking animation and "New realm" label
disappears (data for all clicked realm is stored in `localStorage`
- Connected to contracts

![Zrzut ekranu 2023-11-21 o 14 22
37](https://github.com/tahowallet/dapp/assets/73061939/c6241847-4e75-4191-8cab-fa4d407b2a4d)
This is a pull request that upon merging will update stage environments
with recent `main` changes.
The environments that will be updated:
* Stage live: https://stage-live--taho-development.netlify.app/
* Stage fork: https://stage-fork--taho-development.netlify.app/

Read more: [Deployment to Production
Flow](https://github.com/tahowallet/dapp/blob/main/docs/testing-env.md)
Copy link

netlify bot commented Nov 23, 2023

Deploy Preview for taho-development ready!

Name Link
🔨 Latest commit 7149220
🔍 Latest deploy log https://app.netlify.com/sites/taho-development/deploys/655f814e8f0d9d000863eb56
😎 Deploy Preview https://deploy-preview-760--taho-development.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

github-actions bot commented Nov 23, 2023

Release checklist

This release checklist should be performed before release is published.

  • if something is not working please create an issue and link it here. Checkbox
    should be checked only if everything was fine
  • in case of serious issues or doubts you should ask the team first

Approve the PR when the checklist is finished ✅

Merge the PR when it is approved and we want to update the production
environment 🚀

Manual tests

  1. Connect to wallet that previously staked

    • you see the Portal is Open message
    • you can see the map after entering
    • you see your address connected
    • you see the name of your realm
    • you can navigate to other realms but not stake in them
    • you can stake more TAHO in that realm if you're not fully staked
    • you can unstake
  2. Connect to wallet that hasn't staked but has $TAHO

    • you see the Portal is Open message
    • you can see the map after entering
    • you see your address connected
    • you don't see a realm name beside that
    • you can explore realms and stake into one
  3. Connect to wallet that has NO $TAHO (& no $VETAHO)

    • you see the portal is closed message and the wait list button
    • wait list redirect works as expected
    • you can't see the map
  4. Switch connected wallet in the extension

    • dapp reloads and shows the portal screen
    • reloads with Connect Wallet button if you go to a wallet that's not
      connected
    • reloads with that address connected if that's a connected website for
      the address: if it's an eligible address, you see Access Granted &
      Enter the portal
    • reloads with that address connected if that's a connected website for
      the address: if it's an inelligible address, you see the portal is
      closed message and wait list button
  5. Helper Tool

    • doesn't pop up automatically for users who have visited before and
      closed it
    • doesn't pop up automatically for staked users
    • does come up with the correct message when you click it (standard
      "hang in there, Nomad...")
    • does come up properly for a user connecting for the first time and
      running through onboarding
  6. Population

    • shows on each realm
    • shows on the bottom bar
    • is updated appropriately if a new account stakes
  7. Quests/Questline

    • shows on each realm as expected
  8. Disconnect from dapp

    • click disconnect on address drop down and it disconnects and shows the
      portal screen
  9. Connect Wallet

    • with Taho installed and default wallet
    • with Taho installed and not default
    • with Taho not installed and no other - should be directed to the Chrome store to download Taho & given a message in the dapp to do so
    • with Taho not installed and MM installed - should be directed to the Chrome store to download Taho & given a message in the dapp to do so
  10. XP

  • an account with XP to claim sees that under Claimable Rewards on the Realm modal (in pre-prod we can see this on stage-live but might be easiest to only test this when we're testing XP drops)
  • account can claim XP and sees the wallet balance of VETAHO change accordingly (requires that the account earned XP and hasn't claimed it yet so this could be hard to test on each release but when we're testing XP drops, we should do this)
  • leaderboard shows the top 10 earners in the realm - the connected account is shown at the top with their place on the board shown

@michalinacienciala michalinacienciala merged commit 3eda9e2 into release Nov 23, 2023
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants