a7012fbd12
* add release script * updated changelog --------- Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
68 lines
2.9 KiB
YAML
68 lines
2.9 KiB
YAML
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
|
|
|
|
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@v3
|
|
- 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 ::set-output name=version::$(echo ${{github.ref_name}} | sed -e 's/^vbacnet-stack-// -e 's/-/./')
|
|
echo ::set-output name=tool::$(echo ${{github.ref_name}} | sed -e 's/stack/tool/ -e 's/-/./')
|
|
echo ::set-output name=archive::$(echo ${{github.ref_name}} | sed 's/-/./')
|
|
- name: ZIP Win32 Apps
|
|
run: |
|
|
zip -r ${{steps.vars.outputs.tool}} ./bin/*.exe ./bin/readme.txt ./apps/mstpcap/mstpcap.txt
|
|
- 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: |
|
|
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.tool}}"
|
|
url_source: "$url/bacnet-tools/${{steps.vars.outputs.archive}}"
|
|
steps:
|
|
- name: Upload tools to sf.net as default download for Windows
|
|
run: |
|
|
curl -H $accept -X PUT -d $default_win -d $api_key -d $url_tools
|
|
curl -H $accept -X PUT -d ${{steps.vars.outputs.tool}}.zip -d $api_key -d $url_tools
|
|
curl -H $accept -X PUT -d ./bin/readme.txt -d $api_key -d $url_tools
|
|
- name: Upload archive to sf.net as default download for POSIX
|
|
run: |
|
|
curl -H $accept -X PUT -d $default_posix -d $api_key -d $url
|
|
curl -H $accept -X PUT -d ${{steps.vars.outputs.archive}}.zip -d $api_key -d $url_tools
|
|
curl -H $accept -X PUT -d ${{steps.vars.outputs.archive}}.tgz -d $api_key -d $url_tools
|
|
curl -H $accept -X PUT -d ./README.md -d $api_key -d $url_tools
|
|
curl -H $accept -X PUT -d ./SECURITY.md -d $api_key -d $url_tools
|
|
curl -H $accept -X PUT -d ./CHANGELOG.md -d $api_key -d $url_tools
|