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

Using PAPI for e2e tests #379

Merged
merged 1 commit into from
Mar 13, 2024
Merged

Using PAPI for e2e tests #379

merged 1 commit into from
Mar 13, 2024

Conversation

mutantcornholio
Copy link
Contributor

  • Currently, e2e types are generated on postinstall and prebuild steps,
    which requires metadata to be available in Docker image, even though
    it's not technically used in the application code. I think separating
    things would make things more complicated, but it's possible.
  • Couldn't undestand the reason for having two different COPY instructions
    in Dockerfile, but that doesn't live well with generating types in
    postinstall, so merging those two
  • .scale metadata files from Zombienet hosts saved in the codebase,
    in order to be able to compile the code separately from running Zombienet

@mutantcornholio mutantcornholio requested review from a team as code owners March 11, 2024 10:32
@mutantcornholio mutantcornholio marked this pull request as draft March 11, 2024 10:43
@rzadp
Copy link
Contributor

rzadp commented Mar 11, 2024

Couldn't undestand the reason for having two different COPY instructions
in Dockerfile

This is an optimization technique, to cache a docker layer with node_modules which doesn't get rebuilt when source files get changed.

@mutantcornholio mutantcornholio force-pushed the yuri/papi-test branch 7 times, most recently from 990034e to 97324dd Compare March 13, 2024 12:23
@mutantcornholio
Copy link
Contributor Author

Couldn't undestand the reason for having two different COPY instructions
in Dockerfile

This is an optimization technique, to cache a docker layer with node_modules which doesn't get rebuilt when source files get changed.

I see. After thinking more on this, decided to take this change back and go with another route.

@mutantcornholio mutantcornholio marked this pull request as ready for review March 13, 2024 12:30
Copy link
Contributor

@rzadp rzadp left a comment

Choose a reason for hiding this comment

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

🚀

Copy link
Contributor

Choose a reason for hiding this comment

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

Can we add a note about how to obtain the *.scale files?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point, added

Copy link
Contributor

@Bullrich Bullrich left a comment

Choose a reason for hiding this comment

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

LGTM

* At first, e2e types were generated on postinstall and prebuild steps,
but that required metadata to be available in Docker image, even though
it's not technically used in the application code.
Making e2e types generation a manual step together with excluding tests
code from Docker image solved it better.
* .scale metadata files from Zombienet hosts saved in the codebase,
in order to be able to compile the code separately from running Zombienet
* Upgraded both Zombienet and Polkadot in the CI, as well as the docs
for e2e tests.
* Used persistent path for zombienet nodes' logs, and printing them in
CI in case of a failure.
@mutantcornholio mutantcornholio merged commit 3b97c8d into main Mar 13, 2024
9 checks passed
@mutantcornholio mutantcornholio deleted the yuri/papi-test branch March 13, 2024 13:40
forgetso added a commit to prosopo/polkadot-testnet-faucet that referenced this pull request Mar 26, 2024
* lockfile update

* Upgrade deps

* Package-lock.json

* Updating e2e tests readme (paritytech#375)

* Fixing e2e readme link

* Adding runtimeRestarter (paritytech#376)

Fixes paritytech#223

+ Adding prom-client dependency, because it was removed from
@eng-automation/js (rightfully so)

* Updating zombinenet verion in e2e docs (paritytech#378)

@josepot has reported an error with `@zombienet/[email protected]`, while the
latest version worked

* Using PAPI for e2e tests (paritytech#379)

* Currently, e2e types are generated on postinstall and prebuild steps,
which requires metadata to be available in Docker image, even though
it's not technically used in the application code. I think separating
things would make things more complicated, but it's possible.
* Couldn't undestand the reason for having two different COPY
instructions
in Dockerfile, but that doesn't live well with generating types in
postinstall, so merging those two
* .scale metadata files from Zombienet hosts saved in the codebase,
in order to be able to compile the code separately from running
Zombienet

* Update dependencies

* yarn.lock

* Bump the npm_and_yarn group across 2 directories with 2 updates (paritytech#381)

* removed base url (paritytech#382)

This removes the base url, making the website work on the root of the
domain.

Also, by doing this change, and having set up the dns, this resolves
paritytech#348

* Update deps

* Update API calls

* Silence polkadot API type errors

* Update captcha type to image and set width of captcha container

* remove grid class

* switch back to PJS. change port number

* remove prettier deps

* update port

* set procaptcha details

* fix dropdown z-index

* Fix z-indexes

* Change mock provider version

* remove console.errors

---------

Co-authored-by: Yuri Volkov <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Javier Bullrich <[email protected]>
forgetso added a commit to prosopo/polkadot-testnet-faucet that referenced this pull request Apr 29, 2024
* Updating e2e tests readme (paritytech#375)

* Fixing e2e readme link

* Adding runtimeRestarter (paritytech#376)

Fixes paritytech#223

+ Adding prom-client dependency, because it was removed from
@eng-automation/js (rightfully so)

* Updating zombinenet verion in e2e docs (paritytech#378)

@josepot has reported an error with `@zombienet/[email protected]`, while the
latest version worked

* Using PAPI for e2e tests (paritytech#379)

* Currently, e2e types are generated on postinstall and prebuild steps,
which requires metadata to be available in Docker image, even though
it's not technically used in the application code. I think separating
things would make things more complicated, but it's possible.
* Couldn't undestand the reason for having two different COPY
instructions
in Dockerfile, but that doesn't live well with generating types in
postinstall, so merging those two
* .scale metadata files from Zombienet hosts saved in the codebase,
in order to be able to compile the code separately from running
Zombienet

* Bump the npm_and_yarn group across 2 directories with 2 updates (paritytech#381)

* removed base url (paritytech#382)

This removes the base url, making the website work on the root of the
domain.

Also, by doing this change, and having set up the dns, this resolves
paritytech#348

* Added markup code generation (paritytech#383)

It generates a JSON object inside the header following the instructions
from:
https://developers.google.com/search/docs/appearance/structured-data/faqpage

It parses the information of the markdown text to generate this json
object.

This resolves paritytech#277

* Updated actions to latest and added retention period (paritytech#384)

We currently don't have an artifact retention period, so it defaults to
90 days.

While the artifact for the site is not too big, having one build per
push and PR can quickly accumulate the amount and make us hit our hard
limit.

By adding a limit to the retention day of 5 days we ensure that we get
rid of the old artifacts faster than waiting for two whole months.

I also updated all the actions version to latest release

* Bump the npm_and_yarn group across 1 directory with 1 update (paritytech#385)

* Bump the npm_and_yarn group across 1 directory with 1 update (paritytech#387)

* Update Frequency Faucet URL (paritytech#393)

As the Frequency Faucet now also supports Frequency Paseo testnet in
addition to the Rococo one, the url is being set to a generic one
instead of specific for the network.

https://faucet.testnet.frequency.xyz/

* moved tag-client to work in pull_request_target (paritytech#394)

It fails when an external contributors make a PR.

This will fix that issue.

* Merge latest upstream and use a transaction queue to send txs to nodes

* Add MIT LICENSE (paritytech#395)

* bump to polkadot 10.13.1

* lockfile

* yarn.lock

* yarn.lock

* yarn.lock

* yarn.lock

* yarn.lock client

* Fix test mock

* Add @polkadot/util to dev dependencies

* Address comments from @mutantcornholio

---------

Co-authored-by: Yuri Volkov <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Javier Bullrich <[email protected]>
Co-authored-by: Wil Wade <[email protected]>
Co-authored-by: Maksym H <[email protected]>
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