Release and Deploy collection #16
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Release and Deploy collection | |
on: | |
workflow_dispatch: | |
jobs: | |
releaseanddeploy: | |
runs-on: ubuntu-latest | |
if: github.repository == 'mgit-at/ansible-collection-mgssl' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run ansible-test | |
uses: ./.github/workflows/ansible-test.yml@main | |
- name: Get current version | |
id: cversion | |
run: echo "::set-output name=version::$(grep version galaxy.yml | cut -f 2 -d ' ')" | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: v${{ steps.cversion.outputs.version }} | |
release_name: Release v${{ steps.cversion.outputs.version }} | |
body: | | |
![Release and Deploy collection](https://github.com/mgit-at/ansible-collection-mgssl/workflows/Release%20and%20Deploy%20collection/badge.svg) | |
Install over Ansible Galaxy: | |
```sh | |
ansible-galaxy collection install mgit_at.mgssl | |
``` | |
Install from the Github repositority with: | |
```sh | |
ansible-galaxy collection install -r requirements.yml -f | |
``` | |
The requirements.yml needs to have the following format and content: | |
```yaml | |
--- | |
collections: | |
- https://github.com/mgit-at/ansible-collection-mgssl/releases/download/v${{ steps.cversion.outputs.version }}/mgit_at-mgssl-${{ steps.cversion.outputs.version }}.tar.gz | |
``` | |
draft: false | |
prerelease: false | |
- name: Upload Release Asset | |
id: upload-release-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: mgit_at-mgssl-${{ steps.cversion.outputs.version }}.tar.gz | |
asset_name: mgit_at-mgssl-${{ steps.cversion.outputs.version }}.tar.gz | |
asset_content_type: application/tar+gzip | |
- name: Deploy Ansible collection to Galaxy | |
run: ansible-galaxy collection publish mgit_at-mgssl-${{ steps.cversion.outputs.version }}.tar.gz --api-key ${{ secrets.GALAXY_API_KEY }} |