1+ name : Build, release and upload to releases.drivechain.info
2+
3+ on :
4+ pull_request :
5+ push :
6+ branches :
7+ - master
8+ workflow_dispatch :
9+
10+ jobs :
11+ build-release :
12+ strategy :
13+ fail-fast : false
14+ matrix :
15+ include :
16+ - os : ubuntu-latest
17+ name : x86_64-unknown-linux-gnu
18+ binary-suffix : " "
19+
20+ - os : macos-latest-large
21+ name : x86_64-apple-darwin
22+ binary-suffix : " "
23+
24+ - os : ubuntu-latest
25+ name : x86_64-pc-windows-gnu
26+ binary-suffix : .exe
27+
28+ name : Build and release (${{ matrix.name }})
29+ runs-on : ${{ matrix.os }}
30+ permissions :
31+ contents : write
32+ timeout-minutes : 20
33+ steps :
34+ - uses : actions/checkout@v4
35+ with :
36+ submodules : " recursive"
37+
38+ - name : Build
39+ run : |
40+ ./autogen.sh
41+ ./configure
42+ make -j
43+
44+ - name : " Set environment variables: version number and output filenames"
45+ run : |
46+ APP_DIRNAME="cpuminer-latest-${{ matrix.name }}"
47+ APP_FILENAME="${APP_DIRNAME}${{ matrix.binary-suffix }}"
48+ echo "APP_FILENAME=$APP_FILENAME" >> "$GITHUB_ENV"
49+ echo "APP_DIRNAME=$APP_DIRNAME" >> "$GITHUB_ENV"
50+
51+ - run : |
52+ mkdir release
53+ cp cpuminer${{ matrix.binary-suffix }} release/${{ env.APP_FILENAME }}
54+
55+ - name : " Upload artifacts"
56+ uses : actions/upload-artifact@v4
57+ with :
58+ name : ${{ env.APP_DIRNAME }}
59+ if-no-files-found : error
60+ path : |
61+ release/${{ env.APP_FILENAME }}
62+
63+ - name : Release
64+ uses : softprops/action-gh-release@v2.0.2
65+ if : startsWith(github.ref, 'refs/tags/')
66+ with :
67+ files : |
68+ release/${{ env.APP_FILENAME }}
69+ fail_on_unmatched_files : true
70+
71+ upload-releases-to-releases-drivechain-info :
72+ name : Upload releases to releases.drivechain.info
73+ runs-on : ubuntu-latest
74+ needs : [build-release]
75+ if : github.ref == 'refs/heads/master'
76+ steps :
77+ - name : Download artifacts
78+ uses : actions/download-artifact@v4
79+
80+ - name : Create zip files for releases.drivechain.info
81+ run : |
82+ shopt -s extglob
83+ zip -r cpuminer-latest-x86_64-apple-darwin.zip cpuminer-latest-x86_64-apple-darwin
84+ zip -r cpuminer-latest-x86_64-pc-windows-gnu.zip cpuminer-latest-x86_64-pc-windows-gnu
85+ zip -r cpuminer-latest-x86_64-unknown-linux-gnu.zip cpuminer-latest-x86_64-unknown-linux-gnu
86+
87+ - name : Upload release assets to releases.drivechain.info
88+ uses : appleboy/scp-action@v1
89+ with :
90+ host : 45.33.96.47
91+ username : root
92+ password : ${{ secrets.RELEASES_SERVER_PW }}
93+ port : 22
94+ source : " cpuminer-latest-*.zip"
95+ target : " /var/www/html/"
0 commit comments