forked from xmrig/xmrig
-
Notifications
You must be signed in to change notification settings - Fork 93
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ccfe900
commit 4cef605
Showing
1 changed file
with
132 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,20 +3,148 @@ on: | |
tags: | ||
- 'x*' | ||
|
||
name: Draft | ||
name: Create release and build artifacts | ||
|
||
jobs: | ||
build_win: | ||
name: Build Windows artifacts | ||
runs-on: windows-latest | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@master | ||
- name: Checkout deps | ||
run: git clone https://github.com/xmrig/xmrig-deps.git | ||
- name: Build project on Windows | ||
run: | | ||
cmake . -G "Visual Studio 16 2019" -DXMRIG_DEPS=xmrig-deps\msvc2019\x64 | ||
cd "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin" | ||
.\MSBuild.exe /p:Configuration=Release $Env:GITHUB_WORKSPACE\xmrig.sln | ||
cd $Env:GITHUB_WORKSPACE | ||
copy Release\xmrig.exe . | ||
copy src\config.json . | ||
copy bin\WinRing0\WinRing0x64.sys . | ||
7z a -tzip -mx windows_build.zip xmrig.exe config.json WinRing0x64.sys | ||
- name: Upload Windows build artifacts | ||
uses: actions/upload-artifact@v1 | ||
with: | ||
name: windows_build | ||
path: windows_build.zip | ||
|
||
build_lin: | ||
name: Build Ubuntu artifacts | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Prepare Ubuntu tools | ||
run: | | ||
sudo apt-get install -y git build-essential cmake libuv1-dev libssl-dev libhwloc-dev | ||
- name: Checkout code | ||
uses: actions/checkout@master | ||
- name: Build project on Ubuntu | ||
run: | | ||
cmake . | ||
make -j$(nproc) | ||
cp src/config.json . | ||
tar cfz ubuntu_build.tar.gz xmrig config.json | ||
- name: Upload Ubuntu build artifacts | ||
uses: actions/upload-artifact@v1 | ||
with: | ||
name: ubuntu_build | ||
path: ubuntu_build.tar.gz | ||
|
||
build_lin_rh6: | ||
name: Build CentOS 6 artifacts | ||
runs-on: ubuntu-latest | ||
container: centos:6 | ||
steps: | ||
- name: Prepare CentOS 6 tools | ||
run: | | ||
yum install -y git cmake openssl-devel libmicrohttpd-devel centos-release-scl-rh | ||
yum install -y --nogpgcheck devtoolset-6-gcc devtoolset-6-binutils devtoolset-6-gcc-c++ | ||
rpm -i https://github.com/sipcapture/captagent/raw/master/dependency/centos/6/libuv-1.8.0-1.el6.x86_64.rpm | ||
rpm -i https://github.com/sipcapture/captagent/raw/master/dependency/centos/6/libuv-devel-1.8.0-1.el6.x86_64.rpm | ||
- name: Checkout code | ||
run: | | ||
git clone https://github.com/MoneroOcean/xmrig.git . | ||
git checkout ${GITHUB_REF:10} | ||
- name: Build project on CentOS 6 | ||
run: | | ||
scl enable devtoolset-6 "cmake . -DWITH_TLS=OFF -DWITH_HWLOC=OFF" | ||
scl enable devtoolset-6 "make -j$(nproc)" | ||
cp src/config.json . | ||
mv xmrig-notls xmrig | ||
tar cfz centos6_build.tar.gz xmrig config.json | ||
- name: Upload CentOS 6 build artifacts | ||
uses: actions/upload-artifact@v1 | ||
with: | ||
name: centos6_build | ||
path: centos6_build.tar.gz | ||
|
||
deploy: | ||
needs: [build_win, build_lin, build_lin_rh6] | ||
name: Create release and upload artifacts | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Create Release | ||
id: create_release | ||
uses: actions/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag_name: ${{ github.ref }} | ||
release_name: Release ${{ github.ref }} | ||
draft: false | ||
prerelease: false | ||
- name: Set version | ||
id: version | ||
run: echo ::set-output name=VERSION::${GITHUB_REF:10} | ||
- name: Download Windows build artifacts | ||
uses: actions/download-artifact@v1 | ||
with: | ||
name: windows_build | ||
- name: Download Ubuntu build artifacts | ||
uses: actions/download-artifact@v1 | ||
with: | ||
name: ubuntu_build | ||
- name: Download CentOS 6 build artifacts | ||
uses: actions/download-artifact@v1 | ||
with: | ||
name: centos6_build | ||
- name: Upload Windows build release asset | ||
uses: actions/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: windows_build/windows_build.zip | ||
asset_name: xmrig-${{steps.version.outputs.VERSION}}-win64.zip | ||
asset_content_type: application/zip | ||
- name: Upload Ubuntu build release asset | ||
uses: actions/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: ubuntu_build/ubuntu_build.tar.gz | ||
asset_name: xmrig-${{steps.version.outputs.VERSION}}-lin64.tar.gz | ||
asset_content_type: application/zip | ||
- name: Upload CentOS 6 build release asset | ||
uses: actions/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ steps.create_release.outputs.upload_url }} | ||
asset_path: centos6_build/centos6_build.tar.gz | ||
asset_name: xmrig-${{steps.version.outputs.VERSION}}-lin64-compat.tar.gz | ||
asset_content_type: application/zip | ||
- name: Update xmrig_setup repo | ||
run: | | ||
git clone https://$GITHUB_ACTOR:${{secrets.xmrig_setup_key}}@github.com/MoneroOcean/xmrig_setup.git | ||
cd xmrig_setup | ||
git config user.name MoneroOcean | ||
git config user.email [email protected] | ||
touch xxx | ||
git add xxx | ||
git commit -m "xmrig "${GITHUB_REF:10}" based release" xxx | ||
mv ../centos6_build/centos6_build.tar.gz xmrig.tar.xz | ||
mv ../windows_build/windows_build.zip xmrig.zip | ||
unzip xmrig.zip | ||
zip -u offline_miner_setup.zip xmrig.exe config.json WinRing0x64.sys | ||
git commit -m "xmrig "${GITHUB_REF:10}" based release" xmrig.tar.xz xmrig.zip offline_miner_setup.zip | ||
git push |