-
Notifications
You must be signed in to change notification settings - Fork 18
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
2492: Update developer onboarding ticket #2510
Merged
Merged
Changes from 18 commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
6823d5a
Initial changes
Matt-Spence bdbc66e
Initial update to dev onboarding ticket
erinysong 2b0d5e8
Add known issues section.
Matt-Spence 0454f46
Merge remote-tracking branch 'origin/ms-es/2492-Update-Onboarding-Doc…
Matt-Spence 3018292
Add login and login sandbox tasks
erinysong ee40212
Update developer-onboarding.md
erinysong 3092271
Update developer-onboarding.md
erinysong 66a5b67
new format for software
Matt-Spence 30a95da
Merge remote-tracking branch 'origin/ms-es/2492-Update-Onboarding-Doc…
Matt-Spence eaaeb56
minor clarity edits
Matt-Spence 45b948e
Add known issue instructions
Matt-Spence 3ea9649
add line about cf cli
Matt-Spence e316989
Update .github/ISSUE_TEMPLATE/developer-onboarding.md
erinysong 6dafe9f
Update developer-onboarding.md
erinysong a9c1516
Update .github/ISSUE_TEMPLATE/developer-onboarding.md
erinysong 5a8842b
Update .github/ISSUE_TEMPLATE/developer-onboarding.md
erinysong 75f8673
Update developer-onboarding.md
Matt-Spence 2d8e63d
Apply suggestions from code review
Matt-Spence 6d25c1f
review suggestions
Matt-Spence File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -14,13 +14,29 @@ assignees: abroddrick | |||||
|
||||||
## Installation | ||||||
|
||||||
There are several tools we use locally that you will need to have. | ||||||
- [ ] [Install the cf CLI v7](https://docs.cloudfoundry.org/cf-cli/install-go-cli.html#pkg-mac) for the ability to deploy | ||||||
There are several tools we use locally that you will need to have. | ||||||
|
||||||
- [ ] [Cloudfoundry CLI](https://docs.cloudfoundry.org/cf-cli/install-go-cli.html#pkg-mac) Note: If you are on Windows the cli will be under `cf8` or `cf7` depending on which version you install. | ||||||
- If you are using Windows, installation information can be found [here](https://github.com/cloudfoundry/cli/wiki/V8-CLI-Installation-Guide#installers-and-compressed-binaries) | ||||||
- Alternatively, for Windows, [consider using chocolately](https://community.chocolatey.org/packages/cloudfoundry-cli/7.2.0) | ||||||
- [ ] Make sure you have `gpg` >2.1.7. Run `gpg --version` to check. If not, [install gnupg](https://formulae.brew.sh/formula/gnupg) | ||||||
- Alternatively, you can skip this step and [use ssh keys](#setting-up-commit-signing-with-ssh) instead | ||||||
- [ ] Install the [Github CLI](https://cli.github.com/) | ||||||
- [ ] [GPG](https://gnupg.org/download/) | ||||||
- Make sure you have `gpg` >2.1.7. Run `gpg --version` to check. If not, [install gnupg](https://formulae.brew.sh/formula/gnupg) | ||||||
- This may not work on DHS devices. Alternatively, you can [use ssh keys](#setting-up-commit-signing-with-ssh) instead. | ||||||
- [ ] Docker Community Edition* | ||||||
- [ ] Git* | ||||||
- [ ] VSCode (our preferred editor)* | ||||||
- [ ] Github Desktop* | ||||||
|
||||||
The following tools are optional but recommended. For DHS devices, these can be requested through the DHS IT portal: | ||||||
- [ ] Slack Desktop App** | ||||||
- [ ] Python 3.10* | ||||||
- [ ] NodeJS (latest version available)* | ||||||
- [ ] Putty* | ||||||
- [ ] Windows Subsystem for Linux* | ||||||
|
||||||
\* Must be requested through DHS IT portal on DHS devices | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Typo? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yep |
||||||
|
||||||
** Downloadable via DHS Software Center | ||||||
|
||||||
## Access | ||||||
|
||||||
|
@@ -37,7 +53,12 @@ cf login -a api.fr.cloud.gov --sso | |||||
|
||||||
**Note:** As mentioned in the [Login documentation](https://developers.login.gov/testing/), the sandbox Login account is different account from your regular, production Login account. If you have not created a Login account for the sandbox before, you will need to create a new account first. | ||||||
|
||||||
- [ ] Optional- add yourself as a codeowner if desired. See the [Developer readme](https://github.com/cisagov/getgov/blob/main/docs/developer/README.md) for how to do this and what it does. | ||||||
Follow the [.gov onboarding dev setup instructions](https://docs.google.com/document/d/1ukbpW4LSqkb_CCt8LWfpehP03qqfyYfvK3Fl21NaEq8/edit#heading=h.94jwfwkpkhdx). Confirm you successfully set up the following accounts: | ||||||
- [ ] Identity sandbox accounts - 1 superuser access account and 1 analyst access account. | ||||||
- [ ] Login.gov account to access stable | ||||||
|
||||||
**Optional** | ||||||
- [ ] Add yourself as a codeowner if desired. See the [Developer readme](https://github.com/cisagov/getgov/blob/main/docs/developer/README.md) for how to do this and what it does. | ||||||
|
||||||
### Steps for the onboarder | ||||||
- [ ] Add the onboardee to cloud.gov org (cisa-dotgov) | ||||||
|
@@ -124,3 +145,19 @@ Additionally, consider a gpg key manager like Kleopatra if you run into issues w | |||||
We have three types of environments: stable, staging, and sandbox. Stable (production)and staging (pre-prod) get deployed via tagged release, and developer sandboxes are given to get.gov developers to mess around in a production-like environment without disrupting stable or staging. Each sandbox is namespaced and will automatically be deployed too when the appropriate branch syntax is used for that space in an open pull request. There are several things you need to setup to make the sandbox work for a developer. | ||||||
|
||||||
All automation for setting up a developer sandbox is documented in the scripts for [creating a developer sandbox](../../ops/scripts/create_dev_sandbox.sh) and [removing a developer sandbox](../../ops/scripts/destroy_dev_sandbox.sh). A Cloud.gov organization administrator will have to perform the script in order to create the sandbox. | ||||||
|
||||||
## Known Issues | ||||||
|
||||||
### SSL Verification Failure | ||||||
Some developers using Government Furnished Equipment (GFE) have problems using tools such as git and pip due to SSL verification failurse. This happens because GFE has a custom certificate chain installed, but these tools use their own certificate bundles. As a result, when they try to verify an ssl connection, they cannot and so the connection fails. To resolve this in pip you can use --use-feature=truststore to direct pip to use the local certificate store. If you are running into this issue when using git on windows, run ```git config --global http.sslbackend schannel```. | ||||||
|
||||||
If you are running into these issues in a docker container you will need to export the root certificate and pull it into the container. Ask another developer how to do this properly. | ||||||
|
||||||
### Puppeteer Download Error | ||||||
When building the node image either individually or with docker compose, there may be an error caused by a node package call puppeteer. This can be resolved by adding `ENV PUPPETEER_SKIP_DOWNLOAD=true` to [node.Dockerfile](../../src/node.Dockerfile) after the COPY command. | ||||||
|
||||||
### Checksum Error | ||||||
There is an unresolved issue with python package installation that occurs after the above SSL Verification failure has been resolved. It often manifests as a checksum error, where the hash of a download .whl file (python package) does not match the expected value. This appears to be because pythonhosted.org is cutting off download connections to some devices for some packages (the behavior is somewhat inconsistent). We have outstanding issues with PyPA and DHS IT to fix this. In the meantime we have a [workaround](#developing-using-docker). | ||||||
|
||||||
## Developing Using Docker | ||||||
While we have unresolved issues with certain devices, you can pull a pre-built docker image from matthewswspence/getgov-base that comes with all the needed packages installed. To do this, you will need to change the very first line in the main [Dockerfile](../../src/Dockerfile) to `FROM matthewswspence/getgov-base:latest`. Note: this change will need to be reverted before any branch can be merged. Additionally, this will only resolve the [checksum error](#checksum-error), you will still need to resolve any other issues through the listed instructions. We are actively working to resolve this inconvenience. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd recommend adding this because Github Desktop is a pain to get on linux (its a third party community one). I think either or would work in our case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, what we really want is the github cli for running some of our scripts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah yep, sorry I meant github cli