Skip to content
This repository was archived by the owner on Sep 5, 2024. It is now read-only.

feat: Declare a DevContainer for easy onboarding #11844

Closed
wants to merge 1 commit into from
Closed

feat: Declare a DevContainer for easy onboarding #11844

wants to merge 1 commit into from

Conversation

oliversalzburg
Copy link
Contributor

DevContainers are a feature of VS Code: https://code.visualstudio.com/docs/remote/containers

They allow us to declare a development environment that is independent from the developers workstation. This allows us to easily work in a Node <12 environment, regardless of the Node version installed on the developers workstation.

PR Checklist

Please check that your PR fulfills the following requirements:

  • The commit message follows our guidelines
  • Tests for the changes have been added or this is not a bug fix / enhancement
  • Docs have been added, updated, or were not required

PR Type

What kind of change does this PR introduce?

[ ] Bugfix
[ ] Enhancement
[ ] Documentation content changes
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Infrastructure changes
[X] Other... Please describe: Developer feature

What is the current behavior?

AngularJS Material requires NodeJS <12 for development. Developers may already be using NodeJS 12+.

What is the new behavior?

Developers will get the ability to easily work on AngularJS Material in a defined environment, given that they meet the requirements to use the VS Code DevContainers feature.

Does this PR introduce a breaking change?

[ ] Yes
[X] No

@googlebot googlebot added the cla: yes PR author has signed Google's CLA: https://opensource.google.com/docs/cla/ label Jan 17, 2020
@Splaktar Splaktar self-requested a review February 1, 2020 06:03
@Splaktar Splaktar added this to the 1.2.0 milestone Feb 1, 2020
@Splaktar Splaktar added P4: minor Minor issues. May not be fixed without community contributions. type: chore labels Feb 1, 2020
@Splaktar
Copy link
Contributor

Splaktar commented Feb 1, 2020

I haven't heard of this feature of VSCode, but it seems useful.

We should probably support a full set of VS Code options/extensions similar to Angular and Angular Components.

However, we would need to add some Markdown documentation for both contributing with VS Code and separately, using the DevContainer.

For now, I'm going to target this at the 1.2.0 release where we will have a bit more flexibility for these types of changes.

@Splaktar Splaktar self-assigned this Feb 1, 2020
Copy link
Contributor

@Splaktar Splaktar left a comment

Choose a reason for hiding this comment

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

We'll need to add a section about this in the developer guide found at docs/guides/BUILD.md.

@Splaktar Splaktar added the in progress Mainly for in progress PRs, but may be used for issues that require multiple PRs label Feb 21, 2020
@oliversalzburg
Copy link
Contributor Author

@Splaktar That seems reasonable.

The last time I checked that guide, I got the impression that it was abandoned, because they mention gulp server, which isn't a valid gulp task.

Should I add a new section about DevContainer usage at the bottom and then maybe create a new ticket to review and correct the guide?

@oliversalzburg
Copy link
Contributor Author

I added some documentaiton to the guide, although a lot of it is just describing the DevContainer feature in general. I tried to not duplicate too much. Users who use the extension or plan to use it, will likely educate themselves through the official documentation to an extent that they don't require a lot of introduction into the specifics in this project, as there are almost none.

I've also since added the default LiveReload port of gulp-connect to the forwarded ports, which now enabled the livereload feature as well when using the DevContainer.

@Splaktar
Copy link
Contributor

The last time I checked that guide, I got the impression that it was abandoned, because they mention gulp server, which isn't a valid gulp task.

It's not abandoned and issues should be filed if it's not accurate. I've gone through and refreshed most of these, but this one does look like it needs a lot of attention. Thank you for the heads up.

Should I add a new section about DevContainer usage at the bottom and then maybe create a new ticket to review and correct the guide?

Yes, please.

Splaktar added a commit that referenced this pull request Mar 14, 2020
@Splaktar Splaktar mentioned this pull request Mar 14, 2020
3 tasks
Splaktar added a commit that referenced this pull request Mar 14, 2020
Splaktar added a commit that referenced this pull request Mar 17, 2020
Splaktar added a commit that referenced this pull request Apr 23, 2020
- update release script to update version in `package-lock.json`

Relates to #11844
Splaktar added a commit that referenced this pull request Apr 23, 2020
- release script updates version in `package-lock.json`
- remove unused `release.sh` script
- start tagging docs snapshots and releases
- use more consistent release commit messages and git commands
- improve release script log messages

Relates to #11844
Splaktar added a commit that referenced this pull request Apr 23, 2020
- release script updates version in `package-lock.json`
- remove unused `release.sh` script
- start tagging docs snapshots and releases
- use more consistent release commit messages and git commands
- improve release script log messages

Relates to #11844
DevContainers are a feature of VS Code: https://code.visualstudio.com/docs/remote/containers

They allow us to declare a development environment that is independent from the developers workstation. This allows us to easily work in a Node <12 environment, regardless of the Node version installed on the developers workstation.
@oliversalzburg
Copy link
Contributor Author

I integrated a lot of the CircleCI stuff and cleaned it up. Full test suite can be run in the container now.

@oliversalzburg oliversalzburg deleted the feature/devcontainer branch July 13, 2020 09:43
@Splaktar Splaktar removed this from the 1.2.0 milestone Jul 13, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes PR author has signed Google's CLA: https://opensource.google.com/docs/cla/ in progress Mainly for in progress PRs, but may be used for issues that require multiple PRs P4: minor Minor issues. May not be fixed without community contributions. type: chore
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants