Fix release action #8
Workflow file for this run
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
| on: | |
| push: | |
| tags: | |
| - v* | |
| permissions: | |
| contents: write | |
| attestations: write | |
| packages: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: tespkg/actions-cache/restore@91b54a6e03abb8fcec12d3743633d23a1cfcd269 | |
| with: | |
| endpoint: storage.yandexcloud.net | |
| accessKey: ${{ secrets.CACHE_ACCESS_KEY }} | |
| secretKey: ${{ secrets.CACHE_SECRET_KEY }} | |
| bucket: ${{ secrets.CACHE_BUCKET }} | |
| # Don't bother trying github cache, we don't fit in its 10GB limit | |
| use-fallback: false | |
| key: v1-${{ github.sha }} | |
| restore-keys: | | |
| v1- | |
| path: ~/.ya/build | |
| - name: Build binaries | |
| run: | | |
| ./ya make -r --musl --gc ./perforator/bundle | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: binaries | |
| path: ./perforator/bundle | |
| build-autofdo: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/cache@v4 | |
| with: | |
| path: ./autofdo/build | |
| key: v1-${{ github.sha }} | |
| restore-keys: | | |
| v1- | |
| - name: Build AutoFDO | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libunwind-dev libgflags-dev libssl-dev libelf-dev protobuf-compiler \ | |
| cmake libzstd-dev clang g++ git build-essential | |
| git clone --recursive --revision 8f9ab68921f364a6433086245ca3f19befacfeb1 --depth 1 https://github.com/google/autofdo.git | |
| cd autofdo | |
| git submodule update --init --recursive | |
| mkdir build | |
| cd build | |
| cmake -DENABLE_TOOL=LLVM -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release ../ | |
| make -j $(nproc) create_llvm_prof | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: autofdo | |
| path: ./autofdo/build/create_llvm_prof | |
| release-cli: | |
| runs-on: ubuntu-24.04 | |
| needs: | |
| - build | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: binaries | |
| - name: Attach binaries to release | |
| run: | | |
| chmod +x ./cli | |
| chmod +x ./migrate | |
| gh -R ${{ github.repository }} release create --target ${{ github.sha }} --verify-tag --latest=false --draft ${{ github.ref_name }} ./cli ./migrate | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| release-images: | |
| runs-on: ubuntu-24.04 | |
| needs: | |
| - build | |
| - build-autofdo | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: binaries | |
| path: dist | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: autofdo | |
| - name: Log in to registry | |
| run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
| - name: Build and push images | |
| run: | | |
| mv ./create_llvm_prof ./dist/ | |
| chmod +x ./dist/create_llvm_prof | |
| function build { | |
| chmod +x ./dist/$1 | |
| docker build -f perforator/deploy/docker/Dockerfile.prebuilt --target $1 --push --tag ghcr.io/${{ github.repository }}/$1:${{ github.ref_name }} ./dist | |
| } | |
| build agent | |
| build gc | |
| build migrate | |
| build offline_processing | |
| build proxy | |
| build storage | |
| build web | |