From 47a64e2c9a0f49a873cecd6ef77c766f54acd13a Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Tue, 13 Oct 2020 19:29:22 -0700 Subject: [PATCH 01/28] Update benchmarks.yaml --- .github/workflows/benchmarks.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmarks.yaml b/.github/workflows/benchmarks.yaml index a6b731ea..34f36a70 100644 --- a/.github/workflows/benchmarks.yaml +++ b/.github/workflows/benchmarks.yaml @@ -3,7 +3,7 @@ name: Add Benchmark Results on: [pull_request] jobs: build: - name: Build + name: Build Benchmarks Project runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 From 47724f28e101be2a9651d34ca3fe8f5e1a359d5c Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Tue, 13 Oct 2020 19:38:00 -0700 Subject: [PATCH 02/28] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 13d38d74..5a2496d7 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -19,5 +19,12 @@ Don't see your desired issue? [Open](https://github.com/rbaker26/SAP1EMU/issues/ ## Aw Fork To start working on the project, you will need to fork it. Once forked, create a new branch and give it a descriptive title (i.e. InputBugFix or CSS_Cleanup). After all that is done, start working on the ticket. Make sure to add testing if required. When you are satisfied with the work done on the ticket, its time to submit a Pull Request. -## Pull Request -fdjaksjhfkljsa + +## Pull Request Process +All code changes are done via Pull Request. When you create a pull-request, a template will populate with all of the required information. Please fill it out completely as it helps us know what we are looking at. IF you don'y know which branch to target with your pull request, just set it to master. If need be, someone on the Dev Team will update the branch targeting after it is submitted. + +#### Testing & CI/CD +The SAP1Emu Project is nearly full CI/CD and has a lot of different testing methods built-in. This includes Unit Tests, Integration Tests, Coverage Metrics, Benchmarking, and Security Scanning. With the execption of Coverage Metrics, all other tests must pass for a pull request to be considered. If the tests don't pass, don't worry. We are here to help. + +If a Coverage Metrics fails, we will consider it on a case-by-case bases. + From 00f10555639ab6cef577f392f883e72aaf74ddc9 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Tue, 13 Oct 2020 19:39:40 -0700 Subject: [PATCH 03/28] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 5a2496d7..8cb028a7 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -28,3 +28,6 @@ The SAP1Emu Project is nearly full CI/CD and has a lot of different testing meth If a Coverage Metrics fails, we will consider it on a case-by-case bases. + +## Final Steps +Once you pull request is approved, we will ask you to add your name to the [wall](https://sap1emu.net/Home/Contributors) From 143413541a89b7c0cbdfbf76f49c87788f483ea4 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Tue, 13 Oct 2020 19:43:06 -0700 Subject: [PATCH 04/28] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 8cb028a7..495ac7af 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -17,17 +17,21 @@ Don't see your desired issue? [Open](https://github.com/rbaker26/SAP1EMU/issues/ ## Aw Fork -To start working on the project, you will need to fork it. Once forked, create a new branch and give it a descriptive title (i.e. InputBugFix or CSS_Cleanup). After all that is done, start working on the ticket. Make sure to add testing if required. When you are satisfied with the work done on the ticket, its time to submit a Pull Request. +To start working on the project, you will need to fork it. Once forked, create a new branch and give it a descriptive title (i.e. InputBugFix or CSS_Cleanup). After all that is done, start working on the ticket. Make sure to add testing if required. When you are satisfied with the work done on the ticket, it's time to submit a Pull Request. ## Pull Request Process -All code changes are done via Pull Request. When you create a pull-request, a template will populate with all of the required information. Please fill it out completely as it helps us know what we are looking at. IF you don'y know which branch to target with your pull request, just set it to master. If need be, someone on the Dev Team will update the branch targeting after it is submitted. +All code changes are done via Pull Request. When you create a pull-request, a template will populate with all of the required information. Please fill it out completely as it helps us know what we are looking at. If you don't know which branch to target with your pull request, just set it to master. If need be, someone on the Dev Team will update the branch targeting after it is submitted. #### Testing & CI/CD -The SAP1Emu Project is nearly full CI/CD and has a lot of different testing methods built-in. This includes Unit Tests, Integration Tests, Coverage Metrics, Benchmarking, and Security Scanning. With the execption of Coverage Metrics, all other tests must pass for a pull request to be considered. If the tests don't pass, don't worry. We are here to help. +The SAP1Emu Project is nearly full CI/CD and has a lot of different testing methods built in. This includes Unit Tests, Integration Tests, Coverage Metrics, Benchmarking, and Security Scanning. Except for Coverage Metrics, all other tests must pass for a pull request to be considered. If the tests do not pass, don't worry. We are here to help. If a Coverage Metrics fails, we will consider it on a case-by-case bases. -## Final Steps -Once you pull request is approved, we will ask you to add your name to the [wall](https://sap1emu.net/Home/Contributors) +#### Final Steps +Once you pull request is approved, we will ask you to add your name to the [wall](https://sap1emu.net/Home/Contributors). +Your name will not appear on GitHub or the wall until the code makes its way to the master branch. + +Once in master, it will take about 5-10 minutes for the Azure App to update and 1-2 minutes for the GitHub Page to update. + From 8a1a929da30600ab3643e209be2b0ac7f8626bbb Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Tue, 13 Oct 2020 20:39:27 -0700 Subject: [PATCH 05/28] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 495ac7af..321291cd 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -26,7 +26,7 @@ All code changes are done via Pull Request. When you create a pull-request, a t #### Testing & CI/CD The SAP1Emu Project is nearly full CI/CD and has a lot of different testing methods built in. This includes Unit Tests, Integration Tests, Coverage Metrics, Benchmarking, and Security Scanning. Except for Coverage Metrics, all other tests must pass for a pull request to be considered. If the tests do not pass, don't worry. We are here to help. -If a Coverage Metrics fails, we will consider it on a case-by-case bases. +If a Coverage Metrics fails, we will consider it on a case-by-case basis. #### Final Steps From 650b306e1fff604dfb2f64d96d739d4c7c3bf371 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Tue, 13 Oct 2020 20:48:16 -0700 Subject: [PATCH 06/28] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 321291cd..6635f693 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -35,3 +35,30 @@ Your name will not appear on GitHub or the wall until the code makes its way to Once in master, it will take about 5-10 minutes for the Azure App to update and 1-2 minutes for the GitHub Page to update. + + +## Building and Running the Project +This is a .Net Core 3.1 project, so it will run on Windows, macOS and Linux. For Windows and macOS, using Visual Studio is the easiestway to get started on this project. Simply open the SLN file with from within Visual Studio and it will load the project for you. + +For command-line users (Windows, macOS and Linux) run the following commands from the project directory to start the project. + +#### Run the GUI Project +```bash +dotnet restore +dotent build +dotnet run --project SAP1EMU.GUI +``` + +#### Run the CLI Project +```bash +dotnet restore +dotent build +dotnet run --project SAP1EMU.CLI +``` + +#### Run Tests +```bash +dotnet restore +dotent build --configuration release +dotnet run --project SAP1EMU.CLI --configuration release +``` From 31db54a8e9c09ca3dd97c91a45763afc54875c53 Mon Sep 17 00:00:00 2001 From: rbaker26 Date: Tue, 13 Oct 2020 21:28:43 -0700 Subject: [PATCH 07/28] added logging for local build, Azure Env_Var turns off logging on Prod --- SAP1EMU.GUI/appsettings.Development.json | 7 +++++++ SAP1EMU.GUI/appsettings.json | 3 ++- SAP1EMU.sln | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 SAP1EMU.GUI/appsettings.Development.json diff --git a/SAP1EMU.GUI/appsettings.Development.json b/SAP1EMU.GUI/appsettings.Development.json new file mode 100644 index 00000000..8c4d28e0 --- /dev/null +++ b/SAP1EMU.GUI/appsettings.Development.json @@ -0,0 +1,7 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information" + } + } +} \ No newline at end of file diff --git a/SAP1EMU.GUI/appsettings.json b/SAP1EMU.GUI/appsettings.json index 34be7b9b..04d372d8 100644 --- a/SAP1EMU.GUI/appsettings.json +++ b/SAP1EMU.GUI/appsettings.json @@ -7,5 +7,6 @@ "ConnectionStrings": { "DefaultConnection": "", "sap1emu_db_conn_string": "Server=localhost;Database=master;Trusted_Connection=True;" - } + }, + "GitHubIssueToken": "fakeTokenUsedForLocal" } \ No newline at end of file diff --git a/SAP1EMU.sln b/SAP1EMU.sln index ba9bf44f..e2d4dc3f 100644 --- a/SAP1EMU.sln +++ b/SAP1EMU.sln @@ -25,7 +25,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SAP1EMU.CLI.Test", "SAP1EMU EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SAP1EMU.Benchmarks", "SAP1EMU.Benchmarks\SAP1EMU.Benchmarks.csproj", "{3924116E-911F-44ED-982B-6E767CDFBFC6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SAP1EMU.GUI.Test", "SAP1EMU.GUI.TEST\SAP1EMU.GUI.Test.csproj", "{6784F992-F1D8-4260-9E54-FBE35325EE50}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SAP1EMU.GUI.Test", "SAP1EMU.GUI.TEST\SAP1EMU.GUI.Test.csproj", "{6784F992-F1D8-4260-9E54-FBE35325EE50}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution From c9e5bcf9259d1164b409a85e7cdd659cf4bc37a4 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Tue, 13 Oct 2020 21:32:06 -0700 Subject: [PATCH 08/28] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 6635f693..a87bb919 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -62,3 +62,5 @@ dotnet restore dotent build --configuration release dotnet run --project SAP1EMU.CLI --configuration release ``` + +When working on the project, any change to a `.cs` file will require the Kestrel Server to be shutdown `Ctrl+c` and the project to be rebuilt and restarted. Changes to `.cshtml` files do not require a rebuild or restart. From b885421ea3f579412d9f10099bda2c13db037e53 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Tue, 13 Oct 2020 21:32:46 -0700 Subject: [PATCH 09/28] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index a87bb919..b035c2d4 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -30,7 +30,7 @@ If a Coverage Metrics fails, we will consider it on a case-by-case basis. #### Final Steps -Once you pull request is approved, we will ask you to add your name to the [wall](https://sap1emu.net/Home/Contributors). +Once your pull request is approved, we will ask you to add your name to the [wall](https://sap1emu.net/Home/Contributors). Your name will not appear on GitHub or the wall until the code makes its way to the master branch. Once in master, it will take about 5-10 minutes for the Azure App to update and 1-2 minutes for the GitHub Page to update. From 3dd6c81dcdbba15bfb57c6844cd908c041a5279c Mon Sep 17 00:00:00 2001 From: Bob Baker <007dsi@gmail.com> Date: Wed, 14 Oct 2020 19:12:45 -0700 Subject: [PATCH 10/28] Add or update the App Service deployment workflow configuration from Azure Portal. --- .github/workflows/master_sap1emu.yml | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/master_sap1emu.yml diff --git a/.github/workflows/master_sap1emu.yml b/.github/workflows/master_sap1emu.yml new file mode 100644 index 00000000..f162f8f5 --- /dev/null +++ b/.github/workflows/master_sap1emu.yml @@ -0,0 +1,35 @@ +# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy +# More GitHub Actions for Azure: https://github.com/Azure/actions + +name: Build and deploy ASP.Net Core app to Azure Web App - sap1emu + +on: + push: + branches: + - master + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@master + + - name: Set up .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: '3.1.102' + + - name: Build with dotnet + run: dotnet build --configuration Release + + - name: dotnet publish + run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp + + - name: Deploy to Azure Web App + uses: azure/webapps-deploy@v2 + with: + app-name: 'sap1emu' + slot-name: 'production' + publish-profile: ${{ secrets.AzureAppService_PublishProfile_b1fb63360ad94fd2a0a9b5ef35996de4 }} + package: ${{env.DOTNET_ROOT}}/myapp \ No newline at end of file From 4e21362a17ac0548098b9d8bea6c966f99b6abd1 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 19:21:38 -0700 Subject: [PATCH 11/28] Delete master_sap1emu.yml --- .github/workflows/master_sap1emu.yml | 35 ---------------------------- 1 file changed, 35 deletions(-) delete mode 100644 .github/workflows/master_sap1emu.yml diff --git a/.github/workflows/master_sap1emu.yml b/.github/workflows/master_sap1emu.yml deleted file mode 100644 index f162f8f5..00000000 --- a/.github/workflows/master_sap1emu.yml +++ /dev/null @@ -1,35 +0,0 @@ -# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy -# More GitHub Actions for Azure: https://github.com/Azure/actions - -name: Build and deploy ASP.Net Core app to Azure Web App - sap1emu - -on: - push: - branches: - - master - -jobs: - build-and-deploy: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@master - - - name: Set up .NET Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '3.1.102' - - - name: Build with dotnet - run: dotnet build --configuration Release - - - name: dotnet publish - run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp - - - name: Deploy to Azure Web App - uses: azure/webapps-deploy@v2 - with: - app-name: 'sap1emu' - slot-name: 'production' - publish-profile: ${{ secrets.AzureAppService_PublishProfile_b1fb63360ad94fd2a0a9b5ef35996de4 }} - package: ${{env.DOTNET_ROOT}}/myapp \ No newline at end of file From 376a1e0469d98d959d176dc87a1de8fb871beccb Mon Sep 17 00:00:00 2001 From: Bob Baker <007dsi@gmail.com> Date: Wed, 14 Oct 2020 19:24:19 -0700 Subject: [PATCH 12/28] Add or update the App Service deployment workflow configuration from Azure Portal. --- .github/workflows/master_sap1emu.yml | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/master_sap1emu.yml diff --git a/.github/workflows/master_sap1emu.yml b/.github/workflows/master_sap1emu.yml new file mode 100644 index 00000000..d910f429 --- /dev/null +++ b/.github/workflows/master_sap1emu.yml @@ -0,0 +1,35 @@ +# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy +# More GitHub Actions for Azure: https://github.com/Azure/actions + +name: Build and deploy ASP.Net Core app to Azure Web App - sap1emu + +on: + push: + branches: + - master + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@master + + - name: Set up .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: '3.1.102' + + - name: Build with dotnet + run: dotnet build --configuration Release + + - name: dotnet publish + run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp + + - name: Deploy to Azure Web App + uses: azure/webapps-deploy@v2 + with: + app-name: 'sap1emu' + slot-name: 'production' + publish-profile: ${{ secrets.AzureAppService_PublishProfile_07be6d4c19a1473484f612df3609978e }} + package: ${{env.DOTNET_ROOT}}/myapp \ No newline at end of file From d9a0342e1873b8ee5f5e30467b12fab7c6ddce61 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 19:35:19 -0700 Subject: [PATCH 13/28] Update master_sap1emu.yml --- .github/workflows/master_sap1emu.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/master_sap1emu.yml b/.github/workflows/master_sap1emu.yml index d910f429..714720e7 100644 --- a/.github/workflows/master_sap1emu.yml +++ b/.github/workflows/master_sap1emu.yml @@ -31,5 +31,5 @@ jobs: with: app-name: 'sap1emu' slot-name: 'production' - publish-profile: ${{ secrets.AzureAppService_PublishProfile_07be6d4c19a1473484f612df3609978e }} - package: ${{env.DOTNET_ROOT}}/myapp \ No newline at end of file + publish-profile: ${{ secrets.AZURE_CREDS }} + package: ${{env.DOTNET_ROOT}}/myapp From 50f7ba8a42763d5521f7bf719990b5af591eebc1 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 19:49:24 -0700 Subject: [PATCH 14/28] Update EightBitProgramming_5.cshtml azure deployment test --- SAP1EMU.GUI/Views/Docs/EightBitProgramming_5.cshtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SAP1EMU.GUI/Views/Docs/EightBitProgramming_5.cshtml b/SAP1EMU.GUI/Views/Docs/EightBitProgramming_5.cshtml index 740890c0..51764879 100644 --- a/SAP1EMU.GUI/Views/Docs/EightBitProgramming_5.cshtml +++ b/SAP1EMU.GUI/Views/Docs/EightBitProgramming_5.cshtml @@ -12,7 +12,7 @@

