Skip to content

library

library #26

name: upload_artifact
on:
workflow_dispatch:
push:
branches: [main]
paths:
- "library.json"
- "CHANGELOG.md"
jobs:
upload_artifact:
name: Build Docker image
runs-on: ubuntu-latest
env:
CI: false
appname: library
steps:
- uses: actions/checkout@v2
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: Update CHANGELOG.md
id: update_data
run: |
changelog=$(cat changelog_latest.md)
echo "CHANGELOG<<EOF" >> $GITHUB_OUTPUT
echo "$changelog" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
current_date=$(date +%Y-%m-%d)
printf "## ${{ steps.convert_version.outputs.VERSION }} release on $current_date\n$changelog\n$(cat CHANGELOG.md)" > temp.txt
mv temp.txt CHANGELOG.md
# - name: Commit and push changes
# uses: stefanzweifel/git-auto-commit-action@v4
# with:
# commit_message: Build Plugin For Release
- name: Create Zip Archive
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 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 Release
uses: softprops/action-gh-release@v1
with:
files: |
${{ env.appname }}.json
tag_name: ${{ steps.convert_version.outputs.VERSION }}
title: Release-${{ steps.convert_version.outputs.VERSION }}
body: ${{ steps.update_data.outputs.CHANGELOG }}
draft: false
prerelease: false