From e6a672ffb4c7ab68d3ca01f903a5b9d726f69439 Mon Sep 17 00:00:00 2001
From: Leonardo Chaia
Date: Wed, 9 Mar 2022 00:41:58 -0300
Subject: [PATCH] chore: updates readme
---
README.md | 141 ++++++++++++++++++------------------------------------
1 file changed, 47 insertions(+), 94 deletions(-)
diff --git a/README.md b/README.md
index fac1dd6..d6202a1 100644
--- a/README.md
+++ b/README.md
@@ -2,104 +2,57 @@
-# Create a JavaScript Action using TypeScript
+# Run dotnet-affected inside GitHub actions
-Use this template to bootstrap the creation of a TypeScript action.:rocket:
+dotnet-affected is a .NET tool for determining which projects are affected by a set of changes. Useful for large projects or monorepos.
-This template includes compilation support, tests, a validation workflow, publishing, and versioning guidance.
+Read more at
-If you are new, there's also a simpler introduction. See the [Hello World JavaScript Action](https://github.com/actions/hello-world-javascript-action)
+## Usage
-## Create an action from this template
-
-Click the `Use this Template` and provide the new repo details for your action
-
-## Code in Main
-
-> First, you'll need to have a reasonably modern version of `node` handy. This won't work with versions older than 9, for instance.
-
-Install the dependencies
-```bash
-$ npm install
-```
-
-Build the typescript and package it for distribution
-```bash
-$ npm run build && npm run package
-```
-
-Run the tests :heavy_check_mark:
-```bash
-$ npm test
-
- PASS ./index.test.js
- ✓ throws invalid number (3ms)
- ✓ wait 500 ms (504ms)
- ✓ test runs (95ms)
-
-...
-```
-
-## Change action.yml
-
-The action.yml defines the inputs and output for your action.
-
-Update the action.yml with your name, description, inputs and outputs for your action.
-
-See the [documentation](https://help.github.com/en/articles/metadata-syntax-for-github-actions)
-
-## Change the Code
-
-Most toolkit and CI/CD operations involve async operations so the action is run in an async function.
-
-```javascript
-import * as core from '@actions/core';
-...
-
-async function run() {
- try {
- ...
- }
- catch (error) {
- core.setFailed(error.message);
- }
-}
-
-run()
-```
-
-See the [toolkit documentation](https://github.com/actions/toolkit/blob/master/README.md#packages) for the various packages.
-
-## Publish to a distribution branch
-
-Actions are run from GitHub repos so we will checkin the packed dist folder.
-
-Then run [ncc](https://github.com/zeit/ncc) and push the results:
-```bash
-$ npm run package
-$ git add dist
-$ git commit -a -m "prod dependencies"
-$ git push origin releases/v1
-```
-
-Note: We recommend using the `--license` option for ncc, which will create a license file for all of the production node modules used in your project.
-
-Your action is now published! :rocket:
-
-See the [versioning documentation](https://github.com/actions/toolkit/blob/master/docs/action-versioning.md)
-
-## Validate
-
-You can now validate the action by referencing `./` in a workflow in your repo (see [test.yml](.github/workflows/test.yml))
+This action will run dotnet affected and output an `affected.proj` file that you can use to build/test/publish what has changed/affected since the last successful commit, or against your main branch, etc.
```yaml
-uses: ./
-with:
- milliseconds: 1000
+name: .NET
+on:
+ push:
+ branches:
+ - 'main'
+ tags:
+ - 'v*'
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ dotnet-version: ['3.1.x', '5.0', '6.0' ]
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+ - name: Setup .NET Core SDK ${{ matrix.dotnet-version }}
+ uses: actions/setup-dotnet@v1.7.2
+ with:
+ dotnet-version: ${{ matrix.dotnet-version }}
+
+ - uses: nrwl/last-successful-commit-action@v1
+ id: last_successful_commit
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ branch: ${{ env.GITHUB_REF_NAME }}
+ workflow_id: 'test.yml'
+
+ - uses: leonardochaia/dotnet-affected@v1
+ id: dotnet_affected
+ with:
+ from: ${{ steps.last_successful_commit.outputs.commit_hash }}
+ to: ${{ github.sha }}
+
+ - name: Install dependencies
+ if: success() && steps.affected.outputs.affected == ''
+ run: dotnet restore affected.proj
+ - name: Build
+ run: dotnet build --configuration Release --no-restore affected.proj
+ - name: Test
+ run: dotnet test --no-restore --verbosity normal affected.proj
```
-
-See the [actions tab](https://github.com/actions/typescript-action/actions) for runs of this action! :rocket:
-
-## Usage:
-
-After testing you can [create a v1 tag](https://github.com/actions/toolkit/blob/master/docs/action-versioning.md) to reference the stable and latest V1 action