291 Commits

Author SHA1 Message Date
Ryan Waskiewicz
4a8fe1db33 chore(ci): use correct tag for stencil v4 (#27604)
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. -->
In https://github.com/ionic-team/ionic-framework/pull/27598, I failed to
push a change that used the correct tag in the new Stencil v4 tag
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

this commit updates the stencil-version field for the Stencil v4
workflow to use the correct tag

## 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

[This
log](https://github.com/ionic-team/ionic-framework/actions/runs/5190015779)
shows it being used properly:
<img width="579" alt="Screenshot 2023-06-06 at 10 53 18 AM"
src="https://github.com/ionic-team/ionic-framework/assets/1930213/eca96936-a114-4fb5-b473-cbd6bfc71b3a">

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-06-06 15:04:27 +00:00
Ryan Waskiewicz
4268908822 chore(ci): add stencil v4-next workflow (#27598)
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. -->

we have no way to test stencil v4 as a part of the nightly build

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

this commit adds a new ci cron job, 'stencil v4 build'. the purpose of
this job is to run the ionic framework ci suite on an nightly basis,
similar to the stencil nightly build.

a separate workflow has been created, as opposed to adding a `matrix` to
the pre-existing workflow, as doing so would require a great deal of
refactoring to the existing workflow. instead, a separate workflow
allows us to simply delete the this workflow once stencil v4 is
released.

as a part of this commit, we add a new input to the
'build-core-stencil-prerelease' action, allowing users of the action to
input the npm tag of `@stencil/core` to install

## 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

I tested the Stencil nightly job manually -
https://github.com/ionic-team/ionic-framework/actions/runs/5180201562

I was unable to run the v4 job, as it's not in `main` (yet 😉 ). But, I
can diff it against the known-to-be-good nightly workflow. The following
shows only the name of the job & npm tag are different:
```diff
 diff stencil-v4.yml stencil-nightly.yml
3c3
< name: 'Stencil v4 Build'
---
> name: 'Stencil Nightly Build'
21c21
<   build-core-with-stencil-v4:
---
>   build-core-with-stencil-nightly:
27c27
<           stencil-version: v4-next
---
>           stencil-version: nightly
30c30
<     needs: [build-core-with-stencil-v4]
---
>     needs: [build-core-with-stencil-nightly]
37c37
<     needs: [build-core-with-stencil-v4]
---
>     needs: [build-core-with-stencil-nightly]
44c44
<     needs: [build-core-with-stencil-v4]
---
>     needs: [build-core-with-stencil-nightly]
65c65
<     needs: [build-core-with-stencil-v4]
---
>     needs: [build-core-with-stencil-nightly]
93c93
<     needs: [build-core-with-stencil-v4]
---
>     needs: [build-core-with-stencil-nightly]
129c129
<     needs: [build-core-with-stencil-v4]
---
>     needs: [build-core-with-stencil-nightly]
165c165
<     needs: [build-core-with-stencil-v4]
---
>     needs: [build-core-with-stencil-nightly]
```

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-06-06 14:17:55 +00:00
Liam DeBeasi
4ddb0a93d2 chore: remove team assignment from codeowners (#27573)
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. -->

PRs are first assigned to the team before being assigned to a single
team member. This causes reviews to show up
https://github.com/notifications for everyone even if they are not the
final reviewer.

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

- GitHub automatically assigns reviewers now, so I removed the global
Framework team codeowner. All PRs in this repo should have a team member
automatically assigned.

## 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. -->
2023-05-30 18:51:13 +00:00
Liam DeBeasi
63b7ad559e chore: add ionicons to dependabot (#27538)
Issue number: N/A

---------

This change ensures that Ionicons always stays up to date in Ionic
Framework with Dependabot.
2023-05-23 18:11:18 +00:00
Liam DeBeasi
6326a3a9c1 chore: remove ref from checkout workflow (#27490)
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. -->

Screenshots in a branch are currently compared against the screenshots
on `main`. While we ultimately need to compare against ground truths in
`main`, this can cause tests to seemingly fail at random. For example,
this branch was created based on
eb2772c0ce.
However,
381de0b3d3
was added to `main` after the first commit and has new screenshot diffs.

I do not have the latest ground truths for the changed screenshots in
this branch, so the screenshot tests failed in
https://github.com/ionic-team/ionic-framework/actions/runs/4995702351/jobs/8947969061
even though I did not change any component implementations.

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

- Test runs in CI now run against the ground truths available in the
branch. When a commit is added to the merge queue, it will be tested
against the latest `main` and any commits ahead of it in the queue. As a
result, if there _is_ a conflict then the test run will fail at that
point and the commit will be removed from the merge queue.

## 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. -->
2023-05-18 14:16:54 +00:00
Ryan Waskiewicz
e0a5e49c9b chore(repo): add @stencil/* packages to dependabot (#27431)
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. -->

`@stencil/core` is the only package checked by dependabot

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

this commit updates the allow list for dependabot to allow additional
stencil-scoped packages. the motivation for this is to allow the other
stencil dependencies used in ionic framework to be automatically bumped
by automation, rather than making it a manual process. this is intended
to help with the stencil v4 rollout, where new versions on stencil
packages (other than core) will be released with early v4 support.

## 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. -->
I arbitrarily alphabetized the `@stencil/*` section of this allow-list.
LMK if you'd prefer something different here
2023-05-09 15:48:41 +00:00
Liam DeBeasi
3c0622c70f chore: remove legacy e2e tests (#27421)
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 generator migration is complete, so we can safely remove the legacy
test infrastructure.

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

- Removes the legacy test infrastructure

## 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. -->

Note: There's still a bit of sharding imbalance that I need to look into
(test runner 17 is a few minutes longer than all the other test
runners), but I will handle that in a separate PR.
2023-05-09 14:53:15 +00:00
Liam DeBeasi
0734adb4f4 chore: add more spacing to automated message (#27425)
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 text appears too cramped. I'd like there to be more space between
each paragraph.

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

- Increase spacing between paragraphs

## 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. -->
2023-05-08 22:44:51 +00:00
Liam DeBeasi
170bcd8124 chore: add workflow for commenting on community feedback labels (#27419)
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 team would like to provide more context surrounding the `community
feedback wanted` label in terms of setting expectations that we may
accept or reject the feedback after a community feedback period.

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

- Ionitron will now comment on `community feedback wanted` issues.

## 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. -->
2023-05-08 20:16:20 +00:00
Sean Perkins
f2b22ac61c chore(angular): test app uses v16 dependencies (#27380)
Issue number:  FW-4092

---------

<!-- 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. -->

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

- Updates the Angular 16 test app to the official dependencies
- Removes the legacy peer dependency install flag (needed during the RC
cycle)

## 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. -->
2023-05-04 19:17:08 +00:00
Liam DeBeasi
27a9aaaedc chore(ci): update workflow for upcoming deprecation (#27366)
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. -->

`set-output` usage is deprecated in favor of environment files.

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

- Updates the `test-core-screenshot` workflow to remove `set-output` in
favor of environment files.

## 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. -->
2023-05-03 17:09:03 +00:00
Brandy Carney
f27c899d13 chore: remove unnecessary comments in PR template (#27358)
Removes the comments about reading the contributing guide from our pull
request template. GitHub recommends the contributing guide in a popup to
new contributors, and it also recommends it if anything has changed
recently.
2023-05-03 13:56:50 +00:00
Ryan Waskiewicz
dbb139afa0 chore(ci): fix stencil nightly legacy check (#27317)
Issue number: #

---------

<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- 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 legacy screenshot test verification step can fail due to improper
configuration
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

this commit updates the name of the legacy screenshot test so that we
properly gate on verifying that the legacy tests passed

## 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

I tested this by kicking off the workflow -
https://github.com/ionic-team/ionic-framework/actions/runs/4830665737

Yesterday, I [put up a
PR](https://github.com/ionic-team/ionic-framework/pull/27298) that did
the same. However, I failed to verify it succeeded (since we don't gate
on Stencil nightly) - only that it started (since that was the point of
failure yesterday).

Today, I have verified that it passes all the way through
![Screenshot 2023-04-28 at 9 12 25
AM](https://user-images.githubusercontent.com/1930213/235156949-67aa1b35-d141-4951-9f2c-c0722f11a520.png)

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-04-28 13:13:46 +00:00
Ryan Waskiewicz
ab992b02c6 chore(ci): fix stencil nightly job dependencies (#27298)
Issue number: N/A

---------

<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- 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 Stencil nightly job fails with the following error:

```
The workflow is not valid. .github/workflows/stencil-nightly.yml (Line: 101, Col: 13): Job 'test-core-screenshot-legacy' depends on unknown job 'build-core'. 

.github/workflows/stencil-nightly.yml (Line: 122, Col: 12): Job 'verify-screenshots-legacy' depends on job 'test-core-screenshot-legacy' which creates a cycle in the dependency graph.
```

This started to fail last night. I believe this is a result of
https://github.com/ionic-team/ionic-framework/pull/27228, specifically
this line
4fe8de7df7 (diff-2f087e8fac034d51c50fc9350e10ceb4034298c16dd0d4f414f79d88ebb71aa0R101)

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

this commit updates the job dependency hierarchy for
test-core-screenshot-legacy from `build-core` to
`build-core-with-stencil-nightly`. the former is not a valid job name
for the `stencil-nightly` workflow, likely just a copy/paste error

## 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

To test this, I was able to kick off a version of this job with this
branch:
https://github.com/ionic-team/ionic-framework/actions/runs/4819613134
and saw the new/legacy screenshot tests running:
![Screenshot 2023-04-27 at 8 29 14
AM](https://user-images.githubusercontent.com/1930213/234862292-61896fa2-f5be-4c96-bfe3-2f2198315763.png)


<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-04-27 12:37:06 +00:00
Liam DeBeasi
1439ff9c43 test(docs): add documentation on custom Ionic functions (#27248)
Issue number: N/A

---------

This PR adds documentation for the following:

1. A step-by-step guide for migrating to generators.
2. Documentation on the custom tooling we built on top of Playwright
3. A best practice guide. Note: This was originally in the Ionic
internal Notion, but I moved it here because it is of value to community
contributors.

I also added a few new best practices that were not on the Notion guide:

- Components must have a `basic` test with an `index.html` file
- Slow tests should be broken up across multiple files for CI
performance
- Rendering and functionality tests should be broken up across multiple
test.describe blocks or files

---------

Co-authored-by: Amanda Johnston <90629384+amandaejohnston@users.noreply.github.com>
2023-04-26 19:01:13 +00:00
Liam DeBeasi
4826a3d9f5 test(config): introduce legacy and modern playwright projects (#27228)
Issue number: N/A

---------

<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- 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. -->

This is the first PR to introduce the infrastructure required to add
test generators to the Ionic Framework project. This PR introduces the
file name changes necessary to support two playwright configs, so I
recommend reviewing the PR by commit:


1e5012cea1

- Created a `playwright.config-legacy.ts` file and updates
`package.json`.
- Running `npm run test.e2e` will run the generator tests, and running
`npm run test.e2e.legacy` will run the legacy tests.


4fe8de7df7

- Updates the GitHub Action scripts to run both the modern and legacy
E2E tests. I added command modifiers to avoid collisions with output
directories.


e8bcfaf926

- Updates `*.e2e.ts` files to have the legacy format name:
`*.e2e-legacy.ts`. This naming scheme is required for the two Playwright
configs to pull in the correct files. When migrating tests to
generators, team members will rename the file to remove the `-legacy`
part.


5bf196c36d
(warning: lots of files!)

- Updates the `*.e2e.ts-snapshots` directories to have the legacy format
name: `*.e2e-legacy.ts-snapshots`. The screenshot directory in
Playwright is generated based on the test file name which is why we are
updating the screenshot directory. When migrating tests to generators,
team members will rename the directory to remove the `-legacy` part.

## 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. -->
2023-04-26 18:27:17 +00:00
Ryan Waskiewicz
eed7f50b30 chore(repo): update old heroku app links (#27284)
Issue number: N/A

---------

<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- 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. -->

there are a few outdated links to a dead heroku app in the repo

## What is the new behavior?

<!-- Please describe the behavior or changes that are being added by
this PR. -->
this commit removes old links within the repo that point to a heroku app
that is no longer working/maintained. the original intent was to update
stencil-related links initially (as stencil still focuses on slack for
community communications). however, there were two references to the
ionic worldwide slack, which has been since replaced with discord. i've
updated those link (which were only in comments) as well. after applying
this commit, there are no references to 'heroku' in the repo

## 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. -->

Feel free to reject this/request we remove these links altogether. I'm
not entirely sure we want to continue to provide them in the `core/` and
`angular/` directories (when we don't have them in `packages/react/` nor
`packages/vue/`
2023-04-26 15:47:46 +00:00
Liam DeBeasi
c569761c89 chore(ci): remove --no-package-lock flag (#27276)
Issue number: N/A

---------

<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- 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. -->

Original Discussion:
https://github.com/ionic-team/stencil-ds-output-targets/pull/327#discussion_r1176950960

This flag was left over from our migration from custom build scripts to
Lerna. Since we use `npm ci` the `--no-package-lock` flag is not needed.

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

- Removes `--no-package-lock` from build scripts.
- Here is an example test run of a dev build succeeding without the
`--no-package-lock` flag:
https://github.com/ionic-team/ionic-framework/actions/runs/4801503002

## 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. -->
2023-04-25 20:42:45 +00:00
Lars Mikkelsen
d425e6d4f3 chore(ci): enable npm package provenance (#27263)
See https://github.blog/2023-04-19-introducing-npm-package-provenance/
2023-04-24 13:04:10 +00:00
Sean Perkins
6f910576e2 chore: add angular 16 test infrastructure (#27209)
<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- 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. -->


<!-- Issues are required for both bug fixes and features. -->
Issue URL: Internal


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

- Adds Angular 16 test app
- Introduces version test to validate which major version of Angular is
being tested

## 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. -->
2023-04-19 15:27:04 +00:00
Amanda Johnston
c9bddbdb4c chore(template): ask for issue number instead of URL (#27220)
Now that the PR description is used as the default commit message, the
issue a PR resolves is specified directly in the PR description.
However, the conventional-commits tool isn't smart enough to recognize
full issue URLs, only the issue number (e.g. `resolves #12345`). This PR
updates the template to nudge the description in this direction.
2023-04-17 20:31:39 +00:00
Liam DeBeasi
f6ec23774b chore(template): separate issue url from body (#27216)
Now that the default commit message uses the PR description, the
conventional commit tool is getting confused when it sees other URLs and
text that looks like issues (like hex colors).

Using the `-------` separates the issue URL from the rest of the PR
description and helps the conventional commits tool generate the
changelog correctly.

Example:
https://github.com/ionic-team/ionic-framework/releases/tag/v7.0.3-nightly.20230417

`item: ios active state has correct contrast` has issue 000 as the issue
the commit closes. This is happening because I mentioned the 000 hex
color in the commit description.
2023-04-17 18:16:09 +00:00
Brandy Carney
e0b2bc5ece docs(contributing): include steps to preview changes in an external app (#27172)
updates the contributing guide to:

- include steps to package changes and test them in an external app
- fix the references to the test apps so they point to the right
directories
- link to the test app directories for steps to run them and preview
changes from within this repository
2023-04-13 15:01:09 +00:00
Liam DeBeasi
be9250692a chore(ci): core build caches api.txt (#27167)
<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- 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. -->


<!-- Issues are required for both bug fixes and features. -->
Unbuilt changes in `core` are not always being caught because the
`api.txt` file is not cached.

Stencil will potentially update both the `src/components.d.ts` and
`api.txt` files when there are built changes to the public API. We need
to check both files when accounting for unbuilt changes.

Example: https://github.com/ionic-team/ionic-framework/pull/25858

This had updates to `api.txt` that were not built.

Built changes PR:
https://github.com/ionic-team/ionic-framework/pull/25933

Example of this change catching `api.txt` changes as intended:
https://github.com/ionic-team/ionic-framework/pull/27165

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

- GitHub Actions core build step caches `api.txt`

## 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. -->
2023-04-11 16:36:58 +00:00
Liam DeBeasi
b1f5853cf0 chore(): update PR template (#27109)
* Update PULL_REQUEST_TEMPLATE.md

* Update .github/PULL_REQUEST_TEMPLATE.md

Co-authored-by: Amanda Johnston <90629384+amandaejohnston@users.noreply.github.com>

* Update .github/PULL_REQUEST_TEMPLATE.md

Co-authored-by: Amanda Johnston <90629384+amandaejohnston@users.noreply.github.com>

---------

Co-authored-by: Amanda Johnston <90629384+amandaejohnston@users.noreply.github.com>
2023-04-03 19:26:04 +00:00
Ryan Waskiewicz
1638749be3 chore(ci): use stencil nightly tags (#26927)
this commit removes the retrieval of stencil source code and building
the library from source. with
24887c0da0
(https://github.com/ionic-team/stencil/pull/4100), stencil now creates
nightly builds from `main@HEAD` of the repository. these pre-built
packages are tagged as "nightly", allowing us to bypass the previously
mentioned build steps and install the package directly

rename stencil-eval to stencil-nightly to better reflect what the
workflow is running. since ionic framework v7.0 has been released,
its feature branch has been removed/merged into `main`. remove
usages of `feature-7.0` in favor of `main`
2023-04-03 09:18:36 -04:00
Liam DeBeasi
1749f5d7cb chore(ci): update workflow options 2023-03-29 16:00:36 +00:00
Liam DeBeasi
fb390a3cab chore(): sync with main 2023-03-22 10:28:20 -04:00
Ryan Waskiewicz
bb4fb45514 chore(ci): migrate stencil eval to use new react testing infra (#26990)
this commit ports the ci changes from #26961 & #26959 to the
stencil-eval workflow, to allow the stencil nightly build to pass. this
is being done as a stop-gap measure to get the tests to pass again -
we'll circle back and find a solution to the repetition at a later date
2023-03-21 10:07:51 -04:00
Liam DeBeasi
ca38c49685 chore(dependabot): move versioning-strategy to correct block (#26984) 2023-03-20 12:11:44 -04:00
Liam DeBeasi
01bdc9784f chore(dependabot): update @stencil/core version (#26983) 2023-03-20 11:08:18 -04:00
Liam DeBeasi
8860a11de7 chore(): sync with main 2023-03-17 17:26:39 -04: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
Ryan Waskiewicz
f8eedfb5cf chore(ci): fix typo in workflow description (#26978)
this commit fixes a small grammatical error that was found while looking
at prior art for this type of workflow (for stencil).
2023-03-17 08:58:45 -04:00
Liam DeBeasi
92c1da571d chore(): sync with main 2023-03-15 10:03:38 -04:00
Liam DeBeasi
fc7d2e06e1 chore(dependabot): add stencil (#26951)
This PR adds Stencil to the dependabot list. Dependabot will submit a PR whenever there is a new version of Stencil so we can always stay on the latest version. Note: This will cause Dependabot to only submit Stencil v2 PRs for now due to our package.json requirements: d6c06ecfe8/core/package.json (L34)

Once Ionic v7 releases and `feature-7.0` is merged into `main` we can get the latest v3 changes.
2023-03-14 11:31:59 -04:00
Liam DeBeasi
77b9e11c2b chore(): sync with main 2023-03-08 09:35:37 -05:00
Brandy Carney
e9506c96bb chore(github): update issue templates (#26918) 2023-03-07 14:42:55 -05:00
Brandy Carney
67815ccbf4 fix(button): show correct activated state for ios (#26900)
fixes #22468
2023-03-07 13:00:37 -05:00
Liam DeBeasi
3f888c0928 chore(): sync with main 2023-03-03 12:00:21 -05:00
Liam DeBeasi
b46c78ec88 chore(dependabot): add correct dependencies (#26873) 2023-03-01 16:46:56 -05:00
Sean Perkins
1dee16f3a2 feat(angular,angular-server): angular v14 minimum support (#26822)
BREAKING CHANGE:

Angular v14 is now required to use `@ionic/angular` and `@ionic/angular-server`. Upgrade your project to Angular v14 by following the [Angular v14 update guide](https://update.angular.io/?l=3&v=13.0-14.0).

The dev-preview `environmentInjector` property has been removed from `ion-tabs` and `ion-router-outlet`. Standalone component routing is now available without additional custom configuration. Remove the `environmentInjector` property from your `ion-tabs` and `ion-router-outlet` components.
2023-02-22 12:33:49 -05:00
Liam DeBeasi
799871e95d chore(): sync with main 2023-02-22 10:00:56 -05:00
Ryan Waskiewicz
bb52420484 refactor(ci): allow manual 'stencil nightly' builds (#26780)
this commit adds the `workflow_dispatch` event to trigger a stencil
nightly build workflow. this is beng done to make it easier to debug the
nightly stencil build, by allowing us to invoke it without opening a pr
against the framework repo.

this commit also renames the 'build-core' job to
'build-core-with-stencil-eval', to help differentiate the job associated
with this workflow from the 'build-core' job found in the primary ci
workflow
2023-02-21 11:20:27 -05:00
Liam DeBeasi
68e8379fb8 chore(): sync with main 2023-02-15 10:17:17 -05:00
Ryan Waskiewicz
f985f606fc chore(ci): point stencil nightly at feature-7.0 (#26774)
this commit points the stencil nightly tests at framework v7's feature
branch. stencil 3 (which is now the `HEAD` of the stencil repo's `main`
branch) had breaking changes. framework v7 will use stencil v3, and it
is in this branch that the fixes for the breaking changes have been
applied.
2023-02-09 17:48:25 -05:00
Liam DeBeasi
9c7f4a2923 chore(ci): enable merge queue trigger (#26758) 2023-02-08 11:11:16 -05:00
Liam DeBeasi
c85b5308a1 chore(): sync with main 2023-02-08 09:44:42 -05:00
Liam DeBeasi
d084557bbc chore(ci): enable fail-fast for matrix jobs (#26713)
Screenshot matrix jobs had "fail-fast: false". This enabled each test runner to provide its `playwright-report` directory so team members can view test failures. At the time, all tests ran even if previous tests failed.

In https://github.com/ionic-team/ionic-framework/pull/26447, we updated the Playwright config to have tests fail fast within a single test runner. However, other test runners continue to run. This is not helpful in the case of failing tests because the artifacts for each test runner will not be reported until all test runners are done.

This PR changes the matrix strategy to enable fail-fast (which is the default) so in-progress/queued test runners fail if a previous test runner fails.
2023-02-03 13:46:01 -05:00