An Introduction to Limited Instruction Set Programs

- +

hsdajffhkjdsahkjfsdhanklasdhk

@{ await Html.RenderPartialAsync("_EightBitProgramming_TOC"); }

Your First Program - Add Two Numbers

@@ -95,4 +95,4 @@ } ); } - \ No newline at end of file + From 22f22d0380dbbb5c1124083037d08a1c087995b0 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 19:54:10 -0700 Subject: [PATCH 15/28] Update master_sap1emu.yml --- .github/workflows/master_sap1emu.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/master_sap1emu.yml b/.github/workflows/master_sap1emu.yml index 714720e7..e2348440 100644 --- a/.github/workflows/master_sap1emu.yml +++ b/.github/workflows/master_sap1emu.yml @@ -21,10 +21,10 @@ jobs: dotnet-version: '3.1.102' - name: Build with dotnet - run: dotnet build --configuration Release + run: dotnet build --configuration Release --project SAP1EMU.GUI - name: dotnet publish - run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp + run: dotnet publish -c Release --project SAP1EMU.GUI -o ${{env.DOTNET_ROOT}}/sap1emu_gui - name: Deploy to Azure Web App uses: azure/webapps-deploy@v2 @@ -32,4 +32,4 @@ jobs: app-name: 'sap1emu' slot-name: 'production' publish-profile: ${{ secrets.AZURE_CREDS }} - package: ${{env.DOTNET_ROOT}}/myapp + package: ${{env.DOTNET_ROOT}}/sap1emu_gui From c1410bcd1b906dac03b4a2ece5d6e3dc4a0601bb Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 19:55:59 -0700 Subject: [PATCH 16/28] Update master_sap1emu.yml --- .github/workflows/master_sap1emu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/master_sap1emu.yml b/.github/workflows/master_sap1emu.yml index e2348440..364d0aeb 100644 --- a/.github/workflows/master_sap1emu.yml +++ b/.github/workflows/master_sap1emu.yml @@ -21,7 +21,7 @@ jobs: dotnet-version: '3.1.102' - name: Build with dotnet - run: dotnet build --configuration Release --project SAP1EMU.GUI + run: dotnet build --configuration Release SAP1EMU.GUI - name: dotnet publish run: dotnet publish -c Release --project SAP1EMU.GUI -o ${{env.DOTNET_ROOT}}/sap1emu_gui From 8c02f7bf9833ec1f15bb7431c476ceee6bfeebd1 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 19:59:10 -0700 Subject: [PATCH 17/28] Update master_sap1emu.yml --- .github/workflows/master_sap1emu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/master_sap1emu.yml b/.github/workflows/master_sap1emu.yml index 364d0aeb..13844d61 100644 --- a/.github/workflows/master_sap1emu.yml +++ b/.github/workflows/master_sap1emu.yml @@ -24,7 +24,7 @@ jobs: run: dotnet build --configuration Release SAP1EMU.GUI - name: dotnet publish - run: dotnet publish -c Release --project SAP1EMU.GUI -o ${{env.DOTNET_ROOT}}/sap1emu_gui + run: dotnet publish -c Release SAP1EMU.GUI -o ${{env.DOTNET_ROOT}}/sap1emu_gui - name: Deploy to Azure Web App uses: azure/webapps-deploy@v2 From e5d963f771a03f4cb0abc869b30cb2ca2427af46 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 20:01:37 -0700 Subject: [PATCH 18/28] Update EightBitProgramming_5.cshtml --- SAP1EMU.GUI/Views/Docs/EightBitProgramming_5.cshtml | 1 - 1 file changed, 1 deletion(-) diff --git a/SAP1EMU.GUI/Views/Docs/EightBitProgramming_5.cshtml b/SAP1EMU.GUI/Views/Docs/EightBitProgramming_5.cshtml index 51764879..c0bdaaed 100644 --- a/SAP1EMU.GUI/Views/Docs/EightBitProgramming_5.cshtml +++ b/SAP1EMU.GUI/Views/Docs/EightBitProgramming_5.cshtml @@ -12,7 +12,6 @@

