Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
329 commits
Select commit Hold shift + click to select a range
9e6dd1c
Make CA controller partial for extending with source generators
webprofusion-chrisc Nov 7, 2023
349221e
Core: update to error messages when saving ca or account
webprofusion-chrisc Nov 9, 2023
eaaa194
Package updates
webprofusion-chrisc Nov 9, 2023
daca26b
Docker: update debug config and allow write to app settings for non-p…
webprofusion-chrisc Nov 9, 2023
b40a9ff
Add public API to service solution
webprofusion-chrisc Nov 9, 2023
f2f1524
Fix migration and public API namespaces
webprofusion-chrisc Nov 10, 2023
2e3d52f
UI: use resource for string in import/export
webprofusion-chrisc Nov 14, 2023
81c3aa0
Package updates
webprofusion-chrisc Nov 15, 2023
613acc3
aspire experiment
webprofusion-chrisc Nov 16, 2023
0034cb7
Fixes for build/untime errors
webprofusion-chrisc Nov 16, 2023
1a74b0d
Cleanup app startup
webprofusion-chrisc Nov 16, 2023
08d1b67
Fixing file paths for tests running in Linux containers/envs
jrnelson90 Nov 30, 2023
20f5330
Package updates
webprofusion-chrisc Dec 11, 2023
74138c6
Core: implement queue for batch submission of status reports
webprofusion-chrisc Dec 12, 2023
670c7ca
Update choco scripts
webprofusion-chrisc Dec 12, 2023
8c2ea56
First attempt adding testing Github Actions for Certify.Core.Tests.Unit
jrnelson90 Dec 14, 2023
4a59208
API: simplify access to health endpoint for debugging etc
webprofusion-chrisc Dec 15, 2023
17ad2e4
API: update service host/port from ENV depending on context
webprofusion-chrisc Dec 15, 2023
3baef24
Fix and test validation for mixed wildcards with subdomain like names
webprofusion-chrisc Dec 18, 2023
960d92a
Move unit test source into subfolder, fix running tests from VS
webprofusion-chrisc Dec 18, 2023
4fe5fb7
API: consolidate ports for various launch profiles
webprofusion-chrisc Dec 18, 2023
13c7e0f
Service Worker: consolidate ports for launch profiles
webprofusion-chrisc Dec 18, 2023
44bbabe
Cleanup
webprofusion-chrisc Dec 19, 2023
20ef81d
Package updates
webprofusion-chrisc Dec 19, 2023
9307d6d
Cleanup
webprofusion-chrisc Dec 20, 2023
8c409d3
API: update connection handling to backend service
webprofusion-chrisc Dec 21, 2023
fe7a4f2
Service worker: fix package version exception
webprofusion-chrisc Dec 21, 2023
16d68b1
API: all controllers should be partial classes for extension with sou…
webprofusion-chrisc Dec 21, 2023
15dde9d
Package updates
webprofusion-chrisc Dec 21, 2023
04d74cd
Cleanup
webprofusion-chrisc Jan 8, 2024
9043adf
Cleanup
webprofusion-chrisc Jan 8, 2024
fc7254a
Package updates
webprofusion-chrisc Jan 8, 2024
384efcf
Implement Aspire in dev and remove Certify.Service.Worker
webprofusion-chrisc Jan 8, 2024
e5832c6
API: move example client from web UI
webprofusion-chrisc Jan 8, 2024
676d536
Package updates
webprofusion-chrisc Jan 15, 2024
20f9ae7
UI: update license action text for clarity
webprofusion-chrisc Jan 15, 2024
df438eb
Update implementation of public API tests, fix download and version t…
webprofusion-chrisc Jan 16, 2024
c370c20
Package updates
webprofusion-chrisc Feb 1, 2024
a7eacc7
Security principle and access control updates
webprofusion-chrisc Feb 1, 2024
166c310
Package updates
webprofusion-chrisc Feb 1, 2024
7a2fa17
Add/Update security principles
webprofusion-chrisc Feb 2, 2024
1bca87e
Package updates
webprofusion-chrisc Feb 5, 2024
ac08ba8
API: Implement update assigned roles
webprofusion-chrisc Feb 6, 2024
e5b8ed4
Package updates
webprofusion-chrisc Feb 8, 2024
ee8b8a8
Tasks: perform validation in preview mode
webprofusion-chrisc Feb 8, 2024
e58894c
API: add user auth context passed through to service during calls
webprofusion-chrisc Feb 8, 2024
ec54c57
Access: add user role status query on login
webprofusion-chrisc Feb 8, 2024
97cb552
WIP: resource action standard naming
webprofusion-chrisc Feb 8, 2024
3941c28
Cleanup
webprofusion-chrisc Feb 8, 2024
ccc9fcc
Tests: fix access control test referencing mutated in-memory value
webprofusion-chrisc Feb 8, 2024
9da1a5b
Test: update check assert not null result
webprofusion-chrisc Feb 8, 2024
0fab338
Add hosting.de as posh acme option
Scriptkiddi Jan 31, 2024
3f00126
Renewal: Port fix for recurring renewal attempts which should be on …
webprofusion-chrisc Feb 8, 2024
c720afd
UI/service: SignalR breaks if BCL Async version wrong
webprofusion-chrisc Feb 9, 2024
c27896d
Move API method source generators into main repo
webprofusion-chrisc Feb 15, 2024
e3c2f43
Cleanup warnings
webprofusion-chrisc Feb 15, 2024
d614296
Aspire: update references
webprofusion-chrisc Feb 16, 2024
d9b418b
Remove nuget package builds
webprofusion-chrisc Feb 16, 2024
b4cd18c
Cleanup type and platform warnings
webprofusion-chrisc Feb 16, 2024
c55d667
Credentials: use default data protection scope and cleanup platform s…
webprofusion-chrisc Feb 16, 2024
8633300
Core: add data protector service
webprofusion-chrisc Feb 16, 2024
eb7c5d7
Package updates
webprofusion-chrisc Feb 19, 2024
38c6896
Tests: Fix access control object mutation during test
webprofusion-chrisc Feb 19, 2024
10e0eb2
Test: clean up unused configuration
webprofusion-chrisc Feb 19, 2024
9855a87
Update self signed cert generation/storage and tests
webprofusion-chrisc Feb 19, 2024
b912f19
Update cert operation tests for private key path checks
webprofusion-chrisc Feb 19, 2024
9dfa99f
Remove deprecated use of CertID for OCSP etc
webprofusion-chrisc Feb 19, 2024
9d24f6d
Access control: standard roles, policies, resource actions, cleanup
webprofusion-chrisc Feb 21, 2024
db5c98a
Access control: fix tests
webprofusion-chrisc Feb 21, 2024
d567c67
Package updates
webprofusion-chrisc Feb 21, 2024
31ddc3a
DNS: Add PowerDNS provider viA Posh-ACME
webprofusion-chrisc Feb 21, 2024
db82e8f
Test: skip key path tests on non-windows
webprofusion-chrisc Feb 21, 2024
fc8df35
Cleanup
webprofusion-chrisc Feb 21, 2024
456239c
Powershell: only attempt credentials on Windows currently
webprofusion-chrisc Feb 21, 2024
b7298fa
API: use user_id as jwt claim, enable caching
webprofusion-chrisc Feb 21, 2024
15bbdef
Standardise app data folder path creation/retrieval
webprofusion-chrisc Feb 22, 2024
b4a7828
Update common app data path creation
webprofusion-chrisc Feb 26, 2024
53ff580
Core: apply default app data ACL on create
webprofusion-chrisc Feb 26, 2024
619e543
Fix tests 462
webprofusion-chrisc Feb 26, 2024
d748293
Fix log level for access control
webprofusion-chrisc Feb 26, 2024
cf8db44
Fix tests
webprofusion-chrisc Feb 26, 2024
6f509ca
Docker: update step-ca to use less layers in build
webprofusion-chrisc Feb 26, 2024
eebd869
Cleanup
webprofusion-chrisc Feb 28, 2024
7f7d1e9
Tests: implement key acl tests
webprofusion-chrisc Feb 28, 2024
5771d60
Package updates
webprofusion-chrisc Mar 12, 2024
4b21d87
Renewal targets: skip if item not found
webprofusion-chrisc Mar 12, 2024
fd07538
Package updates
webprofusion-chrisc Mar 18, 2024
ed6b09b
Cleanup
webprofusion-chrisc Mar 18, 2024
de611dd
UI: skip cache update for external items, skip validation if item not…
webprofusion-chrisc Mar 26, 2024
db59078
Package updates
webprofusion-chrisc Mar 26, 2024
8e0ba20
Update build props
webprofusion-chrisc Mar 26, 2024
0f5995a
WIP: include external items in results
webprofusion-chrisc Mar 26, 2024
fcc6223
Package updates
webprofusion-chrisc Apr 18, 2024
3ece1e8
API client: configure await to allow for WPF dispatcher on async loads
webprofusion-chrisc Apr 18, 2024
592d977
Anvil: chain build - fallback to skipping chain build if no issuers k…
webprofusion-chrisc May 1, 2024
2f2a8e2
ARI: update CertID computation. Remove older draft of Update method
webprofusion-chrisc May 1, 2024
391e928
Fix ported change
webprofusion-chrisc May 2, 2024
168b04f
Package updates and fix build
webprofusion-chrisc May 5, 2024
93f8ba7
Package updates
webprofusion-chrisc May 6, 2024
2338f5d
Data store cleanup and simplify
webprofusion-chrisc May 8, 2024
98c347d
Cleanup
webprofusion-chrisc May 8, 2024
6b275f0
Package updates
webprofusion-chrisc May 8, 2024
d62d57d
Cleanup for nullability and warnings
webprofusion-chrisc May 13, 2024
25c428b
Package updates
webprofusion-chrisc May 18, 2024
47da455
Target AnyCPU and dotnet 9
webprofusion-chrisc Jun 4, 2024
7b177bd
Package updates
webprofusion-chrisc Jun 4, 2024
9cab033
Tasks: address compiler warning regarding argument order
webprofusion-chrisc Jun 4, 2024
27ca2f1
Cleanup
webprofusion-chrisc Jun 4, 2024
18ebc1d
Tests: update certid tests
webprofusion-chrisc Jun 4, 2024
9957e41
Package update
webprofusion-chrisc Jun 6, 2024
ba6a997
Misc cleanup
webprofusion-chrisc Jun 19, 2024
88288b8
Refactor methods in certify manager
webprofusion-chrisc Jun 24, 2024
c72daba
Code generation proj fixes
webprofusion-chrisc Jun 24, 2024
f6e77ad
Validation: Require any identifier
webprofusion-chrisc Jun 24, 2024
052f202
Request Certificate: only show exception message, not full stack trace
webprofusion-chrisc Jun 24, 2024
1399e17
WIP: multi instance hub
webprofusion-chrisc Jun 19, 2024
020160a
Svc: skip access control init for same version
webprofusion-chrisc Jun 28, 2024
a32351e
Cleanup
webprofusion-chrisc Jun 28, 2024
c82157d
Package update
webprofusion-chrisc Jul 1, 2024
0492c08
Management Hub: send regular heartbeat msg to hub
webprofusion-chrisc Jul 1, 2024
14d3d6a
Extend and add test for demo data generator
webprofusion-chrisc Jul 2, 2024
f112992
Add delete API option as generated source
webprofusion-chrisc Jul 2, 2024
0362c16
Implement status summary per instance
webprofusion-chrisc Jul 7, 2024
8fffc1b
Package update
webprofusion-chrisc Jul 7, 2024
a1d0344
Implement logging via ms logging extensions (with serilog)
webprofusion-chrisc Jul 9, 2024
8fa01bc
Implement per instance log fetch and item challenge config test
webprofusion-chrisc Jul 9, 2024
40ce951
Implement instance item preview, request, fix log reading
webprofusion-chrisc Jul 9, 2024
07cbd83
Package updates
webprofusion-chrisc Jul 10, 2024
4ddbbdd
Cleanup
webprofusion-chrisc Jul 10, 2024
96e2807
Package updates
webprofusion-chrisc Jul 16, 2024
11427d4
Update actions
webprofusion-chrisc Jul 16, 2024
6632c7b
Update dotnet version
webprofusion-chrisc Jul 17, 2024
d53d673
Test: fix primary domain test config
webprofusion-chrisc Jul 17, 2024
7225810
Powershell: improve script permission handling for impersonation acco…
webprofusion-chrisc Jul 17, 2024
c242ced
test build: specify project path
webprofusion-chrisc Jul 17, 2024
8eb5c36
Package updates
webprofusion-chrisc Jul 18, 2024
38a2f31
Minor updates to powershell manager
webprofusion-chrisc Jul 22, 2024
99a2653
Cleanup
webprofusion-chrisc Jul 28, 2024
aa32433
Package updates
webprofusion-chrisc Jul 31, 2024
594c6a3
Logging: fix debug log level
webprofusion-chrisc Aug 2, 2024
dcd3828
Add request throttling to http logging handler
webprofusion-chrisc Aug 2, 2024
a15d82c
Clean up and sync with release
webprofusion-chrisc Aug 5, 2024
d0d7237
Update DotNetCore_Unit_Tests_Win.yaml
webprofusion-chrisc Aug 6, 2024
6bd3140
Port changes from latest release
webprofusion-chrisc Aug 9, 2024
758b976
Cleanup
webprofusion-chrisc Aug 9, 2024
848d291
Update dev build props
webprofusion-chrisc Aug 12, 2024
174cbb3
Cleanup rebase from release branch
webprofusion-chrisc Aug 12, 2024
a9a2386
Package updates
webprofusion-chrisc Sep 4, 2024
26e3efb
Cert managers: Get provider info
webprofusion-chrisc Sep 9, 2024
f00ef95
Test: fix renewal hold to account for items exceeding max failures
webprofusion-chrisc Sep 10, 2024
e3a5cd2
Package updates
webprofusion-chrisc Sep 11, 2024
5191fab
Misc warnings for platform specific code
webprofusion-chrisc Sep 11, 2024
9b918d6
Optionally store certificate pem in config
webprofusion-chrisc Sep 11, 2024
f6d2004
Package updates and target net9
webprofusion-chrisc Sep 16, 2024
15723ae
Package updates
webprofusion-chrisc Sep 30, 2024
83ff888
Implement per instance get/add CA account
webprofusion-chrisc Oct 2, 2024
579dbbb
Package updates
webprofusion-chrisc Oct 9, 2024
b302e8e
Package Updates
webprofusion-chrisc Oct 14, 2024
e497c22
Tasks: implement task failed trigger
webprofusion-chrisc Oct 16, 2024
42039c7
Tests: cleanup
webprofusion-chrisc Oct 16, 2024
464f16d
Tidy up linux os name check
webprofusion-chrisc Oct 24, 2024
5d9cf9d
Package updates
webprofusion-chrisc Oct 24, 2024
e7d2634
Package Updates
webprofusion-chrisc Oct 29, 2024
e7ad9d8
Cleanup
webprofusion-chrisc Oct 29, 2024
d5252ee
Hub: implement per instance stored credentials
webprofusion-chrisc Oct 29, 2024
280fd75
Hub: implement instance and keyword filter of managed items
webprofusion-chrisc Oct 29, 2024
41a1f4a
Package updates
webprofusion-chrisc Oct 29, 2024
8e09794
API: dev listen all interfaces
webprofusion-chrisc Oct 29, 2024
a0c425c
Package Updates
webprofusion-chrisc Oct 30, 2024
2d57c3f
Implement per instance credential delete, dns zone lookup
webprofusion-chrisc Oct 30, 2024
408b2a0
Hub: use stateful reconnect to preserve connection info
webprofusion-chrisc Nov 1, 2024
cbf6257
Hub: reinstate instance heartbeat message
webprofusion-chrisc Nov 1, 2024
805893a
Implement per instance dns challenge providers
webprofusion-chrisc Nov 1, 2024
64d14e9
Hub: simplify and standardize command invocation
webprofusion-chrisc Nov 1, 2024
9c313ba
Deployment: skip store for non-windows
webprofusion-chrisc Nov 1, 2024
df5960d
PFX: use newer loader api on net9+
webprofusion-chrisc Nov 1, 2024
127d4b6
API cleanup
webprofusion-chrisc Nov 1, 2024
2596009
Package updates
webprofusion-chrisc Nov 1, 2024
fa88b62
API: update version info
webprofusion-chrisc Nov 1, 2024
ea8da2d
API route cleanup
webprofusion-chrisc Nov 1, 2024
e52b7c6
Cleanup
webprofusion-chrisc Nov 2, 2024
208feb7
Implement per instance CA edit
webprofusion-chrisc Nov 2, 2024
24cd8b4
Package updates
webprofusion-chrisc Nov 2, 2024
24c181e
Fix name typo and update error handling
webprofusion-chrisc Nov 5, 2024
2fe692b
Fall back to the CIM cmdlet when WMIC is deprecated.
jing8956 Nov 7, 2024
1fe8d30
API: per instance deployment task edit/execute, refactor
webprofusion-chrisc Nov 8, 2024
d039961
Cleanup
webprofusion-chrisc Nov 8, 2024
4143374
Fix access control store deletes
webprofusion-chrisc Nov 8, 2024
4bccd86
Update API
webprofusion-chrisc Nov 8, 2024
b0de33c
Hub model namespace refactoring
webprofusion-chrisc Nov 10, 2024
9b89c07
Package updates
webprofusion-chrisc Nov 13, 2024
ae7e77d
Access control: use generic config item for store
webprofusion-chrisc Nov 13, 2024
9391984
Begin Managed (DNS) Challenge implementation
webprofusion-chrisc Nov 13, 2024
b8dfe45
Update API name
webprofusion-chrisc Nov 13, 2024
5a89d44
Cloudflare: quote DNS TXT values
webprofusion-chrisc Nov 13, 2024
01b6677
Report managed instance os and client details
webprofusion-chrisc Nov 15, 2024
8d7893a
Package updates
webprofusion-chrisc Nov 18, 2024
0103809
Implement progress state reporting via mgmt hub
webprofusion-chrisc Nov 19, 2024
c06f804
Fix delete managed item per instance
webprofusion-chrisc Nov 19, 2024
f855dc5
Implement non-windows data protection
webprofusion-chrisc Nov 19, 2024
31bc285
Package updates
webprofusion-chrisc Nov 20, 2024
9cfc083
Implement per instance target server/item API and mgmt hub method src…
webprofusion-chrisc Dec 3, 2024
f6da2f6
Package updates
webprofusion-chrisc Dec 3, 2024
adcbc13
Package updates
webprofusion-chrisc Dec 4, 2024
9e7fd3e
Package updates
webprofusion-chrisc Dec 9, 2024
3baa832
Package updates
webprofusion-chrisc Dec 23, 2024
03448b6
Fix test - version test should be a future version
webprofusion-chrisc Dec 27, 2024
8507554
Package updates
webprofusion-chrisc Dec 31, 2024
541c3cc
Access Control: Expand list of controlled actions
webprofusion-chrisc Jan 1, 2025
b2ed48a
Implement API resource action access checks
webprofusion-chrisc Jan 2, 2025
786fe97
Begin implementation of API permissions
webprofusion-chrisc Jan 7, 2025
7e88853
Cleanup
webprofusion-chrisc Jan 7, 2025
1780730
Hub: provide method to change API url for mgtm hub instance reports to
webprofusion-chrisc Jan 13, 2025
75d1bec
Core: on non-windows generate all common cert components, including PFX
webprofusion-chrisc Jan 13, 2025
0602100
Cleanup
webprofusion-chrisc Jan 13, 2025
8ca8d17
Package update
webprofusion-chrisc Jan 17, 2025
b4f157e
Implement ACME Profiles (draft)
webprofusion-chrisc Jan 17, 2025
d1b8c03
Access control: implement scoped expiring/revokable access tokens
webprofusion-chrisc Jan 20, 2025
021a1c7
Implement API token access checks and refactor access checks
webprofusion-chrisc Jan 21, 2025
924851b
Access control: add access token admin methods, update role checks
webprofusion-chrisc Jan 22, 2025
a3130c7
Package updates
webprofusion-chrisc Jan 22, 2025
538c81c
Implement cache control headers for cert download API
webprofusion-chrisc Jan 23, 2025
f875a66
Update assigned access token API
webprofusion-chrisc Jan 23, 2025
c6439c3
Access control: add further role checks and update tests
webprofusion-chrisc Jan 23, 2025
77893ca
Package updates
webprofusion-chrisc Jan 28, 2025
b946b16
Implement per-instance cert multi-format export
webprofusion-chrisc Jan 28, 2025
c64f164
Cleanup
webprofusion-chrisc Jan 28, 2025
d2cbd0b
Rename Certify.Server.Api.Public to Certify.Server.Hub.Api
webprofusion-chrisc Jan 31, 2025
83c8910
Rename IsManagementHub setting to IsManagementHubService
webprofusion-chrisc Jan 31, 2025
5c11534
Mgmt hub: connect to hub after init as completed, refactoring
webprofusion-chrisc Feb 4, 2025
8fe601c
Package updates
webprofusion-chrisc Feb 4, 2025
9311c6e
Implement combined HubService for Hub API + Service Core
webprofusion-chrisc Feb 4, 2025
053551d
Debug: export providers that use credentials
webprofusion-chrisc Feb 4, 2025
3e7788b
Refactor and cleanup
webprofusion-chrisc Feb 4, 2025
cc6df2c
Mgmt Hub: perform commands directly if in-process instance present
webprofusion-chrisc Feb 4, 2025
753a131
WIP: systemd configs
webprofusion-chrisc Feb 4, 2025
ac2617b
WIP: direct messaging back to hub instead of over SignalR
webprofusion-chrisc Feb 4, 2025
8705963
Hub: implement direct comms with in-process instance back to hub
webprofusion-chrisc Feb 6, 2025
75a7d3c
Merge branch 'wip_directmgmt' into development
webprofusion-chrisc Feb 6, 2025
b01c261
Aspire: conditionally launch either combined hubservice or individual…
webprofusion-chrisc Feb 6, 2025
e4f44e6
PluginManager: support injecting plugin dependencies
webprofusion-chrisc Feb 6, 2025
6b5f8c2
Log to MS logging (in service) when logging to serilog
webprofusion-chrisc Feb 6, 2025
c80a26d
Managed Challenge: log result code on failure
webprofusion-chrisc Feb 6, 2025
7bdfdee
Cloudflare: log warning if zones fail to fetch
webprofusion-chrisc Feb 6, 2025
55e014f
Package updates
webprofusion-chrisc Feb 6, 2025
00af687
Access Control Boostrap: skip integrity checks for first run
webprofusion-chrisc Feb 6, 2025
1cafe1e
Managed Challenge plugin - log missing config
webprofusion-chrisc Feb 7, 2025
0bb93d8
Update README.md
webprofusion-chrisc Feb 8, 2025
f0f978c
net9locking with source generator
MarkCiliaVincenti Feb 8, 2025
f4cfb73
Fix Certify.UI.sln
MarkCiliaVincenti Feb 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
113 changes: 113 additions & 0 deletions .github/workflows/4_6_2_Core_Unit_Tests_Win.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
name: build and test .NET 4.6.2 Windows

on:
push:
pull_request:
branches: [ release, development ]
paths:
- '**.cs'
- '**.csproj'

env:
DOTNET_VERSION: '9.0.x' # The .NET SDK version to use

jobs:
build-and-test:
# if: ${{ ! always() }}
name: build-and-test-windows
runs-on: windows-latest
steps:
- name: Clone webprofusion/certify
uses: actions/checkout@master
with:
path: ./certify

- name: Clone webprofusion/anvil
uses: actions/checkout@master
with:
repository: webprofusion/anvil
ref: refs/heads/main
path: ./libs/anvil

- name: Clone webprofusion/certify-plugins (development branch push)
if: ${{ github.event_name == 'push' && (contains(github.ref_name, '_dev') || github.ref_name == 'development') }}
uses: actions/checkout@master
with:
repository: webprofusion/certify-plugins
ref: refs/heads/development
path: ./certify-plugins

- name: Clone webprofusion/certify-plugins (release branch push)
if: ${{ github.event_name == 'push' && (contains(github.ref_name, '_rel') || github.ref_name == 'release') }}
uses: actions/checkout@master
with:
repository: webprofusion/certify-plugins
ref: refs/heads/release
path: ./certify-plugins

- name: Clone webprofusion/certify-plugins (pull request)
if: ${{ github.event_name == 'pull_request' }}
uses: actions/checkout@master
with:
repository: webprofusion/certify-plugins
ref: ${{ github.base_ref }}
path: ./certify-plugins

