1
+ on :
2
+ push :
3
+ tags :
4
+ - ' v*'
1
5
2
6
name : centos7-gcc9 Release
3
7
jobs :
4
8
build :
5
9
runs-on : ubuntu-latest
6
10
steps :
7
- - name : Check out the repo
8
- uses : actions/checkout@v2
11
+ - uses : actions/checkout@v3
9
12
with :
10
13
submodules : ' true'
11
14
fetch-depth : ' 0'
@@ -14,43 +17,42 @@ jobs:
14
17
- name : Run the build process with Docker
15
18
uses : addnab/docker-run-action@v3
16
19
with :
17
- image : slangdeveloper/centos7-gcc9
18
- options : -v ${{ github.workspace }}:/home/app -v /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt
19
- run : |
20
- source /opt/rh/devtoolset-9/enable
21
- cd /home/app
22
- git config --global --add safe.directory /home/app
23
- export CC=gcc
24
- export CONFIGURATION=release
25
- export ARCH=x64
26
- export TARGETARCH=x64
27
- export TARGETARCH=x64
28
- export GLIBC_COMPATIBLE=1
29
- /bin/bash ./github_build.sh
30
-
31
- - name : CreatePackages
32
- id : build
20
+ image : slangdeveloper/centos7-gcc9
21
+ options : -v ${{ github.workspace }}:/home/app -v /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt
22
+ run : |
23
+ source /opt/rh/devtoolset-9/enable
24
+ cd /home/app
25
+ git config --global --add safe.directory /home/app
26
+ cmake --preset default --fresh -DSLANG_SLANG_LLVM_FLAVOR=DISABLED -DSLANG_EMBED_STDLIB=1
27
+ cmake --workflow --preset release
28
+
29
+ - name : Package Slang
30
+ id : package
33
31
run : |
34
- echo "creating binary archieves..."
35
- export SLANG_OS_NAME=linux
36
- export SLANG_ARCH_NAME=`uname -p`
37
- export TAG_NAME=`git describe --tags`
38
- export SLANG_TAG=${TAG_NAME#v}
39
- echo "tag:$TAG_NAME"
40
- echo "slang-tag:$SLANG_TAG"
41
- export SLANG_BINARY_ARCHIVE=slang-${SLANG_TAG}-${SLANG_OS_NAME}-${SLANG_ARCH_NAME}-glibc-2.17.zip
42
- export SLANG_BINARY_ARCHIVE_TAR=slang-${SLANG_TAG}-${SLANG_OS_NAME}-${SLANG_ARCH_NAME}-glibc-2.17.tar.gz
43
- echo "creating zip"
44
- zip -r ${SLANG_BINARY_ARCHIVE} bin/*/*/slangc bin/*/*/slangd bin/*/*/libslang.so bin/*/*/libslang-glslang.so bin/*/*/libgfx.so bin/*/*/libslang-llvm.so docs/*.md README.md LICENSE slang.h slang-com-helper.h slang-com-ptr.h slang-tag-version.h slang-gfx.h prelude/*.h
45
- echo "creating tar"
46
- tar -czf ${SLANG_BINARY_ARCHIVE_TAR} bin/*/*/slangc bin/*/*/slangd bin/*/*/libslang.so bin/*/*/libslang-glslang.so bin/*/*/libgfx.so bin/*/*/libslang-llvm.so docs/*.md README.md LICENSE slang.h slang-com-helper.h slang-com-ptr.h slang-tag-version.h slang-gfx.h prelude/*.h
47
- echo "SLANG_BINARY_ARCHIVE=${SLANG_BINARY_ARCHIVE}" >> $GITHUB_OUTPUT
48
- echo "SLANG_BINARY_ARCHIVE_TAR=${SLANG_BINARY_ARCHIVE_TAR}" >> $GITHUB_OUTPUT
32
+ # For the release, also generate a tar.gz file
33
+ cpack --preset "$config" -G ZIP
34
+ cpack --preset "$config" -G TGZ
35
+
36
+ triggering_ref=${{ github.ref_name }}
37
+ version=${triggering_ref#v}
38
+ base=$(pwd)/slang-${version}-linux-x86_64-glibc-2.17
39
+
40
+ mv "$(pwd)/build/dist-${config}/slang.zip" "${base}.zip"
41
+ echo "SLANG_BINARY_ARCHIVE_ZIP=${base}.zip" >> $GITHUB_OUTPUT
42
+
43
+ mv "$(pwd)/build/dist-${config}/slang.tar.gz" "${base}.tar.gz"
44
+ echo "SLANG_BINARY_ARCHIVE_TAR=${base}.tar.gz" >> $GITHUB_OUTPUT
45
+
46
+ - name : File check
47
+ run : |
48
+ find "build/dist-$config" ! -iname '*.md' ! -iname '*.h' -type f | xargs file
49
+
49
50
- name : UploadBinary
50
51
uses : softprops/action-gh-release@v1
52
+ if : startsWith(github.ref, 'refs/tags/v')
51
53
with :
52
54
files : |
53
- ${{ steps.build .outputs.SLANG_BINARY_ARCHIVE }}
54
- ${{ steps.build .outputs.SLANG_BINARY_ARCHIVE_TAR }}
55
+ ${{ steps.package .outputs.SLANG_BINARY_ARCHIVE_ZIP }}
56
+ ${{ steps.package .outputs.SLANG_BINARY_ARCHIVE_TAR }}
55
57
env :
56
58
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments