Skip to content
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

Set up CI/CD pipeline based on the standalone template #308

Conversation

jkoritzinsky
Copy link
Member

@jkoritzinsky jkoritzinsky commented Nov 5, 2020

This PR merges in the standalone template that @safern designed and adapts it to enable building DllImportGenerator.

Commits after 3e1b2ad have the changes to the template to integrate into our build; all commits before it are from the template.

There are now build.cmd and build.sh scripts that are the frontend of the Arcade build in the repo root.

The following commands will be useful from the command line:

  • build.cmd to build the repo
  • build.cmd -test to build the repo and run unit tests
  • build.cmd -integrationtest to build the repo and run integration tests
  • build.cmd -test -integrationtest to build the repo and run all tests

You'll need to run git clean -xdf after pulling down a branch with this work since it changes the output directories to live under artifacts, so some files in the old obj directories cause confilcts.

Once you've run build.cmd from the root of the repo once, you can develop, build, and test the project entirely from within VS or VSCode. The only time you need to run the root build script is when we update the runtime that we run tests on (useful for utilizing runtime bug fixes to improve our tests).

I'm going to request that we do not Squash Merge or Rebase Merge this PR. I want to preserve the history of the standalone template (and I don't want git history to show that I own it).

AaronRobinsonMSFT and others added 11 commits July 13, 2020 14:57
* Update readme with existing experiments
* Add "CreateAnExperiment.md"
* Update README with feature/regexsrm

* Update README.md
…ures (dotnet#238)

* Add arcade common files

* Add standalone library template for experiments that don't need runtime features

* Add documentation to README.md

* PR Feedback.

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Quick fixups in README.md

* PR Feedback

* Simplify yml templates

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
@jkoritzinsky
Copy link
Member Author

I may need some help with getting Linux and Mac onboard. Looks like there's something up with the clang support in DNNE that isn't hooked up quite right, but I might be wrong.

Copy link
Member

@AaronRobinsonMSFT AaronRobinsonMSFT left a comment

Choose a reason for hiding this comment

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

This looks fine to me. I want to understand ownership here. What files do we own and what files does the engineering team own?

@@ -0,0 +1,16 @@
{
Copy link
Member

Choose a reason for hiding this comment

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

Who updates this file?

Copy link
Member

Choose a reason for hiding this comment

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

You can add an arcade subscription and then it would be auto update.

@AaronRobinsonMSFT
Copy link
Member

I may need some help with getting Linux and Mac onboard. Looks like there's something up with the clang support in DNNE that isn't hooked up quite right, but I might be wrong.

@jkoritzinsky DNNE assumes that clang is on the path. It doesn't try to discover anything.

@@ -11,6 +11,6 @@
}
Copy link
Member

Choose a reason for hiding this comment

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

Do you still need the runtimes section?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, we need the runtimes section to get some bug fixes in the hosting APIs for components. If we didn't need these bug fixes (or if they were in .NET 5), we wouldn't have the section.

@safern
Copy link
Member

safern commented Nov 5, 2020

Do the names in the branch-specific runtimelab.yml files need updating as well?

I added feature/* into the branch triggers so that people no longer have to do that.

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
@jkoritzinsky jkoritzinsky force-pushed the dllimportgenerator-hookup-build branch from 6696c0f to 106540b Compare November 6, 2020 00:39
@AaronRobinsonMSFT
Copy link
Member

:shipit:

@jkoritzinsky jkoritzinsky merged commit c6ef6e1 into dotnet:feature/DllImportGenerator Nov 6, 2020
@jkoritzinsky jkoritzinsky deleted the dllimportgenerator-hookup-build branch November 6, 2020 00:58
jkoritzinsky added a commit to jkoritzinsky/runtime that referenced this pull request Sep 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-DllImportGenerator Source Generated stubs for P/Invokes in C#
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants