Skip to content

Add missing source file pointer of merged file (Fixes #25) #120

Add missing source file pointer of merged file (Fixes #25)

Add missing source file pointer of merged file (Fixes #25) #120

name: Build and release
on:
push:
pull_request:
jobs:
build-ubuntu:
runs-on: ubuntu-latest
container: 'ubuntu:22.04' # start with a clean environment instead of the default github runner for higher reproducibility
steps:
- uses: actions/checkout@v2
- name: preinstall
run: apt update && apt -y install sudo wget rsync g++ make cmake lbzip2
- name: create_dirs
run: mkdir -p my_rel my_build
- name: configure_and_make
run: ./admin/builders/ubuntu64_build.sh -s `pwd`/.. -r `pwd`/my_rel -b `pwd`/my_build -g
# Skip tests for now
# - name: test
# run: cd ../my_build/maracluster && sudo make install && make test ARGS="-V"
- name: Upload packages
uses: actions/upload-artifact@v4
with:
name: ubuntu-packages
path: my_rel
build-fedora:
runs-on: ubuntu-latest
container: 'fedora:39'
steps:
- uses: actions/checkout@v2
- name: preinstall
run: dnf install -y wget rsync make glibc-static libstdc++-static
- name: create_dirs
run: mkdir -p my_rel my_build
- name: configure_and_make
run: ./admin/builders/fedora64_build.sh -s `pwd`/.. -r `pwd`/my_rel -b `pwd`/my_build -g
- name: Upload packages
uses: actions/upload-artifact@v4
with:
name: fedora-packages
path: my_rel
build-centos:
runs-on: ubuntu-latest
container: 'rockylinux:8'
steps:
- uses: actions/checkout@v2
- name: preinstall
run: |
dnf install -y dnf-plugins-core
dnf config-manager --set-enabled powertools
dnf install -y sudo scl-utils wget make glibc-static libstdc++-static
- name: create_dirs
run: mkdir -p my_rel my_build
- name: configure_and_make
run: ./admin/builders/centos64_build.sh -s `pwd`/.. -r `pwd`/my_rel -b `pwd`/my_build -g
- name: Upload packages
uses: actions/upload-artifact@v4
with:
name: centos-packages
path: my_rel
build-tarball:
runs-on: ubuntu-latest
container: 'ubuntu:22.04' # start with a clean environment instead of the default github runner for higher reproducibility
steps:
- uses: actions/checkout@v2
- name: preinstall
run: apt update && apt -y install sudo wget rsync g++ make cmake lbzip2
- name: create_dirs
run: mkdir -p my_rel my_build
- name: configure_and_make
run: ./admin/builders/tarball64_build.sh -s `pwd`/.. -r `pwd`/my_rel -b `pwd`/my_build -g
- name: Upload packages
uses: actions/upload-artifact@v4
with:
name: tarball-packages
path: my_rel
build-osx:
runs-on: macos-latest
env:
JAVA_HOME: ""
steps:
- uses: actions/checkout@v2
- name: create_dirs
run: mkdir -p my_rel my_build
- name: configure_and_make
run: admin/builders/osx64_build.sh -s `pwd`/.. -r `pwd`/my_rel -b `pwd`/my_build -g
- name: Upload packages
uses: actions/upload-artifact@v4
with:
name: osx-packages
path: my_rel
build-win64:
runs-on: windows-latest
defaults:
run:
shell: cmd
steps:
- uses: actions/checkout@v2
- name: create_dirs
run: MKDIR my_rel my_build
- name: configure_and_make
run: |
SET base_dir=%cd%
ECHO %base_dir%
CD ..
SET src_dir=%cd%
ECHO %src_dir%
CALL maracluster\admin\builders\nativew64_build.bat -s %src_dir% -r %base_dir%\my_rel -b %src_dir%\my_build -g
- name: Upload packages
uses: actions/upload-artifact@v4
with:
name: win64-packages
path: my_rel
pre-release:
runs-on: ubuntu-latest
needs: [build-ubuntu, build-centos, build-fedora, build-tarball, build-osx, build-win64]
if: always()
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
continue-on-error: true
- name: Package artifacts
run: |
mkdir -p packages
for dir in ubuntu-packages centos-packages fedora-packages tarball-packages osx-packages win64-packages; do
if [ -d "$dir" ]; then
case "$dir" in
*osx*|*win64*) zip -j -r "packages/${dir%*-packages}.zip" "$dir"/* ;;
*) tar -czvf "packages/${dir%*-packages}.tar.gz" -C "$dir" $(ls "$dir") ;;
esac
fi
done
- name: Upload binaries to ci-build-latest pre-release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: packages/*
tag: ci-build-latest
overwrite: true
file_glob: true
prerelease: true
release:
runs-on: ubuntu-latest
needs: [build-ubuntu, build-centos, build-fedora, build-tarball, build-osx, build-win64]
if: startsWith(github.ref, 'refs/tags/rel-')
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
- run : |
ls -R
mkdir packages
tar -czvf packages/ubuntu.tar.gz -C ubuntu-packages $(ls ubuntu-packages)
tar -czvf packages/centos.tar.gz -C centos-packages $(ls centos-packages)
tar -czvf packages/fedora.tar.gz -C fedora-packages $(ls fedora-packages)
tar -czvf packages/tarball.tar.gz -C tarball-packages $(ls tarball-packages)
zip -j -r packages/osx.zip osx-packages/*
zip -j -r packages/win64.zip win64-packages/*
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: packages/*
tag: ${{ github.ref }}
overwrite: false
file_glob: true