- name: Setup .NET Core
uses: actions/setup-dotnet@master
with:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Setup Step CLI
run: |
Invoke-WebRequest -Method 'GET' -uri 'https://dl.smallstep.com/gh-release/cli/docs-cli-install/v0.24.4/step_windows_0.24.4_amd64.zip' -Outfile 'C:\temp\step_windows_0.24.4_amd64.zip'
tar -oxzf C:\temp\step_windows_0.24.4_amd64.zip -C "C:\Program Files"
echo "C:\Program Files\step_0.24.4\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

- name: Pull step-ca Docker Image
run: docker pull webprofusion/step-ca-win

- name: Cache NuGet Dependencies
uses: actions/cache@v3
with:
path: ~/.nuget/packages
# Look to see if there is a cache hit for the corresponding requirements file
key: ${{ runner.os }}-4.6.2-nuget-${{ hashFiles('./certify/src/Certify.Tests/Certify.Core.Tests.Unit/*.csproj') }}
restore-keys: |
${{ runner.os }}-4.6.2-nuget

- name: Install Dependencies & Build Certify.Core.Tests.Unit
run: |
dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.2.0
dotnet add package GitHubActionsTestLogger
dotnet build -c Debug -f net462 --property WarningLevel=0 /clp:ErrorsOnly
working-directory: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit

