Skip to content

Commit fa756e4

Browse files
committed
Create release workflow
1 parent b50962b commit fa756e4

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

.github/workflows/release.yml

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Release new version
2+
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: write
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
SM_VERSION: ["1.10", "1.11"]
17+
18+
steps:
19+
- uses: actions/checkout@v2
20+
21+
- name: Install dependencies
22+
run: sudo apt install curl p7zip-full p7zip-rar
23+
24+
- name: Set environment variables
25+
run: |
26+
git fetch --unshallow
27+
VERSION=$(git describe --tags --abbrev=0)
28+
SOURCEMOD_PATH=$GITHUB_WORKSPACE/addons/sourcemod
29+
echo "PLUGIN_VERSION=${{ matrix.SM_VERSION }}.$VERSION" >> $GITHUB_ENV
30+
echo "SOURCEMOD_PATH=$SOURCEMOD_PATH" >> $GITHUB_ENV
31+
echo "SCRIPTS_PATH=$SOURCEMOD_PATH/scripting" >> $GITHUB_ENV
32+
echo "PLUGINS_PATH=$SOURCEMOD_PATH/plugins" >> $GITHUB_ENV
33+
echo "CONFIGS_PATH=$SOURCEMOD_PATH/configs" >> $GITHUB_ENV
34+
35+
- name: Setup SourcePawn Compiler ${{ matrix.SM_VERSION }}
36+
uses: rumblefrog/setup-sp@master
37+
with:
38+
version: ${{ matrix.SM_VERSION }}
39+
40+
- name: Set HexTags version
41+
run: |
42+
sed -i "s/<VERSION>/$PLUGIN_VERSION/g" $SCRIPTS_PATH/hextags.sp
43+
44+
- name: Compile HexTags
45+
run: |
46+
spcomp -i $includePath -i $SCRIPTS_PATH/include hextags.sp
47+
working-directory: ${{ env.SCRIPTS_PATH }}/
48+
49+
- name: Move compiled plugins
50+
run: |
51+
rm -rf $PLUGINS_PATH
52+
mkdir -p $PLUGINS_PATH/
53+
rsync -av --include='*/' --include="*.smx" --exclude="*" --prune-empty-dirs --remove-source-files $SCRIPTS_PATH/ $PLUGINS_PATH/
54+
55+
- name: Move addons to build
56+
run: |
57+
mkdir build
58+
mv ./addons build/
59+
60+
- name: Add LICENSE to build package
61+
run: |
62+
mv $GITHUB_WORKSPACE/LICENSE .
63+
working-directory: ./build
64+
65+
- name: Remove unnecessary files and folders from build
66+
run: |
67+
rm -rf addons/sourcemod/scripting
68+
working-directory: ./build
69+
70+
- name: Create release
71+
uses: ncipollo/release-action@v1
72+
with:
73+
artifacts: "./build"
74+
token: ${{ secrets.GITHUB_TOKEN }}
75+

0 commit comments

Comments
 (0)