Skip to content

update .github/workflows/check.yaml (#153) #56

update .github/workflows/check.yaml (#153)

update .github/workflows/check.yaml (#153) #56

Workflow file for this run

# This file is centrally managed as a template file in https://github.com/canonical/solutions-engineering-automation
# To update the file:
# - Edit it in the canonical/solutions-engineering-automation repository.
# - Open a PR with the changes.
# - When the PR merges, the soleng-terraform bot will open a PR to the target repositories with the changes.
name: Release to Edge
on:
push:
branches: [ main ]
release:
types: [ published ]
jobs:
check:
uses: ./.github/workflows/check.yaml
secrets: inherit
release:
needs: check
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Download the tested charms
uses: actions/download-artifact@v4
with:
pattern: built_charms_*
merge-multiple: true
- name: List the names of the tested charms
run: |
echo "CHARM_NAMES=$(ls *.charm | paste -sd ,)" | tee -a "$GITHUB_ENV"
- name: Pack and upload to charmhub
uses: canonical/charming-actions/[email protected]
with:
credentials: "${{ secrets.CHARMHUB_TOKEN }}"
github-token: "${{ secrets.GITHUB_TOKEN }}"
built-charm-path: "${{ env.CHARM_NAMES }}"
notify-on-release-failure:
runs-on: ubuntu-latest
needs:
- check
- release
if: failure()
steps:
- name: Comment on commit if release workflow fails
uses: actions/github-script@v7
with:
script: |
const failedJobs = ${{ toJSON(needs) }};
let failedJobNames = Object.keys(failedJobs).filter(job => failedJobs[job].result === 'failure');
const body = [
"# Release workflow: ${{ github.workflow }} failed!",
"**Failed jobs**: " + (failedJobNames.join(', ') || 'unknown'),
"**Check details**: [View run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})",
"@canonical/solutions-engineering"
].join('\n');
await github.rest.repos.createCommitComment({
owner: context.repo.owner,
repo: context.repo.repo,
commit_sha: context.sha,
body: body
});
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}