diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 4641cde..8dcebf6 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -4,8 +4,11 @@ on: workflow_dispatch: inputs: version: - description: Version + description: blst version default: 0.3.15 + suffix: + description: version suffix + default: -SNAPSHOT jobs: build-native: @@ -27,42 +30,50 @@ jobs: - platform: darwin os: macos-14 brew-packages: swig - cmd: ./build.sh + cmd: ./run.me - platform: darwin arch: x86-64 # https://github.com/openjdk/jdk/commit/5b1baa3d10d9ef3f07f133ece8a5f1d40311c74d#diff-6078ab1e47c6bb312b7f41e7539b4849189260c38f9b359c205a5aa0f633533dR278 cmd: CC='cc -target x86_64-apple-darwin20.1.0' CXX='c++ -std=c++11 -target x86_64-apple-darwin20.1.0' ./build.sh && mv supranational/blst/Mac/{aarch64,x86_64} - platform: linux - os: ubuntu-22.04 + os: ubuntu-24.04 extra-packages: gcc-9 g++-9 - cmd: CC=gcc-9 CXX=g++-9 ./build.sh + cmd: CC=gcc-9 CXX=g++-9 ./build.sh -D__BLST_PORTABLE__ - platform: linux arch: aarch64 extra-packages: gcc-9-aarch64-linux-gnu g++-9-aarch64-linux-gnu - cmd: CC=aarch64-linux-gnu-gcc-9 CXX=aarch64-linux-gnu-g++-9 ./build.sh && mv supranational/blst/Linux/{amd64,aarch64} + cmd: CC=aarch64-linux-gnu-gcc-9 CXX=aarch64-linux-gnu-g++-9 ./build.sh -D__BLST_PORTABLE__ && mv supranational/blst/Linux/{amd64,aarch64} - platform: linux arch: x86 extra-packages: gcc-9-multilib g++-9-multilib - cmd: CC='gcc-9 -m32' CXX='g++-9 -m32' ./build.sh && mv supranational/blst/Linux/{amd64,x86} + cmd: CC='gcc-9 -m32' CXX='g++-9 -m32' ./build.sh -D__BLST_PORTABLE__ && mv supranational/blst/Linux/{amd64,x86} - platform: win32 os: windows-2022 - cmd: bash -c './build.sh' + cmd: | + cmd /c ..\..\build.bat + mkdir supranational\blst\Windows\amd64 + swig -c++ -java -package supranational.blst -outdir supranational\blst -o blst_wrap.cpp ..\blst.swg + cl /nologo /MT /LD /O2 /W3 /wd4267 /EHsc /D_CRT_SECURE_NO_WARNINGS /I "$env:JAVA_HOME\include" /I ..\ /I "$env:JAVA_HOME\include\win32" blst_wrap.cpp blst.lib /link /OUT:supranational/blst/Windows/amd64/blst.dll steps: - - uses: actions/checkout@v4 + - if: matrix.platform == 'darwin' + run: echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV + - if: matrix.brew-packages != '' + run: brew install ${{ matrix.brew-packages }} + - run: swig -version + - uses: actions/checkout@v6 with: repository: supranational/blst - ref: v${{ inputs.version }} - - uses: actions/setup-java@v4 + - uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: '11' - - if: ${{ matrix.extra-packages }} + - if: matrix.extra-packages != '' run: | sudo apt-get update sudo apt-get install -y ${{ matrix.extra-packages }} - - if: ${{ matrix.brew-packages }} - run: brew install ${{ matrix.brew-packages }} + - if: matrix.os == 'windows-2022' + uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 - name: Build native image run: | cd bindings/java @@ -101,5 +112,5 @@ jobs: mkdir -p src/main/{resources,java}/supranational/blst mv artifacts/*.java src/main/java/supranational/blst mv artifacts/* src/main/resources/supranational/blst/ - mvn versions:set -DnewVersion=${{ inputs.version }}-SNAPSHOT -DgenerateBackupPoms=false + mvn versions:set -DnewVersion=${{ inputs.version }}${{ inputs.suffix }} -DgenerateBackupPoms=false mvn -B deploy