Skip to content

Merge pull request #19 from realsetvin/patch-2 #39

Merge pull request #19 from realsetvin/patch-2

Merge pull request #19 from realsetvin/patch-2 #39

name: Docker Build and Release
on:
push:
branches:
- master # or the name of your default branch
jobs:
build_and_release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Get branch name
id: get_branch_name
run: |
echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
- name: Get version
id: get_version
run: |
echo "VERSION=$(grep 'version :' meson.build | cut -d "'" -f 2)" >> $GITHUB_ENV
- name: Get commit hash
id: get_commit_hash
run: |
echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
- name: Check if commit is tagged with release
id: check_tag
run: |
echo "IS_RELEASE=$(if git describe --exact-match --tags HEAD 2>/dev/null | grep -q '^release'; then echo 'true'; else echo 'false'; fi)" >> $GITHUB_ENV
- name: Docker Build Windows
run: DOCKER_BUILDKIT=1 docker build . -f Dockerfiles/Dockerfile_Windows --output ./build/Windows
- name: Docker Build Ubuntu 18.04
run: DOCKER_BUILDKIT=1 docker build . -f Dockerfiles/Dockerfile_Ubuntu18 --output ./build/Ubuntu18
- name: Docker Build Ubuntu 20.04
run: DOCKER_BUILDKIT=1 docker build . -f Dockerfiles/Dockerfile_Ubuntu20 --output ./build/Ubuntu20
- name: Docker Build Ubuntu 22.04
run: DOCKER_BUILDKIT=1 docker build . -f Dockerfiles/Dockerfile_Ubuntu22 --output ./build/Ubuntu22
- name: Build for HiveOS
run: |
cp ./integrations/hiveos/* ./build/Ubuntu18
./build/Ubuntu18/build.sh janusminer_hiveos ${{ env.VERSION }}
- name: Build for HiveOS Beta
run: |
cp ./integrations/hiveos/* ./build/Ubuntu20
./build/Ubuntu20/build.sh janusminer_hiveosbeta ${{ env.VERSION }}
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: ${{ env.VERSION }}
release_name: janusminer ${{ env.VERSION }}
body: |
This is an automated pre-release of ${{ env.BRANCH_NAME }}-${{ env.VERSION }}-${{ env.COMMIT_HASH }} to see what are the changes in this release please check the commit history.
prerelease: ${{ env.IS_RELEASE }}
- name: Upload HiveOS build
id: upload-docker-build-output-hiveos
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build/Ubuntu18/janusminer_hiveos-${{ env.VERSION }}.tgz
asset_name: janusminer_hiveos-${{ env.VERSION }}.tgz
asset_content_type: application/octet-stream
- name: Upload HiveOS Beta build
id: upload-docker-build-output-hiveosbeta
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build/Ubuntu20/janusminer_hiveosbeta-${{ env.VERSION }}.tgz
asset_name: janusminer_hiveosbeta-${{ env.VERSION }}.tgz
asset_content_type: application/octet-stream
- name: Upload Windows build
id: upload-docker-build-output-windows
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build/Windows/wart-miner.exe
asset_name: janusminer-windows.exe
asset_content_type: application/octet-stream
- name: Upload Ubuntu 18.04 build
id: upload-docker-build-output-ubuntu18
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build/Ubuntu18/wart-miner
asset_name: janusminer-ubuntu18
asset_content_type: application/octet-stream
- name: Upload Ubuntu 20.04 build
id: upload-docker-build-output-ubuntu20
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build/Ubuntu20/wart-miner
asset_name: janusminer-ubuntu20
asset_content_type: application/octet-stream
- name: Upload Ubuntu 22.04 build
id: upload-docker-build-output-ubuntu22
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build/Ubuntu22/wart-miner
asset_name: janusminer-ubuntu22
asset_content_type: application/octet-stream