Skip to content

Copy from vald-client-clj (#290) #2

Copy from vald-client-clj (#290)

Copy from vald-client-clj (#290) #2

Workflow file for this run

# name: Build native image
# on:
# push:
# branches:
# - main
# tags:
# - '*.*.*'
# - 'v*.*.*'
# - '*.*.*-*'
# - 'v*.*.*-*'
# pull_request:
# paths:
# - .github/**
# - src/**
# - cmd/**
# - project.clj
# - Makefile
# - VALD_CLIENT_CLJ_VERSION
#
# jobs:
# build-linux:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: Install GraalVM
# run: |
# TMP_GRAALVM_HOME=/tmp/graalvm
# GRAALVM_HOME=/tmp/graalvm
# GRAALVM_TGZ_URI="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${GRAALVM_VERSION}/graalvm-ce-${JAVA_VERSION}-linux-amd64-${GRAALVM_VERSION}.tar.gz"
# curl -sL $GRAALVM_TGZ_URI --output graalvm.tar.gz
# mkdir -p $TMP_GRAALVM_HOME
# tar -xf graalvm.tar.gz -C $TMP_GRAALVM_HOME --strip-components=1
# chmod -R a+rwx $TMP_GRAALVM_HOME
# echo "PATH=$GRAALVM_HOME/bin:$PATH" >> $GITHUB_ENV
# echo "GRAALVM_HOME=$GRAALVM_HOME" >> $GITHUB_ENV
# echo "JAVA_HOME=$GRAALVM_HOME" >> $GITHUB_ENV
# env:
# GRAALVM_VERSION: 21.0.0
# JAVA_VERSION: java11
# - name: Install dependencies
# run: |
# gu install native-image
# curl -o lein https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
# chmod a+x lein
# sudo ./lein version
# sudo apt-get update && sudo apt-get install -y upx
# - name: Build native-image
# run: |
# make valdcli
# # upx --lzma --best valdcli
# chmod a+x valdcli
# - name: Upload artifact
# uses: actions/upload-artifact@v3
# with:
# name: valdcli-linux
# path: ./valdcli
# build-linux-static:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: Install GraalVM
# run: |
# TMP_GRAALVM_HOME=/tmp/graalvm
# GRAALVM_HOME=/tmp/graalvm
# GRAALVM_TGZ_URI="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${GRAALVM_VERSION}/graalvm-ce-${JAVA_VERSION}-linux-amd64-${GRAALVM_VERSION}.tar.gz"
# curl -sL $GRAALVM_TGZ_URI --output graalvm.tar.gz
# mkdir -p $TMP_GRAALVM_HOME
# tar -xf graalvm.tar.gz -C $TMP_GRAALVM_HOME --strip-components=1
# chmod -R a+rwx $TMP_GRAALVM_HOME
# echo "PATH=$GRAALVM_HOME/bin:$PATH" >> $GITHUB_ENV
# echo "GRAALVM_HOME=$GRAALVM_HOME" >> $GITHUB_ENV
# echo "JAVA_HOME=$GRAALVM_HOME" >> $GITHUB_ENV
# env:
# GRAALVM_VERSION: 21.0.0
# JAVA_VERSION: java11
# - name: Install dependencies
# run: |
# gu install native-image
# curl -o lein https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
# chmod a+x lein
# sudo ./lein version
# sudo apt-get update && sudo apt-get install -y upx
# - name: Fetch bundle
# run: |
# curl -L -o musl.tar.gz https://github.com/gradinac/musl-bundle-example/releases/download/v1.0/musl.tar.gz
# tar xvzf musl.tar.gz
# mv bundle /tmp/musl
# - name: Build musl-gcc
# run: |
# curl -o musl-${MUSL_VERSION}.tar.gz https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz
# tar xzvf musl-${MUSL_VERSION}.tar.gz
# cd musl-${MUSL_VERSION}
# ./configure --disable-shared --prefix=/tmp/musl
# make
# make install
# export PATH=$PATH:/tmp/musl/bin
# echo "PATH=/tmp/musl/bin:$PATH" >> $GITHUB_ENV
# env:
# MUSL_VERSION: 1.2.1
# - name: Build static native-image
# run: |
# make OPTS="--static --libc=musl" valdcli
# # upx --lzma --best valdcli
# chmod a+x valdcli
# - name: Upload artifact
# uses: actions/upload-artifact@v3
# with:
# name: valdcli-linux-static
# path: ./valdcli
# build-macos:
# runs-on: macos-latest
# steps:
# - uses: actions/checkout@v3
# - name: Install GraalVM
# run: |
# TMP_GRAALVM_HOME=/tmp/graalvm
# GRAALVM_HOME=/tmp/graalvm/Contents/Home
# GRAALVM_TGZ_URI="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${GRAALVM_VERSION}/graalvm-ce-${JAVA_VERSION}-darwin-amd64-${GRAALVM_VERSION}.tar.gz"
# curl -sL $GRAALVM_TGZ_URI --output graalvm.tar.gz
# mkdir -p $TMP_GRAALVM_HOME
# tar -xf graalvm.tar.gz -C $TMP_GRAALVM_HOME --strip-components=1
# chmod -R a+rwx $TMP_GRAALVM_HOME
# echo "PATH=$GRAALVM_HOME/bin:$PATH" >> $GITHUB_ENV
# echo "GRAALVM_HOME=$GRAALVM_HOME" >> $GITHUB_ENV
# echo "JAVA_HOME=$GRAALVM_HOME" >> $GITHUB_ENV
# env:
# GRAALVM_VERSION: 21.0.0
# JAVA_VERSION: java11
# - name: Install dependencies
# run: |
# brew install leiningen
# gu install native-image
# brew install upx
# - name: Build native-image
# run: |
# make valdcli
# # upx --lzma --best valdcli
# chmod a+x valdcli
# - name: Upload artifact
# uses: actions/upload-artifact@v3
# with:
# name: valdcli-macos
# path: ./valdcli
# release:
# runs-on: ubuntu-latest
# needs:
# - build-linux
# - build-linux-static
# - build-macos
# steps:
# - uses: actions/checkout@v3
# - name: Create release
# if: startsWith( github.ref, 'refs/tags/')
# id: create_release
# uses: actions/create-release@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# tag_name: ${{ github.ref }}
# release_name: Release ${{ github.ref }}
# draft: false
# prerelease: false
# - name: mkdir
# if: startsWith( github.ref, 'refs/tags/')
# run: |
# mkdir -p tmp/linux
# mkdir -p tmp/linux-static
# mkdir -p tmp/macos
# - uses: actions/download-artifact@v3
# if: startsWith( github.ref, 'refs/tags/')
# with:
# name: valdcli-linux
# path: tmp/linux
# - uses: actions/download-artifact@v3
# if: startsWith( github.ref, 'refs/tags/')
# with:
# name: valdcli-linux-static
# path: tmp/linux-static
# - uses: actions/download-artifact@v3
# if: startsWith( github.ref, 'refs/tags/')
# with:
# name: valdcli-macos
# path: tmp/macos
# - name: zip
# if: startsWith( github.ref, 'refs/tags/')
# run: |
# chmod a+x tmp/linux/valdcli
# chmod a+x tmp/linux-static/valdcli
# chmod a+x tmp/macos/valdcli
# zip --junk-paths valdcli-linux tmp/linux/valdcli
# zip --junk-paths valdcli-linux-static tmp/linux-static/valdcli
# zip --junk-paths valdcli-macos tmp/macos/valdcli
# - name: Upload Release Asset (linux)
# if: startsWith( github.ref, 'refs/tags/')
# uses: actions/upload-release-asset@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# upload_url: ${{ steps.create_release.outputs.upload_url }}
# asset_path: ./valdcli-linux.zip
# asset_name: valdcli-linux.zip
# asset_content_type: application/zip
# - name: Upload Release Asset (linux-static)
# if: startsWith( github.ref, 'refs/tags/')
# uses: actions/upload-release-asset@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# upload_url: ${{ steps.create_release.outputs.upload_url }}
# asset_path: ./valdcli-linux-static.zip
# asset_name: valdcli-linux-static.zip
# asset_content_type: application/zip
# - name: Upload Release Asset (macos)
# if: startsWith( github.ref, 'refs/tags/')
# uses: actions/upload-release-asset@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# upload_url: ${{ steps.create_release.outputs.upload_url }}
# asset_path: ./valdcli-macos.zip
# asset_name: valdcli-macos.zip
# asset_content_type: application/zip