- name: Run Certify.Core.Tests.Unit Tests
run: |
$env:GITHUB_WORKSPACE="$env:GITHUB_WORKSPACE\certify"
$env:GITHUB_STEP_SUMMARY=".\TestResults-${{ runner.os }}\test-summary.md"
dotnet test --no-build -f net462 -l "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true;annotations.messageFormat=@error\n@trace"
working-directory: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit

- name: Generated Test Results Report
run: |
echo "# Test Results" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Encoding utf8
(Get-Content -Path .\TestResults-${{ runner.os }}\test-summary.md).Replace('<details>', '<details open>') | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
working-directory: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit
if: ${{ always() }}

- name: Generated Test Coverage Report
run: |
reportgenerator -reports:./TestResults-${{ runner.os }}/*/*.cobertura.xml -targetdir:./TestResults-${{ runner.os }} -reporttypes:MarkdownSummaryGithub "-title:Test Coverage"
Get-Content -Path ./TestResults-${{ runner.os }}/SummaryGithub.md | Out-File -FilePath $env:GITHUB_STEP_SUMMARY
working-directory: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit
if: ${{ always() }}

# - name: Upload dotnet test Artifacts
# uses: actions/upload-artifact@master
# with:
# name: dotnet-results-${{ runner.os }}-${{ env.DOTNET_VERSION }}
# path: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit/TestResults-4_6_2-${{ runner.os }}
# # Use always() to always run this step to publish test results when there are test failures
# if: ${{ always() }}
116 changes: 116 additions & 0 deletions .github/workflows/DotNetCore_Unit_Tests_Linux.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
name: build and test .NET Core 9.0 Linux

on:
push:
pull_request:
branches: [ release, development ]
paths:
- '**.cs'
- '**.csproj'

env:
DOTNET_VERSION: '9.0.x' # The .NET SDK version to use

jobs:
build-and-test:

name: build-and-test-linux
runs-on: ubuntu-latest
steps:
- name: Clone webprofusion/certify
uses: actions/checkout@master
with:
path: ./certify

- name: Clone webprofusion/anvil
uses: actions/checkout@master
with:
repository: webprofusion/anvil
ref: refs/heads/main
path: ./libs/anvil

- name: Clone webprofusion/certify-plugins (development branch push)
if: ${{ github.event_name == 'push' && (contains(github.ref_name, '_dev') || github.ref_name == 'development') }}
uses: actions/checkout@master
with:
repository: webprofusion/certify-plugins
ref: refs/heads/development
path: ./certify-plugins

- name: Clone webprofusion/certify-plugins (release branch push)
if: ${{ github.event_name == 'push' && (contains(github.ref_name, '_rel') || github.ref_name == 'release') }}
uses: actions/checkout@master
with:
repository: webprofusion/certify-plugins
ref: refs/heads/release
path: ./certify-plugins

- name: Clone webprofusion/certify-plugins (pull request)
if: ${{ github.event_name == 'pull_request' }}
uses: actions/checkout@master
with:
repository: webprofusion/certify-plugins
ref: ${{ github.base_ref }}
path: ./certify-plugins

- name: Setup .NET Core
uses: actions/setup-dotnet@master
with:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Setup Step CLI
run: |
wget https://dl.smallstep.com/gh-release/cli/docs-cli-install/v0.23.0/step-cli_0.23.0_amd64.deb
sudo dpkg -i step-cli_0.23.0_amd64.deb

- name: Pull step-ca Docker Image
run: docker pull smallstep/step-ca

- name: Cache NuGet Dependencies
uses: actions/cache@v3
with:
path: ~/.nuget/packages
# Look to see if there is a cache hit for the corresponding requirements file
key: ${{ runner.os }}-${{ env.DOTNET_VERSION }}-nuget-${{ hashFiles('./certify/src/Certify.Tests/Certify.Core.Tests.Unit/*.csproj') }}
restore-keys: |
${{ runner.os }}-${{ env.DOTNET_VERSION }}-nuget

- name: Install Dependencies & Build Certify.Core.Tests.Unit
run: |
dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.3.8
dotnet add package GitHubActionsTestLogger
dotnet restore -f net9.0
pwd
ls
dotnet build -c Debug -f net9.0 --property WarningLevel=0 /clp:ErrorsOnly
working-directory: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit

- name: Run Certify.Core.Tests.Unit Tests
run: |
export GITHUB_WORKSPACE="$GITHUB_WORKSPACE/certify"
export GITHUB_STEP_SUMMARY="./TestResults-${{ runner.os }}/test-summary.md"
dotnet test --no-build -f net9.0 -l "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true;annotations.messageFormat=@error\n@trace"
working-directory: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit

- name: Generate Test Results Report
run: |
echo "# Test Results" > $GITHUB_STEP_SUMMARY
sed -i 's/<details>/<details open>/g' ./TestResults-${{ runner.os }}/test-summary.md
cat ./TestResults-${{ runner.os }}/test-summary.md >> $GITHUB_STEP_SUMMARY
working-directory: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit
if: ${{ always() }}

- name: Generated Test Coverage Report
run: |
reportgenerator -reports:./TestResults-${{ runner.os }}/*/*.cobertura.xml -targetdir:./TestResults-${{ runner.os }} -reporttypes:MarkdownSummaryGithub "-title:Test Coverage"
cat ./TestResults-${{ runner.os }}/SummaryGithub.md > $GITHUB_STEP_SUMMARY
working-directory: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit
if: ${{ always() }}

