Files
bacnet_stack/.github/workflows/release.yml
T
dependabot[bot] bc8c261153 Bump actions/checkout from 3 to 4 (#484)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-06 13:53:52 -05:00

73 lines
3.2 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@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 ::set-output name=version::$(echo ${{github.ref_name}} | sed -e 's/^vbacnet-stack-//')
echo ::set-output name=tools::$(echo ${{github.ref_name}} | sed -e 's/stack/tools/')
echo ::set-output name=archive::$(echo ${{github.ref_name}})
- 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: |
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}}"
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.tools}}.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_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