- The v3 Actions make use of doctool
- Polaris SAST/SCA scans run on push to release and main branches
- All actions are being migrated to forks in the keyfactor org for security hardening purposes. AB#55122
- Access to 3rd party actions will be restrcited in the keyfactor org
- The keyfactor-action-staging organization can be used for developing workflows that will need to be transferred to the keyfactor org before making it public
These workflows are designed to work with the latest keyfactor-bootstrap-workflow.yml "Keyfactor Bootstrap v3 Workflow"
- Checkout integration repository
- Get values from integration-manifest.json [assign-env-from-json]
- Discover primary programming language from the repository [action-get-primary-language]
- Determine event_name: create, push, pull_request, workflow_dispatch [github-release]
- Run the workflows and conditionalized steps to produce a build. If conditions match, release artifacts are delivered [dotnet-build-and-release | go-build-and-release]
- Configure repository settings - This will use the properties from the json to update topic and description, and will set the teams permissions on the repo accordingly. If the ref created is a branch that matches "release-*.*", branch protection is added, autlink reference set ab# to devops [kf-configure-repo]
- Just run the build on the branch with the commit without producing release artifacts
-
- C#: run the dotnet-build-and-release.yml workflow
-
- Go builds: run the go-build-and-release.yml workflow (still in progress)
- All languages: Generate a readme using doctool and (conditionally) a catalog entry [generate-readme, update-catalog]
[dotnet-build-and-release | go-build-and-release]
- If the pr destination is a release-. branch, set flags to produce release artifacts
- If the pr is determined to be open or merged but not closed (synchronize), a prerelease artifact will be uploaded
- If the pr is determined to be merged and closed, a final release is built
- Polaris SAST/SCAN scans run when push to release-* or main occurs
- Remove default admin user when applying branch protection
- Add overrides for detected language, readme build(?), etc. into json manifest
- Set repo license