added release script
This commit is contained in:
@@ -1,72 +0,0 @@
|
|||||||
name: Release sf.net
|
|
||||||
# script adapted from
|
|
||||||
# https://sourceforge.net/p/forge/documentation/Using%20the%20Release%20API/
|
|
||||||
#
|
|
||||||
# github docs
|
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/variables
|
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/expressions
|
|
||||||
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
# Pattern matched against refs/tags
|
|
||||||
tags:
|
|
||||||
- 'bacnet-stack-[0-9]+.[0-9]+.[0-9]+'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
release:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Create Build Environment
|
|
||||||
run: |
|
|
||||||
sudo apt-get update -qq
|
|
||||||
sudo apt-get install -qq build-essential
|
|
||||||
sudo apt-get install -qq mingw-w64
|
|
||||||
- name: Build Win32 Apps
|
|
||||||
run: |
|
|
||||||
export CC=i686-w64-mingw32-gcc
|
|
||||||
export LD=i686-w64-mingw32-ld
|
|
||||||
i686-w64-mingw32-gcc --version
|
|
||||||
make win32
|
|
||||||
- name: Extract Version
|
|
||||||
id: vars
|
|
||||||
run: |
|
|
||||||
echo version=$(echo ${{github.ref_name}} | sed -e 's/^vbacnet-stack-//') >> $GITHUB_OUTPUT
|
|
||||||
echo tools=$(echo ${{github.ref_name}} | sed -e 's/stack/tools/') >> $GITHUB_OUTPUT
|
|
||||||
echo archive=$(echo ${{github.ref_name}}) >> $GITHUB_OUTPUT
|
|
||||||
- name: ZIP Win32 Apps
|
|
||||||
run: |
|
|
||||||
mkdir ./${{steps.vars.outputs.tools}}
|
|
||||||
cp ./bin/*.exe ./${{steps.vars.outputs.tools}}
|
|
||||||
cp ./bin/bvlc.bat ./${{steps.vars.outputs.tools}}
|
|
||||||
cp ./bin/readme.txt ./${{steps.vars.outputs.tools}}
|
|
||||||
cp ./apps/mstpcap/mstpcap.txt ./${{steps.vars.outputs.tools}}
|
|
||||||
zip -r ${{steps.vars.outputs.tools}}.zip ./${{steps.vars.outputs.tools}}/*
|
|
||||||
- name: ZIP Source Code
|
|
||||||
run: |
|
|
||||||
git archive --format zip --output ${{steps.vars.outputs.archive}}.zip ${{github.ref_name}}
|
|
||||||
- name: TGZ Source Code
|
|
||||||
run: |
|
|
||||||
git archive --format tgz --output ${{steps.vars.outputs.archive}}.tgz ${{github.ref_name}}
|
|
||||||
- name: Deploy to sf.net
|
|
||||||
run: |
|
|
||||||
# Upload tools to sf.net as default download for Windows
|
|
||||||
curl -H $accept -X PUT -d $default_win -d $api_key -d $url_tools
|
|
||||||
curl -H $accept -X PUT -d ${{steps.vars.outputs.tools}}.zip -d $api_key -d $url_tools
|
|
||||||
curl -H $accept -X PUT -d ./bin/readme.txt -d $api_key -d $url_tools
|
|
||||||
# Upload archive to sf.net as default download for POSIX
|
|
||||||
curl -H $accept -X PUT -d $default_posix -d $api_key -d $url_source
|
|
||||||
curl -H $accept -X PUT -d ${{steps.vars.outputs.archive}}.zip -d $api_key -d $url_source
|
|
||||||
curl -H $accept -X PUT -d ${{steps.vars.outputs.archive}}.tgz -d $api_key -d $url_source
|
|
||||||
curl -H $accept -X PUT -d ./README.md -d $api_key -d $url_source
|
|
||||||
curl -H $accept -X PUT -d ./SECURITY.md -d $api_key -d $url_source
|
|
||||||
curl -H $accept -X PUT -d ./CHANGELOG.md -d $api_key -d $url_source
|
|
||||||
env:
|
|
||||||
api_key: ${{ secrets.SOURCEFORGE_RELEASE_API_KEY_SKARG }}
|
|
||||||
default_win: "default=windows"
|
|
||||||
default_posix: "default=mac&default=linux&default=bsd&default=solaris&default=others"
|
|
||||||
accept: "Accept: application/json"
|
|
||||||
url: "https://sourceforge.net/projects/bacnet/files"
|
|
||||||
url_tools: "$url/bacnet-tools/${{steps.vars.outputs.tools}}"
|
|
||||||
url_source: "$url/bacnet-stack/${{steps.vars.outputs.archive}}"
|
|
||||||
Executable
+64
@@ -0,0 +1,64 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# script adapted from
|
||||||
|
# https://sourceforge.net/p/forge/documentation/Using%20the%20Release%20API/
|
||||||
|
# sudo apt-get update -qq
|
||||||
|
# sudo apt-get install -qq build-essential mingw-w64 curl git
|
||||||
|
|
||||||
|
USERNAME='skarg'
|
||||||
|
|
||||||
|
if [ -z "$1" ]
|
||||||
|
then
|
||||||
|
echo "Usage: `basename $0` 0.0.0"
|
||||||
|
echo "Builds the Win32 release files and uploads to sf.net"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
version="$1"
|
||||||
|
tools="bacnet-tools-$version"
|
||||||
|
tag_name="bacnet-stack-$version"
|
||||||
|
url_api='https://sourceforge.net/projects/bacnet/files'
|
||||||
|
url_frs="${USERNAME},bacnet@frs.sourceforge.net:/home/frs/project/b/ba/bacnet"
|
||||||
|
url_frs_tools="$url_frs/bacnet-tools"
|
||||||
|
url_frs_source="$url_frs/bacnet-stack"
|
||||||
|
|
||||||
|
echo "Build Win32 Apps"
|
||||||
|
export CC=i686-w64-mingw32-gcc
|
||||||
|
export LD=i686-w64-mingw32-ld
|
||||||
|
i686-w64-mingw32-gcc --version
|
||||||
|
make -s LEGACY=true win32
|
||||||
|
|
||||||
|
echo "ZIP Win32 Tools"
|
||||||
|
mkdir -p $tools
|
||||||
|
zip -r $tools/$tools.zip ./bin/*.exe
|
||||||
|
cp ./bin/bvlc.bat $tools
|
||||||
|
cp ./bin/readme.txt $tools
|
||||||
|
cp ./apps/mstpcap/mstpcap.txt $tools
|
||||||
|
|
||||||
|
echo "Upload Win32 Tools with SCP"
|
||||||
|
scp -r $tools $url_frs_tools
|
||||||
|
|
||||||
|
echo "ZIP Source Code for Tag $tag_name"
|
||||||
|
git archive --format zip --output $tag_name.zip $tag_name
|
||||||
|
|
||||||
|
echo "TGZ Source Code for Tag $tag_name"
|
||||||
|
git archive --format tgz --output $tag_name.tgz $tag_name
|
||||||
|
|
||||||
|
mkdir -p $tag_name
|
||||||
|
mv $tag_name.zip $tag_name
|
||||||
|
mv $tag_name.tgz $tag_name
|
||||||
|
cp CHANGELOG.md $tag_name
|
||||||
|
cp README.md $tag_name
|
||||||
|
cp SECURITY.md $tag_name
|
||||||
|
|
||||||
|
echo "Upload Source Code with SCP"
|
||||||
|
scp -r $tag_name $url_frs_source
|
||||||
|
|
||||||
|
#echo "Set the default download for Windows and POSIX"
|
||||||
|
#api_key=""api_key=$SOURCEFORGE_RELEASE_API_KEY_SKARG""
|
||||||
|
#default_win='"default=windows"'
|
||||||
|
#default_posix='"default=mac&default=linux&default=bsd&default=solaris&default=others"'
|
||||||
|
#accept='"Accept: application/json"'
|
||||||
|
#url_tools="$url_api/bacnet-tools/$tools/$tools.zip"
|
||||||
|
#url_source="$url_api/bacnet-stack/$tag_name/$tag_name.tgz"
|
||||||
|
#curl -H $accept -X PUT -d $default_win -d $api_key $url_tools
|
||||||
|
#curl -H $accept -X PUT -d $default_posix -d $api_key $url_source
|
||||||
Reference in New Issue
Block a user