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

Update the Build and Testing Process #172

Closed
16 tasks done
gep13 opened this issue Sep 25, 2014 · 2 comments
Closed
16 tasks done

Update the Build and Testing Process #172

gep13 opened this issue Sep 25, 2014 · 2 comments
Assignees
Labels
Improvement Issues that enhances existing functionality, or adds new features
Milestone

Comments

@gep13
Copy link
Member

gep13 commented Sep 25, 2014

Currently:

  • StyleCop Errors will fail the Build
  • But artifact will not get published
  • Code Analysis Errors will fail the Build
  • But artifact will not get published
  • DupFinder errors will not fail the build
  • Artifact will get published (assuming no StyleCop or Code Analysis errors)
  • InspectCode errors will not fail the build
  • Artifact will get published (assuming no StyleCop or Code Analysis errors)

Need to make it so that:

StyleCop

  • Errors will fail the Build
  • Report is surfaced as an artifact, regardless of build success/failure
  • XSL transform is performed on the report to make it human readable
  • When possible in AppVeyor, or using Test REST API, publish as Test Report

Code Analysis

  • Errors will fail the Build
  • Report is surfaced as an artifact, regardless of build success/failure
  • XSL transform is performed on the report to make it human readable
  • When possible in AppVeyor, or using Test REST API, publish as Test Report

DupFinder

  • Errors will fail the Build
  • Report is surfaced as an artifact, regardless of build success/failure
  • XSL transform is performed on the report to make it human readable
  • When possible in AppVeyor, or using Test REST API, publish as Test Report

InspectCode

  • Errors will fail the Build
  • Report is surfaced as an artifact, regardless of build success/failure
  • XSL transform is performed on the report to make it human readable
  • When possible in AppVeyor, or using Test REST API, publish as Test Report
@gep13 gep13 self-assigned this Sep 25, 2014
@gep13 gep13 added this to the 0.12 milestone Sep 25, 2014
@gep13
Copy link
Member Author

gep13 commented Sep 25, 2014

For publishing Artifacts from script, see here:
http://www.appveyor.com/docs/packaging-artifacts

@gep13
Copy link
Member Author

gep13 commented Sep 25, 2014

For pushing test results, by manually looping through test results, have a look here:
http://help.appveyor.com/discussions/kb/7-integrating-chutzpah-into-appveyor#comment_34475268

@gep13 gep13 closed this as completed Nov 4, 2014
@gep13 gep13 removed the 4 - Done label Nov 4, 2014
@gep13 gep13 added the Improvement Issues that enhances existing functionality, or adds new features label Feb 25, 2015
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Rather than have GitVersion.exe in the Tools folder, lets install it as part of build process
- Deleted GitVersion.exe from Tools folder
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Temporarily use the hooky installation source for GitVersion which comes from my MyGet feed
- This has the result of Pull Request GitTools/GitVersion#262
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- This will instead be done within the psake build script
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Now that the Pull Request issues in AppVeyor have been correct, we can add back in the nuget package caching, which should speed up the build somewhat.
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- When running in AppVeyor, run GitVersion with /output buildserver and read environment variable to get LegacySemVer version number
- When not running in AppVeyor, call GitVersion directly, and parse the JOSN output to get the LegacySemVer version number
- Added Analysis of StyleCop Errors, and publishing of StyleCop report
- Added Analysis of Code Analysis Errors, and publishing of Code Analysis report
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- As a result of discussions in this PR
	GitTools/GitVersion#262
- Changed to make use of a new REST API method in AppVeyor to set environment variables which are then immediately available in the running process.
- This means that we no longer have to call GitVersion twice
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
With the release of 1.3.2 of GitVersion, I shouldn't need to use my manually compiled version anymore.
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Using a basic XSL Transform script, and some sample XSL Files, applied a tranform to the XML report files, so they are easier to view
- Added check to decide whether these needs to be published as an artifact when running on AppVeyor
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Removed helper functions no longer required
- Adding publishing of dupfinder and inspectcode reports
- Added XSL tranform of dupfinder report using sample from here:
	http://confluence.jetbrains.com/display/NETCOM/Introducing+dupFinder
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Although the reports for dupfinder and inspectcode were being generated, they were not being pushed to AppVeyor
- Restructed the code to ensure that this happens
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Used dupfinder /config-create to generate template for all command line options
- Set ShowText to be true, which will make the generated html file more readable
- Still need to parameterise the locations for the files and output file
- Also, still need to analyze the results of the report, and fail build if required
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Rather than uses hard coded paths to directories of interest in dupFinder.config file, use a token %RootDirectory%
- This will then we replaced in the build script with the actual root directory, before executing the dupFinder Analysis
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Attempting to report errors into AppVeyor UI
- Attempting to fail build when duplicates are located
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- After using the same build script of the WebApiSample project, realised a couple things weren't quite right
  - Artifacts weren't published at the right time
  - Was still using hard-coded path in inspectcode.config file
- General refactor of tabs/spaces
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- To make things easier in the long run, added all files in the BuildScripts folder into the equivalent Solution Folder in the Visual Studio Solution.
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Don't want/need to run dupfinder on generated files, so let's add them to excluded list
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Updated the dupfinder.xsl file to include the line number that the duplicate starts on.
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Added Team Level .DotSettings file that can be shared for everyone using ReSharper
- Deleted old version of this based on old project name
- Configured InspectCode.config to use DotSettings file
- Introduced to errors into code base, by changing severity of one rule to error
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- This should have been in the last commit
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Did some basic parsing of the inspectcode.xml file, looking for all instances of issue type that are in error state
- Then based on this, looped through all issues of this type
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Using this:
	http://tei.oucs.ox.ac.uk/Talks/2009-07-oxford/talk-20-xslt_advanced.pdf
- Specifcally the section on xsl key, added basic parsing of Inspect Code Output XML file into HTML format
- This only picks up on Errors, but this is really all we care about just now
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- Removed the forcing of Code Inspection to error state
- At this point, the build should hopefully work
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- To match that of Code Analysis Output files
RichiCoder1 pushed a commit to RichiCoder1/ChocolateyGUI that referenced this issue Jun 29, 2015
- This should have been in last commit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Improvement Issues that enhances existing functionality, or adds new features
Projects
None yet
Development

No branches or pull requests

1 participant