# - name: Upload dotnet test Artifacts
# uses: actions/upload-artifact@master
# with:
# name: dotnet-results-${{ runner.os }}-${{ env.DOTNET_VERSION }}
# path: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit/TestResults-9_0-${{ runner.os }}
# # Use always() to always run this step to publish test results when there are test failures
# if: ${{ always() }}
114 changes: 114 additions & 0 deletions .github/workflows/DotNetCore_Unit_Tests_Win.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: build and test .NET Core 9.0 Windows

on:
push:
pull_request:
branches: [ release, development ]
paths:
- '**.cs'
- '**.csproj'

env:
DOTNET_VERSION: '9.0.x' # The .NET SDK version to use

jobs:
build-and-test:

name: build-and-test-windows
runs-on: windows-latest
steps:
- name: Clone webprofusion/certify
uses: actions/checkout@master
with:
path: ./certify

- name: Clone webprofusion/anvil
uses: actions/checkout@master
with:
repository: webprofusion/anvil
ref: refs/heads/main
path: ./libs/anvil

- name: Clone webprofusion/certify-plugins (development branch push)
if: ${{ github.event_name == 'push' && (contains(github.ref_name, '_dev') || github.ref_name == 'development') }}
uses: actions/checkout@master
with:
repository: webprofusion/certify-plugins
ref: refs/heads/development
path: ./certify-plugins

