Skip to content

Release to Github and artifact #3

Release to Github and artifact

Release to Github and artifact #3

Workflow file for this run

name: Release to Github and artifact
on:
workflow_dispatch:
push:
branches: [main]
paths:
- "library.json"
- "CHANGELOG.md"
jobs:
release:
name: Release to github and artifact
runs-on: ubuntu-latest
env:
CI: false
appname: library
steps:
- uses: actions/checkout@v3
name: Check out code
- name: Version convert
id: convert_version
run: |
version=$(jq -r '.Version' "${{ env.appname }}.json")
version_core=${version%%-*}
echo "VERSION=$version" >> $GITHUB_OUTPUT
echo "VERSION_CORE=$version_core" >> $GITHUB_OUTPUT
if [[ $version == *-* ]]; then
echo "rc release version"
echo "CHANNEL=dev" >> $GITHUB_OUTPUT
else
echo "release version"
echo "CHANNEL=release" >> $GITHUB_OUTPUT
fi
- name: Create Zip Archive for artifact
run: |
mkdir ${{ env.appname }} artifacts
cp -r apps ${{ env.appname }}
cp -r docs ${{ env.appname }}
cp -r template ${{ env.appname }}
cp *.md ${{ env.appname }}
cp ${{ env.appname }}.json ${{ env.appname }}
cp ${{ env.appname }}.json CHANGELOG.md artifacts
zip -r ${{ env.appname }}-${{ steps.convert_version.outputs.VERSION_CORE }}.zip ${{ env.appname }}
cp ${{ env.appname }}-${{ steps.convert_version.outputs.VERSION_CORE }}.zip artifacts
cp artifacts/${{ env.appname }}-${{ steps.convert_version.outputs.VERSION_CORE }}.zip artifacts/${{ env.appname }}-latest.zip
- name: Upload zip files to Azure Blob
uses: LanceMcCarthy/Action-AzureBlobUpload@v2
with:
connection_string: ${{ secrets.AZURE_STORAGE_ARTIFACT }}
container_name: ${{ steps.convert_version.outputs.CHANNEL }}
source_folder: artifacts/
destination_folder: ./websoft9/plugin/${{ env.appname }}
delete_if_exists: true
fail_if_source_empty: true
- name: Create Github Release from code
uses: softprops/action-gh-release@v1
with:
files: |
${{ env.appname }}.json
tag_name: ${{ steps.convert_version.outputs.VERSION }}
name: Release-${{ steps.convert_version.outputs.VERSION }}
body: ${{ steps.update_data.outputs.CHANGELOG }}
draft: false
prerelease: false
pages:
name: Build Github Pages
permissions:
contents: read
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
# Upload entire repository
path: '.'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v3