1name: Release 2 3on: 4 workflow_dispatch: 5 6jobs: 7 8 build_release: 9 runs-on: ${{ matrix.os }} 10 strategy: 11 matrix: 12 os: [ubuntu-latest, macos-10.15, windows-2016] 13 include: 14 - os: ubuntu-latest 15 arch: "linux" 16 bazel_args: "--config=toolchain --extra_toolchains=@llvm_toolchain//:cc-toolchain-x86_64-linux" 17 - os: macos-10.15 18 arch: "macos-x86_64" 19 bazel_args: "--config=toolchain --extra_toolchains=@llvm_toolchain//:cc-toolchain-x86_64-darwin" 20 - os: windows-2016 21 arch: "windows" 22 bazel_args: "" 23 24 steps: 25 - uses: actions/checkout@v2 26 27 - name: Set up JDK 28 uses: actions/setup-java@v1 29 with: 30 java-version: 8 31 32 - name: Build 33 run: | 34 bazelisk build --config=ci --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_API_KEY }} --java_runtime_version=localjdk_${{ matrix.jdk }} ${{ matrix.bazel_args }} //agent/src/main/java/com/code_intelligence/jazzer/replay:Replayer_deploy.jar //:jazzer_release 35 cp -L bazel-bin/agent/src/main/java/com/code_intelligence/jazzer/replay/Replayer_deploy.jar replayer.jar 36 cp -L bazel-bin/jazzer_release.tar.gz release-${{ matrix.arch }}.tar.gz 37 38 - name: Upload replayer 39 uses: actions/upload-artifact@v2 40 with: 41 name: replayer_${{ matrix.arch }} 42 path: replayer.jar 43 44 - name: Upload release tar 45 uses: actions/upload-artifact@v2 46 with: 47 name: jazzer_releases 48 path: release-${{ matrix.arch}}.tar.gz 49 50 merge_replayer_jars: 51 runs-on: ubuntu-latest 52 needs: build_release 53 54 steps: 55 - name: Download macOS jar 56 uses: actions/download-artifact@v2 57 with: 58 name: replayer_darwin 59 path: replayer_darwin 60 61 - name: Download Linux jar 62 uses: actions/download-artifact@v2 63 with: 64 name: replayer_linux 65 path: replayer_linux 66 67 - name: Download Windows jar 68 uses: actions/download-artifact@v2 69 with: 70 name: replayer_windows 71 path: replayer_windows 72 73 - name: Merge jars 74 run: | 75 mkdir merged 76 unzip -o replayer_darwin/replayer.jar -d merged 77 unzip -o replayer_linux/replayer.jar -d merged 78 unzip -o replayer_windows/replayer.jar -d merged 79 jar cvmf merged/META-INF/MANIFEST.MF replayer.jar -C merged . 80 81 - name: Upload merged jar 82 uses: actions/upload-artifact@v2 83 with: 84 name: replayer 85 path: replayer.jar 86 87