- name: Clone webprofusion/certify-plugins (release branch push)
if: ${{ github.event_name == 'push' && (contains(github.ref_name, '_rel') || github.ref_name == 'release') }}
uses: actions/checkout@master
with:
repository: webprofusion/certify-plugins
ref: refs/heads/release
path: ./certify-plugins

- name: Clone webprofusion/certify-plugins (pull request)
if: ${{ github.event_name == 'pull_request' }}
uses: actions/checkout@master
with:
repository: webprofusion/certify-plugins
ref: ${{ github.base_ref }}
path: ./certify-plugins

- name: Setup .NET Core
uses: actions/setup-dotnet@master
with:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Setup Step CLI
run: |
Invoke-WebRequest -Method 'GET' -uri 'https://dl.smallstep.com/gh-release/cli/docs-cli-install/v0.24.4/step_windows_0.24.4_amd64.zip' -Outfile 'C:\temp\step_windows_0.24.4_amd64.zip'
tar -oxzf C:\temp\step_windows_0.24.4_amd64.zip -C "C:\Program Files"
echo "C:\Program Files\step_0.24.4\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

- name: Pull step-ca Docker Image
run: docker pull webprofusion/step-ca-win

- name: Cache NuGet Dependencies
uses: actions/cache@v3
with:
path: ~/.nuget/packages
# Look to see if there is a cache hit for the corresponding requirements file
key: ${{ runner.os }}-${{ env.DOTNET_VERSION }}-nuget-${{ hashFiles('./certify/src/Certify.Tests/Certify.Core.Tests.Unit/*.csproj') }}
restore-keys: |
${{ runner.os }}-${{ env.DOTNET_VERSION }}-nuget

