Skip to content

codegen: unify exception preparation (#1152) #281

codegen: unify exception preparation (#1152)

codegen: unify exception preparation (#1152) #281

Workflow file for this run

name: Publish built artifacts
on:
push:
branches:
- devel
# Run every script actions in bash
defaults:
run:
shell: bash
# Since we will be pushing, make sure that only one instance can run at a time.
concurrency: publisher
jobs:
publisher:
runs-on: ubuntu-latest
permissions:
actions: read
contents: write
environment:
name: release
url: ${{ steps.release.outputs.url }}
steps:
# Publish action needs a checkout
- uses: actions/checkout@v4
# Download the latest instance of artifacts from a build done previously
- name: Download generated docs
uses: dawidd6/[email protected]
with:
workflow: ci.yml
workflow_conclusion: success
commit: ${{ github.event.after }}
# Keep up-to-date with ci.yml
name: Generated docs
path: doc/html
- name: Download generated source archive
uses: dawidd6/[email protected]
with:
workflow: ci.yml
workflow_conclusion: success
commit: ${{ github.event.after }}
# Keep up-to-date with ci.yml
name: source archive
path: release-staging
- name: Download generated release binaries
uses: dawidd6/[email protected]
with:
workflow: ci.yml
workflow_conclusion: success
commit: ${{ github.event.after }}
# Keep up-to-date with ci.yml
name: release binaries.*
name_is_regexp: true
path: release-staging
- name: Download release manifest tool
uses: dawidd6/[email protected]
with:
workflow: ci.yml
workflow_conclusion: success
commit: ${{ github.event.after }}
# Keep up-to-date with ci.yml
name: release manifest tool
path: release-staging
- name: Publish docs
uses: JamesIves/[email protected]
with:
branch: gh-pages
folder: doc/html
- id: release-files
name: Create release manifest
run: |
# Move the release binaries to the current folder
for d in "release binaries "*; do
mv -v "$d"/* .
done
# Github Artifacts strip executable permissions so it has to be set again
chmod 755 release_manifest
# Create a new release manifest
./release_manifest add *.json
toUpload=$(./release_manifest files-to-upload)
delimiter=EOF-$(uuidgen)
cat <<EOF >> $GITHUB_OUTPUT
result<<$delimiter
$toUpload
$delimiter
EOF
echo "version=$(./release_manifest version)" >> $GITHUB_OUTPUT
working-directory: release-staging
- id: release
name: Create pre-release
uses: softprops/[email protected]
with:
prerelease: true
files: ${{ steps.release-files.outputs.result }}
tag_name: ${{ steps.release-files.outputs.version }}
fail_on_unmatched_files: true
target_commitish: ${{ github.event.after }}
body: |
Continuous delivery for commit ${{ github.event.after }}