46 Commits

Author SHA1 Message Date
Liam DeBeasi
e98620ee99 test(ci): run tests in docker container (#28893)
Issue number: Internal

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

The team currently faces two challenges:

1. Verifying visual changes locally is difficult because we cannot use
the existing ground truths as they were generated in Linux environments
and most of our team uses either macOS or Windows. While team members
can generate ground truths in the correct environment, they need to
remember to do that first before making changes.
2. Updating visual diffs is time consuming and can only be done by team
members. Our GitHub Action runs the entire test suite which can take ~10
even if only a handful of screenshots are generated. Additionally, this
job can only be run by team members meaning community contributors
cannot update/add screenshots. This limits them to non-visual tasks when
contributing. In the event that they do want to make visual changes, the
team needs to copy all their code into a branch and manually run
screenshot diffs for them.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- This PR introduces the ability to run all Playwright tests inside of a
Docker container using an image with Playwright dependencies. The
container will have access to the local project, so developers can make
changes and then run tests in the container after the changes are
compiled. This enables anyone to propose new screenshot changes.
However, the "update screenshot" job will still be available for folks
who do not want/are unable to use docker.
- There are some typeface differences between GH Actions and the Docker
image which is why there are a handful of screenshots that needed to be
updated.

One risk here is that the Playwright npm and Docker image versions must
be kept in sync. As a result, I also updatRenovate to allow us to auto
update the npm and Docker image versions at the same time.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!--
  If this introduces a breaking change:
1. Describe the impact and migration path for existing applications
below.
  3. Update the BREAKING.md file with the breaking change.
4. Add "BREAKING CHANGE: [...]" to the commit description when merging.
See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer
for more information.
-->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->


⚠️ There are still some issues I need to sort out with mounting the
local project on Windows. However, using Ubuntu with the linux subsystem
for windows can be used as a workaround. I'd like to merge this so we
can start testing it in our day-to-day workflow and ironing out any
bugs.

---------

Co-authored-by: ionitron <hi@ionicframework.com>
2024-03-18 14:08:30 +00:00
Liam DeBeasi
32bc33ed28 refactor(angular): move to packages directory (#27719)
Issue number: N/A

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

The `angular` directory sits at the root of the project instead of in
`packages` with all the other JS Framework integrations. This does not
cause any functional issues with Ionic, but it is confusing since
integrations are not in a consistent place.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Moves the `angular` directory to `packages/angular`

Note: Most files should remain unchanged. The only files I changed are
the files that had direct paths to the old `angular` directory:

1. Removes the `angular` path in `lerna.json`. This is now covered by
`packages/*`
2. Updated the angular file path in `.gitignore`
3. Updates the path to the angular package in `stencil.config.ts` for
the Angular Output Targets
4. Updates some of Angular's sync scripts to correctly get the core
stylesheets as well as the core package.
5. Updates the test app sync script to correctly sync core and
angular-server

~I'm not entirely sure why GitHub thinks
https://github.com/ionic-team/ionic-framework/pull/27719/files#diff-f5bba7e7c7c75426e2b9c89868310cb03890493b4efe0252adf8d12cc8398962
is a new file since it exists in `main` here:
1f06be4a31/angular/test/base/scripts/build-ionic.sh~
Fixed in
6e7fc49827

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

Dev build: `7.1.2-dev.11688052109.13454f5c`
2023-07-05 17:52:35 +00:00
Liam DeBeasi
115f2b5fa4 test(react-router): migrate to builder architecture (#26961) 2023-03-17 17:13:21 -04:00
Liam DeBeasi
e3a1d7b8c3 test(react): migrate to builder architecture (#26959) 2023-03-17 16:21:21 -04:00
Liam DeBeasi
227b2aea00 chore(ci): sync scripts now account for dependencies (#26686) 2023-01-27 14:37:05 -05:00
Liam DeBeasi
65af865db7 test(vue): add multi-version testing (#25785) 2022-08-23 16:05:34 -04:00
Liam DeBeasi
08dd3e277b test(angular): add support for multi-version testing (#25665) 2022-08-18 16:46:15 -04:00
Liam DeBeasi
12fd19dd4d chore(playwright): screenshots are now ignored locally (#25043) 2022-04-01 12:06:40 -04:00
Liam DeBeasi
0aa6d124d6 test(e2e): add infrastructure for migration to playwright (#25033) 2022-03-31 11:23:21 -04:00
Liam DeBeasi
179cbd334b build(): add lerna for dev builds (#24358) 2021-12-10 17:17:53 -05:00
Adam Bradley
0de75afbef feat(custom-elements): add experimental custom elements build (#22863)
Co-authored-by: Liam DeBeasi <liamdebeasi@icloud.com>
2021-02-11 12:08:00 -05:00
Liam DeBeasi
5ffa65f84a feat(vue): add ionic vue beta (#22062) 2020-09-10 15:20:49 -04:00
Adam Bradley
ce6e637787 chore(deps): bump deps (#21632) 2020-06-29 10:21:06 -05:00
Manu MA
930b271a4a Master react (#18998)
* chore(): bump to beta 8

* fix(): IonFabButton href fix

* fix(react): support components with href attributes

* fix(): Prep work to break router out

* fix(): breaking react-router and react-core into own packages

* chore(): moving view stuff out of react-core

* chore(): dev build 8-1

* chore(): update to react beta 8

* chore(): fixes to deps

* fix(): removing IonAnchor in favor of IonRouterLink

* chore(): beta 9 release

* refactor(react): treeshake, minify, api

* wip

* fix(): react dev builds

* fix(): fixes to get app builds working again

* fix(): removing tgz file

* feat(): adding platform helper methods

* fix(): don't map attributes to props

* chore(): add test app

* feat(): copy css folder from core

* chore(): move rollup node resolve to devDependencies

* fix(): expose setupConfig()

* perf(): improve treeshaking

* fix(): removing crypto from generateUniqueId

* fix(): adding missing rollup dp

* fix(): test cleanup and fixes to make tests pass

* chore(): moving react to packages folder

* fix(): fixing react build due to move to packages

* feat(): adding missing IonInfiniteScrollContent component

* chore(): add automated testing using cypress

* fix(): adding option onDidDismiss to controller components

* 0.0.10 react

* wip

* fix(): removing deprecated React calls

* fix(): exporting setupConfig from core

* chore(): bump to 4.8.0-rc.0

* chore(): updating test-app deps and fixing test

* chore(): updates to react readme
2019-08-13 14:24:44 -06:00
Adam Bradley
815fa2eb06 feat(hydrate): add @ionic/core/hydrate app (#18867) 2019-07-23 16:46:06 -05:00
Manu MA
b40f7d36d5 fix(): update to Stencil One 🎉🎊 2019-06-19 21:33:50 +02:00
Manu MA
0b84e27c61 perf(angular): flat ng modules (#17007)
fixes #17001
2019-01-08 21:33:30 +01:00
Adam Bradley
c704d5b9cc chore(gitignore): ignore stencil cache dir 2018-09-20 11:54:45 -05:00
Manu Mtz.-Almeida
8f5b45c539 chore(): update to latest stencil 2018-09-11 10:54:31 +02:00
Brandy Carney
a7f1f4daa7 refactor(components): update to use shadow DOM and work with css variables
- updates components to use shadow DOM or scoped if they require css variables
- moves global styles to an external stylesheet that needs to be imported
- adds support for additional colors and removes the Sass loops to generate colors for each component
- several property renames, bug fixes, and test updates

Co-authored-by: Manu Mtz.-Almeida <manu.mtza@gmail.com>
Co-authored-by: Adam Bradley <adambradley25@gmail.com>
Co-authored-by: Cam Wiegert <cam@camwiegert.com>
2018-07-09 12:57:21 -04:00
Brandy Carney
ad3538d089 chore(npm): update packages and gitignore 2018-06-14 11:35:22 -04:00
Adam Bradley
442917d63a chore(stats): build core components stats.json 2018-05-25 16:04:07 -05:00
Brandy Carney
d37623a2ca chore(packages): move the packages to root 2018-03-12 16:02:25 -04:00
Adam Bradley
5137be1326 chore(gitignore): add stencil-stats.json to gitignore 2018-02-23 10:47:26 -06:00
Manu Mtz.-Almeida
4e6ebf59c5 feat(ion-router): adds ion-router 2018-02-07 19:05:39 +01:00
Adam Bradley
76afd9d77f feat(themes): theme builder app 2017-12-21 12:04:33 -06:00
Adam Bradley
e1cfc9aa95 fix(config): update stencil config 2017-07-06 12:32:35 -05:00
perry
700e4c2479 chore(ci): sync paralell demo builds via s3 2017-05-10 14:28:55 -05:00
Paul Gschwendtner
e35a3b1ab7 chore: fix incorrect execution of node binaries (#9962)
* chore: fix incorrect execution of node binaries

* Currently gulp runs the `ngc` by manually calling the `./node_modules/.bin/ngc` file (by assuming it's a node script)
  This is not always correct, because often package managers like (npm or yarn) create bash files for the package binaries.

* Using `resolve-bin` to properly determine the path to the *real* node script and then we can assume it's a node file.

Fixes #8341

* Remove extra newline
2017-01-12 13:28:41 -05:00
Brandy Carney
b69eed5220 chore(demos): update demos build task to use app-scripts (#9830)
* chore(build): WIP getting ionic working with app-scripts

the tsconfig file change is just for testing, this will need to be
undone

* chore(demos): update tsconfig and gitignore for demos

update tsconfig and gitinogre for demos

* chore(build): WIP check in progress with building with app-scripts

this only works with demos/action-sheet currently

* refactor(demos): add custom copy config

add custom copy config

* chore(tsconfig): revert root tsconfig

* chore(demos): change import paths

* chore(demos): move sass config, add new tsconfig, update template

* chore(scripts): update demos tasks to use app scripts with folder name

tweak the createTempTsConfig function to include a path to read from,
move getFolderInfo into util to share

at this point you should be able to run `gulp demos.prod` with a folder
e.g. `--f=alert` and open the index of that test to see it. Doesn’t
work yet with all of the tests at once. Need to have ran `gulp
release.prepareReleasePackage` first.

* chore(build): WIP working on getting all of the demos building

* chore(demos): update demos task for app-scripts build

* chore(demos): fix tslint errors thrown by app-scripts

* chore(demos): get the demos working with fonts and variable file

* chore(demos): add watch task to the new prod task

* chore(demos): remove old demos.prod file and rename new one to it

* chore(npm): remove build npm script

* chore(demos): only log component name in url if one was passed
2017-01-03 10:23:14 -06:00
mhartington
8c3433f6e7 chore(): update gitignore for styleUrl 2016-10-10 16:45:25 -04:00
Dan Bucholtz
0b914ae654 chore(demos): generating polyfills at build time
generating polyfills at build time
2016-09-20 11:25:16 -05:00
Dan Bucholtz
d9c3b19768 chore(build): add main.html files
add main.html files
2016-09-16 17:39:25 -05:00
Dan Bucholtz
7ac1434fba chore(demos): ngc compile 2016-09-16 10:58:35 -05:00
Dan Bucholtz
0d161ac51c chore(demos): update gitignore, clean up app.module.ts build errors
update gitignore, clean up app.module.ts build errors
2016-09-16 10:58:35 -05:00
Dan Bucholtz
0d55e3c417 chore(tsconfig): tsconfig updates 2016-09-13 15:49:15 -05:00
Ionitron
6d45974324 chore(CI): Initial Circle CI test 2015-11-18 15:25:59 -06:00
Adam Bradley
069ac65e24 list/item/button/card css overhaul 2015-08-25 13:17:29 -05:00
Adam Bradley
442050038b web animations update 2015-08-23 15:24:46 -05:00
Tim Lancina
7d15f6c606 a sloth, by any other name would be as slow 2015-06-04 13:56:32 -05:00
Andrew
8281fb3658 feat(splitView): add initial splitView (this is not final) 2015-04-09 08:37:49 -04:00
Andrew
7385eba03f demo: make examples require no build-step. more in README 2015-03-21 18:43:41 -06:00
Max Lynch
840cc65fd9 fix(gitignore): add windows curlys 2015-03-21 00:07:59 -05:00
Max Lynch
92b614b645 Modal 2015-03-18 13:28:55 -05:00
Max Lynch
0c96bbadee Better ignore 2015-03-18 12:31:31 -05:00
Andrew
9e3d601ff9 chore: allow you to use ionic! 2015-03-17 19:25:55 -05:00