Pushes a release package to Octopus Deploy.
Before this action runs:
- NuGet packages must have been created in the root-level
nugets
directory. - Any additional assets to be included in the GitHub release (like app executables) must be created in the root-level
assets
directory. - The following environment variables must have been set during the build by Particular.Packaging:
MinVerVersion
MinVerMajor
MinVerMinor
steps:
- name: Deploy
uses: Particular/[email protected]
with:
octopus-deploy-api-key: ${{ secrets.OCTOPUS_DEPLOY_API_KEY }}
This is used primarily for ServiceControl. One or more additional file patterns can be specified, one per line, that will be included in the root of the deployment package. Encoding this data as JSON files with ConvertTo-Json
in the workflow and ConvertFrom-Json
on the deployment server is recommended.
steps:
- name: Deploy
uses: Particular/[email protected]
with:
octopus-deploy-api-key: ${{ secrets.OCTOPUS_DEPLOY_API_KEY }}
additional-metadata-paths: metadata/*.json
steps:
- name: Deploy
uses: Particular/[email protected]
with:
octopus-deploy-api-key: ${{ secrets.OCTOPUS_DEPLOY_API_KEY }}
additional-metadata-paths: |
metadata/*.json
other-directory/*.txt
This action abstracts the following steps:
- Arranging NuGet packages and other assets on disk for packaging
- Creating a metadata file to pass version information to Octopus Deploy
- Packaging the content into a RepoName.Deploy package
- Publishing an
octopus-package
artifact to GitHub Actions - Pushing the deployment package to Octopus
- Creating the Octopus Deploy release
Because release workflows cannot be easily tested in each repo, combining these tasks into a single action allows running through CI using a fake "release" so that PRs can be merged with confidence.
The scripts and documentation in this project are released under the MIT License.