setup-dotnet/docs/contributors.md
misamoo ebb714cfd8
J (#1)
* YAML Formatting at a example workflow

YAML Format of the code at 'Example usage' with Environment Variables

* Ignore Generated Files in Git PR's

* Use v1 tag for setup-dotnet

* Update install scripts

* Package updates

* Update index file

* Fix generated index

* Honor specified nuget file location (#109)

* Honor specified nuget file location

* Generate and verify nuget.config

* Install sxs with the install-dotnet scripts (#124)

* Use dotnet-install scripts for proper sxs

* Update dotnet version in testing

* Error message cleanup

* SxS testing in the dotnet project

* Update package lock

* Test fixes

* Use proper environment variable

* Set dotnet root for windows

* Add example for SxS testing to Readme

* Bump node-fetch from 2.6.0 to 2.6.1 (#127)

* Bump node-fetch from 2.6.0 to 2.6.1

Bumps [node-fetch](https://github.com/bitinn/node-fetch) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/bitinn/node-fetch/releases)
- [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1)

Signed-off-by: dependabot[bot] <support@github.com>

* Package and index update

* Formatting on installer.test

* Updated licenses

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zachary Eisinger <zeisinger@github.com>

* Action input text update

* DOTNET_ROOT and short generic versions (#131)

* Update `@actions/core` Version and move towards uses environment files to talk to runner (#135)

* update toolkit version

* update licensed

* fix typo

* Update contributors.md

* Bump node-notifier from 8.0.0 to 8.0.1

Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/mikaelbr/node-notifier/releases)
- [Changelog](https://github.com/mikaelbr/node-notifier/blob/v8.0.1/CHANGELOG.md)
- [Commits](https://github.com/mikaelbr/node-notifier/compare/v8.0.0...v8.0.1)

Signed-off-by: dependabot[bot] <support@github.com>

* Add issue and pr templates

* Update installer scripts

* Resolve comments

* Debug

* Minor fix

* Rework feature request template

* Move toolcache cleanup to separated script

* Debug

* Debug

* Debug

* Debug

* Minor fix

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Minor fix

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Add nuget config file

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Minor fixes

* Remove workflow dispatch event

* Minor fix

* Debug

* Debug

* Debug

* Minor fix

* Minor fix

* Minor fix

* Minor fix

* Minor fix

* Minor fix

* Rename stages

* Rework cleanup script

* Set ubuntu-latest

* Minor fixes

* Add tests

* Debug

* Minor fix

* Debug

* Debug

* Debug

* Update installer scripts

* restrict blank issues

* Update Linux installer

* Include include-prerelease input in action.yml

* Implement passing includePrerelase to semver

* Add @actions/virtual-environments-owners to CODEOWNERS file

* try fixing 5.x issue

* work on fixing test

* create release

* add yesy cases

* fix test

* Remove unsupported versions of .NET from README.

.NET Core 2.2 and 3.0 are no longer supported and should not be in the examples.

All versions were changed to pull in the latest revision as people might copy this without
checking all accepted version formats and getting the latest revision is good security practice.

* Bump y18n from 4.0.0 to 4.0.1

Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot[bot] <support@github.com>

* Update link to pre-installed runner Software

* Improve key names validation for keys from user nuget config

* Improve key names validation for keys from user nuget config

* Minor fix

* Minor fix

* Fix index.js

* Support nuget.config name formats

* Prettier

* Build index.js

* Minor fix

* Minor fix

* Rerun build

* Automate releasing new versions of the setup-dotnet action

* Add workaround to fix BOM-related error  during parsing global.json

* build dist/index.js

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Bump hosted-git-info from 2.8.8 to 2.8.9

Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>

* Use the "publish-action" action

* Use permissions as a top-level key

* Update installers scripts

* Update description for action

Fixes #209 by adding a few more terms for search discoverability

* Bump ws from 7.3.1 to 7.5.0

Bumps [ws](https://github.com/websockets/ws) from 7.3.1 to 7.5.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.3.1...7.5.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump lodash from 4.17.20 to 4.17.21

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>

* Move toolcache folder

* Rework action description

* Update link to dotnet environment variables docs

Old: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet#environment-variables
New: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-environment-variables

* Bump path-parse from 1.0.6 to 1.0.7

Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Support rollForward option from global.json

* Format code

* Revert exports in index.js

* Fix unit test

* Fix unstaged changes in index.js

* Minor fix

* Fix unit test

* Remove hardcoded patch version from unit test

* Prettier

* Improve condition

* Format code

* Add check-dist.yml

* Fix triggers in licensed.yml

* Update installers scripts

* Update README.md

fix docs

* Handle only latestFeature option

* Build index.js

* Update README.md

Fix the README.md file to avoid the .NET CLI repo link that is now the .NET SDK repo.

* Bump tmpl from 1.0.4 to 1.0.5

Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/daaku/nodejs-tmpl/releases)
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

---
updated-dependencies:
- dependency-name: tmpl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update dependencies

* Update installer scripts

* Update deps with force

* Revert jest version

* Update jest

* Support multiple versions in single invocation  (#240)

* Fix a space in the documentation (#248)

* Warn users when installing EOL .NET versions (#245)

* Fix the Licensed workflow (#258)

* Moved checkout above setup step to align with the other samples (#256)

* Avoiding installing the same version multiple times (#252)

* Updated dotnet-install scripts to latest version

* Update node version to v16

* Update dependencies

* Update licenses

* Update docs to v2 (#278)

* Update docs to v2

* Bump checkout action to v3

* Update installer scripts

* Replace v2 to vX on the docs, minor fixes

* Remove extra whitespace

* switch side by side testing example to single setup step (#283)

* Add code of conduct

* add global-json-file input (#276)

* support specifying global.json location with global-json-file input

* add test workflow jobs for global.json usage

* fix typo in global-json-file description

Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>

Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>

* Update vulnerable packages

* Update @zeit/ncc to @vercel/ncc (#290)

* update @zeit/ncc to @vercel/ncc

* rebuild project

* v3 adr

* Create codeql-analysis.yml

* Don't need C# analysis for CodeQL

* updated local installation scripts

* updated guide

* chore(deps-dev): migrate husky config to v8

Follow: https://github.com/typicode/husky-4-to-8
- npm install husky --save-dev
- npx husky-init
- npm exec -- github:typicode/husky-4-to-8 --remove-v4-config

* ci: add `--ignore-scripts` argument

* advice on updating installers

* refactor: use core.getBooleanInput()

* chore: set include-prerelease to false on default

* test: add include-prerelease env on test

* rephased docs

* Update docs/contributors.md

Co-authored-by: Ivan <98037481+IvanZosimov@users.noreply.github.com>

* Grammar fixes

* Update ADR date

* Update actions version in package json

* Run update installers

* Rework

* ADR change (#1)

* Update ADR proposal

ADR proposal was updated in order to reflect cahnges that will be done
more thoroughly.

* Fix formatting

* Set status accepted

* Create generator-generic-ossf-slsa3-publish.yml

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: No Name Pro <noname.pro.nn@gmail.com>
Co-authored-by: Zachary Eisinger <zeisinger@github.com>
Co-authored-by: Thomas Boop <thboop@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Boop <52323235+thboop@users.noreply.github.com>
Co-authored-by: Vladimir Safonkin <vsafonkin@github.com>
Co-authored-by: Maxim Lobanov <maxim-lobanov@github.com>
Co-authored-by: Dmitry Shibanov <dmitry-shibanov@github.com>
Co-authored-by: GGG KILLER <gggkiller2@gmail.com>
Co-authored-by: Andreas Offenhaeuser <anoff@users.noreply.github.com>
Co-authored-by: Alena Sviridenko <alenasviridenko@github.com>
Co-authored-by: MaksimZhukov <v-mazhuk@microsoft.com>
Co-authored-by: Sergey Dolin <v-sedoli@micorosoft.com>
Co-authored-by: Maxim Lobanov <v-malob@microsoft.com>
Co-authored-by: Darii Nurgaleev <50947177+Darleev@users.noreply.github.com>
Co-authored-by: Tim Heuer <tim@timheuer.com>
Co-authored-by: Aleksandr Chebotov <v-aleche@microsoft.com>
Co-authored-by: George Chakhidze <0xfeeddeadbeef@gmail.com>
Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>
Co-authored-by: Thomas Pisula <12602834+tomp736@users.noreply.github.com>
Co-authored-by: MaksimZhukov <46996400+MaksimZhukov@users.noreply.github.com>
Co-authored-by: David Pine <david.pine@microsoft.com>
Co-authored-by: La'Kaleigh Harris <35268101+Xlient@users.noreply.github.com>
Co-authored-by: Pure Krome <github@world-domination.com.au>
Co-authored-by: Thomas Ardal <thomasardal@gmail.com>
Co-authored-by: Adam Ralph <adam@adamralph.com>
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
Co-authored-by: Owen Smith <owen@omsmith.ca>
Co-authored-by: Dmitry Shibanov <shibanov-1997@inbox.ru>
Co-authored-by: Evgenii Korolevskii <e-korolevskii@github.com>
Co-authored-by: Marko Zivic <100996310+marko-zivic-93@users.noreply.github.com>
Co-authored-by: Nogic <24802730+nogic1008@users.noreply.github.com>
Co-authored-by: Evgenii Korolevskii <102794661+e-korolevskii@users.noreply.github.com>
Co-authored-by: Ivan <98037481+IvanZosimov@users.noreply.github.com>
Co-authored-by: panticmilos <panticmilos@github.com>
2022-09-15 09:10:08 +02:00

8.9 KiB

Contributors

Thank you for contributing!

We have prepared a short guide so that the process of making your contribution is as simple and clear as possible. Please check it out before you contribute!

How can I contribute...

Contribute documentation

Documentation is a super important, critical part of this project. Docs are how we keep track of what we're doing, how, and why. It's how we stay on the same page about our policies and how we tell others everything they need to be able to use this project or contribute to it.

Documentation contributions of any size are welcome! Feel free to contribute even if you're just rewording a sentence to be more clear, or fixing a spelling mistake!

How to contribute:

Pull requests are the easiest way to contribute changes to git repos at GitHub. They are the preferred contribution method, as they offer a convenient way of commenting and amending the proposed changes.

  • Please check that no one else has already created a pull request with these or similar changes
  • Use a "feature branch" for your changes. That separates the changes in the pull request from your other changes and makes it easy to edit/amend commits in the pull request
  • Make sure your changes are formatted properly and consistently with the rest of the documentation
  • Re-read what you wrote, and run a spellchecker on it to make sure you didn't miss anything
  • If your pull request is connected to an open issue, please, leave a link to this issue in the Related issue: section
  • If you later need to add new commits to the pull request, you can simply commit the changes to the local branch and then push them. The pull request gets automatically updated

Once you've filed the pull request:

  • Maintainers will review your pull request
  • If a maintainer requests changes, first of all, try to think about this request critically and only after that implement and request another review
  • If your PR gets accepted, it will soon be merged into the main branch. But your contribution will take effect only after the release of a new version of the action and updating the major tag

Sometimes maintainers reject pull requests and that's ok! Usually, along with rejection, we supply the reason for it. Nonetheless, we still really appreciate you taking the time to do it, and we don't take that lightly ❤️

Contribute code

We like code commits a lot! They're super handy, and they keep the project going and doing the work it needs to do to be useful to others.

Code contributions of just about any size are acceptable!

The main difference between code contributions and documentation contributions is that contributing code requires the inclusion of relevant tests for the code being added or changed. Contributions without accompanying tests will be held off until a test is added unless the maintainers consider the specific tests to be either impossible or way too much of a burden for such a contribution.

How to contribute:

Pull requests are the easiest way to contribute changes to git repos at GitHub. They are the preferred contribution method, as they offer a convenient way of commenting and amending the proposed changes.

  • Please check that no one else has already created a pull request with these or similar changes
  • Use a "feature branch" for your changes. That separates the changes in the pull request from your other changes and makes it easy to edit/amend commits in the pull request
  • Format, build and test changes
  • Make sure your changes are well formatted and that all tests are passing
  • If your pull request is connected to an open issue, please, leave a link to this issue in the Related issue: section
  • If you later need to add new commits to the pull request, you can simply commit the changes to the local branch and then push them. The pull request gets automatically updated

Learn more about how to work with the repository:

  • To implement new features or fix bugs, you need to make changes to the .ts files, which are located in the src folder
  • To comply with the code style, you need to run the format script
  • To transpile source code to javascript we use NCC. It is very important to run the build script after making changes, otherwise your changes will not get into the final javascript build

Learn more about how to implement tests:

Adding or changing tests is an integral part of making a change to the code. Unit tests are in the __tests__ folder, and end-to-end tests are in the workflows folder, particularly in the workflow.yml.

  • The contributor can add various types of tests (like unit tests or end-to-end tests), which, in his opinion, will be necessary and sufficient for testing new or changed functionality
  • Tests should cover a successful execution, as well as some edge cases and possible errors
  • As already mentioned, pull requests without tests will be considered more carefully by maintainers. If you are sure that in this situation the tests are not needed or cannot be implemented with a commensurate effort - please add this clarification message to your pull request

Once you've filed the pull request:

  • CI will start automatically with some checks. Wait until the end of the execution and make sure that all checks passed successfully. If some checks fail, you can open them one by one, try to find the reason for failing and make changes to your code to resolve the problem

Sometimes you may need to update the installers you can do this with the npm run update-installers command

  • Maintainers will review your pull request
  • If a maintainer requests changes, first of all, try to think about his request critically and only after that implement and request another review
  • If your PR gets accepted, it will soon be merged into the main branch. But your contribution will take effect only after the release of a new version of the action and updating the major tag

Sometimes maintainers reject pull requests and that's ok! Usually, along with rejection, we supply the reason for it. Nonetheless, we still really appreciate you taking the time to do it, and we don't take that lightly ❤️

Provide support on issues

Helping out other users with their questions is an awesome way of contributing to any community. It's not uncommon for most of the issues on open source projects to be support-related questions by users trying to understand something they ran into or find their way around a known bug.

To help other folks out with their questions:

  • Go to the issue tracker
  • Read through the list until you find something that you're familiar enough with to answer to
  • Respond to the issue with whatever details are needed to clarify the question, or get more details about what's going on
  • Once the discussion wraps up and things are clarified, ask the original issue filer (or a maintainer) to close it for you

Some notes on picking up support issues:

  • Avoid responding to issues you don't know you can answer accurately
  • Try to refer to past issues with accepted answers as much as possible. Link to them from your replies
  • Be kind and patient with users. Often, folks who have run into confusing things might be upset or impatient. This is natural. If you feel uncomfortable in conversation with them, it's better to stay away or withdraw from the issue.

If some user is violating our code of conduct standards, refer to the Enforcement section of the Code of Conduct to resolve the conflict

Review pull requests

Another great way to contribute is to review pull request. Please, be extra kind: people who submit code/doc contributions are putting themselves in a pretty vulnerable position, and have put time and care into what they've done (even if that's not obvious to you!) Please, always respond with respect, and be understanding, but don't feel like you need to sacrifice your standards for their sake, either.

How to review:

  • Go to the pull requests
  • Make sure you're familiar with the code or documentation is updated, unless it's a minor change (spellchecking, minor formatting, etc.)
  • Review changes using the GitHub functionality. You can ask a clarifying question, point out an error or suggest an alternative.

Note: You may ask for minor changes - "nitpicks", but consider whether they are real blockers to merging or not

  • Submit your review, which may include comments, an approval, or a changes request