fix(install.sh): correctly handle systemd service installation (#2627) #312
This file contains 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: 'generate and publish GRPC docker caches' | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- master | |
concurrency: | |
group: grpc-cache-${{ github.head_ref || github.ref }}-${{ github.repository }} | |
cancel-in-progress: true | |
jobs: | |
generate_caches: | |
strategy: | |
matrix: | |
include: | |
- grpc-base-image: ubuntu:22.04 | |
runs-on: 'ubuntu-latest' | |
platforms: 'linux/amd64,linux/arm64' | |
runs-on: ${{matrix.runs-on}} | |
steps: | |
- name: Release space from worker | |
if: matrix.runs-on == 'ubuntu-latest' | |
run: | | |
echo "Listing top largest packages" | |
pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr) | |
head -n 30 <<< "${pkgs}" | |
echo | |
df -h | |
echo | |
sudo apt-get remove -y '^llvm-.*|^libllvm.*' || true | |
sudo apt-get remove --auto-remove android-sdk-platform-tools || true | |
sudo apt-get purge --auto-remove android-sdk-platform-tools || true | |
sudo rm -rf /usr/local/lib/android | |
sudo apt-get remove -y '^dotnet-.*|^aspnetcore-.*' || true | |
sudo rm -rf /usr/share/dotnet | |
sudo apt-get remove -y '^mono-.*' || true | |
sudo apt-get remove -y '^ghc-.*' || true | |
sudo apt-get remove -y '.*jdk.*|.*jre.*' || true | |
sudo apt-get remove -y 'php.*' || true | |
sudo apt-get remove -y hhvm powershell firefox monodoc-manual msbuild || true | |
sudo apt-get remove -y '^google-.*' || true | |
sudo apt-get remove -y azure-cli || true | |
sudo apt-get remove -y '^mongo.*-.*|^postgresql-.*|^mysql-.*|^mssql-.*' || true | |
sudo apt-get remove -y '^gfortran-.*' || true | |
sudo apt-get remove -y microsoft-edge-stable || true | |
sudo apt-get remove -y firefox || true | |
sudo apt-get remove -y powershell || true | |
sudo apt-get remove -y r-base-core || true | |
sudo apt-get autoremove -y | |
sudo apt-get clean | |
echo | |
echo "Listing top largest packages" | |
pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr) | |
head -n 30 <<< "${pkgs}" | |
echo | |
sudo rm -rfv build || true | |
sudo rm -rf /usr/share/dotnet || true | |
sudo rm -rf /opt/ghc || true | |
sudo rm -rf "/usr/local/share/boost" || true | |
sudo rm -rf "$AGENT_TOOLSDIRECTORY" || true | |
df -h | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@master | |
with: | |
platforms: all | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@master | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cache GRPC | |
uses: docker/build-push-action@v5 | |
with: | |
builder: ${{ steps.buildx.outputs.name }} | |
# The build-args MUST be an EXACT match between the image cache and other workflow steps that want to use that cache. | |
# This means that even the MAKEFLAGS have to be an EXACT match. | |
# If the build-args are not an EXACT match, it will result in a cache miss, which will require GRPC to be built from scratch. | |
build-args: | | |
GRPC_BASE_IMAGE=${{ matrix.grpc-base-image }} | |
GRPC_MAKEFLAGS=--jobs=4 --output-sync=target | |
GRPC_VERSION=v1.64.0 | |
context: . | |
file: ./Dockerfile | |
cache-to: type=gha,ignore-error=true | |
cache-from: type=gha | |
target: grpc | |
platforms: ${{ matrix.platforms }} | |
push: false |