- name: Install Dependencies & Build Certify.Core.Tests.Unit
run: |
dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.2.0
dotnet add package GitHubActionsTestLogger
dotnet restore -f net9.0
dotnet build Certify.Core.Tests.Unit.csproj -c Debug -f net9.0 --property WarningLevel=0 /clp:ErrorsOnly
working-directory: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit

- name: Run Certify.Core.Tests.Unit Tests
run: |
$env:GITHUB_WORKSPACE="$env:GITHUB_WORKSPACE\certify"
$env:GITHUB_STEP_SUMMARY=".\TestResults-${{ runner.os }}\test-summary.md"
dotnet test --no-build -f net9.0 -l "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true;annotations.messageFormat=@error\n@trace"
working-directory: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit

- name: Generate Test Results Report
run: |
echo "# Test Results" | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Encoding utf8
(Get-Content -Path .\TestResults-${{ runner.os }}\test-summary.md).Replace('<details>', '<details open>') | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
working-directory: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit
if: ${{ always() }}

- name: Generated Test Coverage Report
run: |
reportgenerator -reports:./TestResults-${{ runner.os }}/*/*.cobertura.xml -targetdir:./TestResults-${{ runner.os }} -reporttypes:MarkdownSummaryGithub "-title:Test Coverage"
Get-Content -Path ./TestResults-${{ runner.os }}/SummaryGithub.md | Out-File -FilePath $env:GITHUB_STEP_SUMMARY
working-directory: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit
if: ${{ always() }}

# - name: Upload dotnet test Artifacts
# uses: actions/upload-artifact@master
# with:
# name: dotnet-results-${{ runner.os }}-${{ env.DOTNET_VERSION }}
# path: ./certify/src/Certify.Tests/Certify.Core.Tests.Unit/TestResults-9_0-${{ runner.os }}
# # Use always() to always run this step to publish test results when there are test failures
# if: ${{ always() }}
13 changes: 9 additions & 4 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
<Project>
<PropertyGroup>
<Version>6.1.0</Version>
<AssemblyVersion>6.1.0</AssemblyVersion>
<Version>7.0.0</Version>
<AssemblyVersion>7.0.0</AssemblyVersion>
<Authors>Webprofusion Pty Ltd</Authors>
<Company>Webprofusion Pty Ltd</Company>
<Product>Certify Community Edition [via github]</Product>
<Product>Certify Certificate Manager - Community Edition [dev version via github]</Product>
<PackageProjectUrl>https://certifytheweb.com</PackageProjectUrl>
<RepositoryUrl>https://github.com/webprofusion/certify</RepositoryUrl>
<Deterministic>false</Deterministic>
<DebugSymbols>true</DebugSymbols>
<DebugType>portable</DebugType>
<DebugType>full</DebugType>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<PropertyGroup>
<Configuration Condition="'$(OS)|$(Configuration)' == 'UNIX|Debug'"></Configuration>
<DebugType>portable</DebugType>
</PropertyGroup>
</Project>
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ Windows ACME Certificate Manager, powered by [Let's Encrypt](https://letsencrypt

**Certify The Web is used by hundreds of thousands of organisations to manage millions of certificates each month** and is the perfect solution for administrators who want visibility of certificate management for their domains. Centralised dashboard status reporting is also available.

![Stars](
https://img.shields.io/github/stars/webprofusion/certify.svg)
**If you use our app, spread the word and don't forget to Star us on GitHub!**

![Certify App Screenshot](docs/images/app-screenshot.png)

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading