Skip to content

ci: Publish bundle to charmhub #18

ci: Publish bundle to charmhub

ci: Publish bundle to charmhub #18

name: Publish bundle to charmhub
on:
push:
branches:
- main
- track/**
paths:
- releases/**
# only for testing purposes
pull_request:
paths:
- releases/**
jobs:
get-releases-affected:
name: Get releases affected
runs-on: ubuntu-22.04
outputs:
releases_affected: ${{ steps.get-releases-affected.outputs.releases_affected_json }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Get files changed
id: changed-files
uses: tj-actions/changed-files@v37
- name: Get releases affected
id: get-releases-affected
run: python scripts/get_releases_affected.py ${{ steps.changed-files.outputs.all_changed_files }}
run-tests-and-publish-bundle-for-releases-affected:
name: Publish bundle for releases affected to corresponding Charmhub channels
runs-on: ubuntu-22.04
needs: [get-releases-affected]
strategy:
fail-fast: false
matrix:
release: ${{ fromJson(needs.get-releases-affected.outputs.releases_affected) }}
steps:
- uses: actions/checkout@v3
- name: Get bundle path for current release
id: bundle-path
run: python scripts/get_bundle_path.py ${{ matrix.release }}
# - name: Run tests for bundle release ${{ matrix.release }}
# uses: action-for-bundle-tests
# with:
# bundle-path: ${{ steps.bundle-path.outputs.bundle_path }}
- name: Publish bundle for release ${{ matrix.release }} to Charmhub
run: |
echo release is ${{ matrix.release }}
echo bundle path is ${{ steps.bundle-path.outputs.bundle_path }}
# uses: canonical/charming-actions/[email protected]
# with:
# credentials: ${{ secrets.CHARMCRAFT_CREDENTIALS }}
# github-token: ${{ secrets.GITHUB_TOKEN }}
# bundle-path: ${{ steps.bundle-path.outputs.bundle_path }}
# channel: ${{ matrix.release }}