Skip to content

Commit

Permalink
Augurk 3.0 (#98)
Browse files Browse the repository at this point in the history
This PR combines all of the work we've done for Augurk 3.0. Big feature is cross-platform support, by retargetting Augurk to run on .NET Core. This allows for running Augurk on Windows, Mac and Linux. Additionally we now ship a Docker image so getting started with Augurk is easier than ever.

Finally we've made some smaller quality of life improvements, such as:

- Readable scenario outlines by displaying the example inline when clicking on it
- Retention policy for features can be configured and will be applied retroactively
- We've fixed a bug with identical features in multiple groups where only a single feature would be shown
- Improved test coverage and various other build quality improvements
- Look forward to our new revamped website with guidance on installing Augurk 3.0 as well as migrating from earlier versions.

+semver: major
  • Loading branch information
jmezach authored and Jonathan Mezach committed May 29, 2019
1 parent 7b48897 commit bbc56bd
Show file tree
Hide file tree
Showing 138 changed files with 4,889 additions and 3,572 deletions.
10 changes: 10 additions & 0 deletions .dockerignore
@@ -0,0 +1,10 @@
# directories
**/bin/
**/obj/
**/out/
**/img/

# files
Dockerfile*
**/*.trx
**/*.md
396 changes: 396 additions & 0 deletions .editorconfig

Large diffs are not rendered by default.

63 changes: 63 additions & 0 deletions .gitattributes
@@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto

###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp

###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary

###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary

###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain
13 changes: 9 additions & 4 deletions .gitignore
@@ -1,6 +1,9 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# macOS specific files
.DS_Store

# User-specific files
*.suo
*.user
Expand Down Expand Up @@ -216,11 +219,10 @@ FakesAssemblies/
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# App_Data folder
**/App_Data
# Data folder
**/data

# RavenDB stuff
**/FeatureStore
**/CompiledIndexCache
**/Lucene.Net.dll

Expand All @@ -235,4 +237,7 @@ _Pvt_Extensions
*.feature.cs

# LibMan libraries
src/Augurk/libs
src/Augurk/wwwroot/libs

# Test coverage files
coverage.info
46 changes: 46 additions & 0 deletions .vscode/launch.json
@@ -0,0 +1,46 @@
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (web)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/src/Augurk/bin/Debug/netcoreapp2.2/Augurk.dll",
"args": [],
"cwd": "${workspaceFolder}/src/Augurk",
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart",
"launchBrowser": {
"enabled": true,
"args": "${auto-detect-url}",
"windows": {
"command": "cmd.exe",
"args": "/C start ${auto-detect-url}"
},
"osx": {
"command": "open"
},
"linux": {
"command": "xdg-open"
}
},
"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"sourceFileMap": {
"/Views": "${workspaceFolder}/Views"
}
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
,]
}
15 changes: 15 additions & 0 deletions .vscode/settings.json
@@ -0,0 +1,15 @@
{
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/bin": true,
"**/obj": true
},
"coverage-gutters.coverageFileNames": [
"coverage.info",
],
"terminal.integrated.cwd": "src/Augurk"
}
23 changes: 23 additions & 0 deletions .vscode/snippets.code-snippets
@@ -0,0 +1,23 @@
{
"license": {
"prefix": "lic",
"body": [
"/*",
" Copyright ${CURRENT_YEAR}, Augurk",
"",
" Licensed under the Apache License, Version 2.0 (the \"License\");",
" you may not use this file except in compliance with the License.",
" You may obtain a copy of the License at",
"",
" http://www.apache.org/licenses/LICENSE-2.0",
"",
" Unless required by applicable law or agreed to in writing, software",
" distributed under the License is distributed on an \"AS IS\" BASIS,",
" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",
" See the License for the specific language governing permissions and ",
" limitations under the License.",
"*/"
],
"description": "Insert Augurk license header"
}
}
15 changes: 15 additions & 0 deletions .vscode/tasks.json
@@ -0,0 +1,15 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/src/Augurk/Augurk.csproj"
],
"problemMatcher": "$msCompile"
}
]
}
34 changes: 34 additions & 0 deletions Dockerfile
@@ -0,0 +1,34 @@
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
ARG Version
ARG InformationalVersion
WORKDIR /app

# copy external library
COPY extLib /extLib

# copy csproj and restore as distinct layers
COPY src/*.sln .
COPY src/**/*.csproj ./
RUN for file in $(ls *.csproj); do mkdir -p ${file%.*}/ && mv $file ${file%.*}/; done
RUN dotnet restore

# copy everything else and build app
COPY src/. ./
WORKDIR /app
RUN dotnet publish /p:Version=$Version /p:InformationalVersion=$InformationalVersion -c Release -o out

# build unit test stage
FROM build AS unit-tests
WORKDIR /app/Augurk.Test
ENTRYPOINT [ "dotnet", "test", "--logger:trx" ]

# build integration test stage
FROM build AS integration-tests
WORKDIR /app/Augurk.IntegrationTest
ENTRYPOINT [ "dotnet", "test", "--logger:trx" ]

# build output image
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime
WORKDIR /app
COPY --from=build /app/Augurk/out ./
ENTRYPOINT ["dotnet", "Augurk.dll"]

0 comments on commit bbc56bd

Please sign in to comment.