Try fixing path to macro bat file #108
This file contains hidden or 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
| 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: CD .. || MKDIR my_rel my_build | |
| - name: configure_and_make | |
| run: | | |
| CD .. | |
| SET base_dir=%cd% | |
| ECHO %base_dir% | |
| CALL maracluster\admin\builders\nativew64_build.bat -s %base_dir% -r %base_dir%\my_rel -b %base_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 |