An Introduction to Limited Instruction Set Programs

-

hsdajffhkjdsahkjfsdhanklasdhk

@{ await Html.RenderPartialAsync("_EightBitProgramming_TOC"); }

Your First Program - Add Two Numbers

From 8123780cdee52f593b0afac340faa64a940674ef Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 20:05:19 -0700 Subject: [PATCH 19/28] Update master_sap1emu.yml --- .github/workflows/master_sap1emu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/master_sap1emu.yml b/.github/workflows/master_sap1emu.yml index 13844d61..c6b10f5c 100644 --- a/.github/workflows/master_sap1emu.yml +++ b/.github/workflows/master_sap1emu.yml @@ -6,7 +6,7 @@ name: Build and deploy ASP.Net Core app to Azure Web App - sap1emu on: push: branches: - - master + - PROD jobs: build-and-deploy: From cc685aae06d02bad2d3e892b814e1f313742c8f7 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 20:09:23 -0700 Subject: [PATCH 20/28] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index b035c2d4..af8a03f0 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -24,16 +24,16 @@ To start working on the project, you will need to fork it. Once forked, create All code changes are done via Pull Request. When you create a pull-request, a template will populate with all of the required information. Please fill it out completely as it helps us know what we are looking at. If you don't know which branch to target with your pull request, just set it to master. If need be, someone on the Dev Team will update the branch targeting after it is submitted. #### Testing & CI/CD -The SAP1Emu Project is nearly full CI/CD and has a lot of different testing methods built in. This includes Unit Tests, Integration Tests, Coverage Metrics, Benchmarking, and Security Scanning. Except for Coverage Metrics, all other tests must pass for a pull request to be considered. If the tests do not pass, don't worry. We are here to help. +The SAP1Emu Project is a full CI/CD project and has a lot of different testing methods built in. This includes Unit Tests, Integration Tests, Coverage Metrics, Benchmarking, and Security Scanning. Except for Coverage Metrics, all other tests must pass for a pull request to be considered. If the tests do not pass, don't worry. We are here to help. If a Coverage Metrics fails, we will consider it on a case-by-case basis. #### Final Steps Once your pull request is approved, we will ask you to add your name to the [wall](https://sap1emu.net/Home/Contributors). -Your name will not appear on GitHub or the wall until the code makes its way to the master branch. +Your name will not appear on GitHub until the code makes its way to the master branch. In addidtion, your name will not appear on the wall unill the code makes its way to the PROD branch. -Once in master, it will take about 5-10 minutes for the Azure App to update and 1-2 minutes for the GitHub Page to update. +Once in PROD, it will take about 5-10 minutes for the Azure App to update and 1-2 minutes in master for the GitHub Page to update. From 1b143a924171a945317102777a189d53be90fa64 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 20:23:41 -0700 Subject: [PATCH 21/28] Update master_sap1emu.yml --- .github/workflows/master_sap1emu.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/master_sap1emu.yml b/.github/workflows/master_sap1emu.yml index c6b10f5c..93678fcb 100644 --- a/.github/workflows/master_sap1emu.yml +++ b/.github/workflows/master_sap1emu.yml @@ -1,7 +1,7 @@ # Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy # More GitHub Actions for Azure: https://github.com/Azure/actions -name: Build and deploy ASP.Net Core app to Azure Web App - sap1emu +name: Azure Deployment on: push: @@ -9,7 +9,7 @@ on: - PROD jobs: - build-and-deploy: + azure-deploy: runs-on: ubuntu-latest steps: From 80e20b417891fc8c481d646f028ac3cb4d600125 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 20:31:44 -0700 Subject: [PATCH 22/28] Rename master_sap1emu.yml to azure_deploy.yml --- .github/workflows/{master_sap1emu.yml => azure_deploy.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{master_sap1emu.yml => azure_deploy.yml} (100%) diff --git a/.github/workflows/master_sap1emu.yml b/.github/workflows/azure_deploy.yml similarity index 100% rename from .github/workflows/master_sap1emu.yml rename to .github/workflows/azure_deploy.yml From 8f6ccb6ad1402de277e873a1d511ff9036f9b5b5 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 22:34:51 -0700 Subject: [PATCH 23/28] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index af8a03f0..afe2f827 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -31,7 +31,7 @@ If a Coverage Metrics fails, we will consider it on a case-by-case basis. #### Final Steps Once your pull request is approved, we will ask you to add your name to the [wall](https://sap1emu.net/Home/Contributors). -Your name will not appear on GitHub until the code makes its way to the master branch. In addidtion, your name will not appear on the wall unill the code makes its way to the PROD branch. +Your name will not appear on GitHub until the code makes its way to the master branch. In addition, your name will not appear on the [wall](https://sap1emu.net/Home/Contributors) unill the code makes its way to the PROD branch. Once in PROD, it will take about 5-10 minutes for the Azure App to update and 1-2 minutes in master for the GitHub Page to update. @@ -45,22 +45,22 @@ For command-line users (Windows, macOS and Linux) run the following commands fro #### Run the GUI Project ```bash dotnet restore -dotent build -dotnet run --project SAP1EMU.GUI +dotnet build SAP1EMU.GUI +dotnet run --project SAP1EMU.GUI --no-build ``` #### Run the CLI Project ```bash dotnet restore -dotent build -dotnet run --project SAP1EMU.CLI +dotnet build SAP1EMU.CLI +dotnet run --project SAP1EMU.CLI --no-build ``` #### Run Tests ```bash dotnet restore dotent build --configuration release -dotnet run --project SAP1EMU.CLI --configuration release +dotnet test --no-build ``` When working on the project, any change to a `.cs` file will require the Kestrel Server to be shutdown `Ctrl+c` and the project to be rebuilt and restarted. Changes to `.cshtml` files do not require a rebuild or restart. From 861562759a53275a3b3a13d24d690f2d6eeff713 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 23:08:14 -0700 Subject: [PATCH 24/28] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index afe2f827..1a380ffa 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -36,6 +36,8 @@ Your name will not appear on GitHub until the code makes its way to the master b Once in PROD, it will take about 5-10 minutes for the Azure App to update and 1-2 minutes in master for the GitHub Page to update. +## Process Diagram + ## Building and Running the Project This is a .Net Core 3.1 project, so it will run on Windows, macOS and Linux. For Windows and macOS, using Visual Studio is the easiestway to get started on this project. Simply open the SLN file with from within Visual Studio and it will load the project for you. From 2299c322a09b88b370a71874ddd403981971aa20 Mon Sep 17 00:00:00 2001 From: Bob Baker <007dsi@gmail.com> Date: Wed, 14 Oct 2020 23:08:40 -0700 Subject: [PATCH 25/28] Add files via upload --- .wiki/flowchart.png | Bin 0 -> 60564 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .wiki/flowchart.png diff --git a/.wiki/flowchart.png b/.wiki/flowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..9bbed65dec116618709aa76c5361c0de31b79b7f GIT binary patch literal 60564 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 !WUUD9_uANE0K@qGu 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 Tyn7m~g2_PF1YUg1G5mi3ik63W literal 0 HcmV?d00001 From 2acbd7766fc3cf1e149934633ff15281765403d6 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 23:09:51 -0700 Subject: [PATCH 26/28] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 1a380ffa..8d025475 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -37,7 +37,7 @@ Once in PROD, it will take about 5-10 minutes for the Azure App to update and 1- ## Process Diagram - +![https://raw.githubusercontent.com/rbaker26/SAP1EMU/master/.wiki/flowchart.png](https://raw.githubusercontent.com/rbaker26/SAP1EMU/master/.wiki/flowchart.png) ## Building and Running the Project This is a .Net Core 3.1 project, so it will run on Windows, macOS and Linux. For Windows and macOS, using Visual Studio is the easiestway to get started on this project. Simply open the SLN file with from within Visual Studio and it will load the project for you. From a93d467872c4b9393dd06939552136e88eef7b70 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Wed, 14 Oct 2020 23:10:54 -0700 Subject: [PATCH 27/28] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 8d025475..031c0da0 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -37,8 +37,13 @@ Once in PROD, it will take about 5-10 minutes for the Azure App to update and 1- ## Process Diagram +Click on the picture below to see a detailed flowchart of the process. + + ![https://raw.githubusercontent.com/rbaker26/SAP1EMU/master/.wiki/flowchart.png](https://raw.githubusercontent.com/rbaker26/SAP1EMU/master/.wiki/flowchart.png) + + ## Building and Running the Project This is a .Net Core 3.1 project, so it will run on Windows, macOS and Linux. For Windows and macOS, using Visual Studio is the easiestway to get started on this project. Simply open the SLN file with from within Visual Studio and it will load the project for you. From e868b8269d065c016773303927ef16c8e3a302a4 Mon Sep 17 00:00:00 2001 From: Bob Baker Date: Mon, 19 Oct 2020 09:47:46 -0700 Subject: [PATCH 28/28] Update codeql-analysis.yml --- .github/workflows/codeql-analysis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 40cf8652..f40b96ef 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -7,10 +7,10 @@ name: "CodeQL" on: push: - branches: [master, v2.0.0-rc, v2.0.1-rc] + branches: [master, PROD] pull_request: # The branches below must be a subset of the branches above - branches: [master] + branches: [master, PROD] schedule: - cron: '0 0 * * 1'