From 6f678e0f77aaee4b1bbe8a4ad68f805f82603949 Mon Sep 17 00:00:00 2001 From: Dmitry Patsura Date: Thu, 31 Jul 2025 16:20:40 +0200 Subject: [PATCH] chore(ci): Extract maximize build space as action --- .github/actions/init-ci/action.yaml | 30 ----------- .../actions/maximize-build-space/action.yaml | 30 +++++++++++ .github/workflows/push.yml | 54 +++---------------- .github/workflows/rust-cubestore-master.yml | 18 +------ 4 files changed, 38 insertions(+), 94 deletions(-) delete mode 100644 .github/actions/init-ci/action.yaml create mode 100644 .github/actions/maximize-build-space/action.yaml diff --git a/.github/actions/init-ci/action.yaml b/.github/actions/init-ci/action.yaml deleted file mode 100644 index 1871661664d04..0000000000000 --- a/.github/actions/init-ci/action.yaml +++ /dev/null @@ -1,30 +0,0 @@ -name: 'Init CI' -description: 'Boostrap repo for testing' -inputs: - node: - description: 'Node.js version' -runs: - using: "composite" - steps: - - name: Use Node.js ${{ inputs.node }} - uses: actions/setup-node@v4 - with: - node-version: ${{ inputs.node }} - - name: Cache node modules - uses: actions/cache@v4 - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: Yarn install - uses: borales/actions-yarn@v2.3.0 - with: - cmd: install - - name: Lerna bootstrap - run: yarn lerna bootstrap --ignore @cubejs-backend/jdbc-driver - - name: Lerna tsc - run: yarn tsc diff --git a/.github/actions/maximize-build-space/action.yaml b/.github/actions/maximize-build-space/action.yaml new file mode 100644 index 0000000000000..4cdec3612cb03 --- /dev/null +++ b/.github/actions/maximize-build-space/action.yaml @@ -0,0 +1,30 @@ +name: 'Maximize Build Space' +description: 'Free up disk space on GitHub Actions runners' +runs: + using: "composite" + steps: + - name: Display disk space before cleanup + shell: bash + run: | + echo "Disk space before cleanup:" + df -h + - name: Remove unnecessary packages + shell: bash + run: | + sudo apt-get remove -y 'php.*' + sudo apt-get remove -y '^mongodb-.*' + sudo apt-get remove -y '^mysql-.*' + sudo apt-get autoremove -y + sudo apt-get clean + - name: Remove large directories + shell: bash + run: | + sudo rm -rf /usr/share/dotnet + sudo rm -rf /usr/local/lib/android + sudo rm -rf /opt/ghc + sudo rm -rf /opt/hostedtoolcache/CodeQL + - name: Display disk space after cleanup + shell: bash + run: | + echo "Disk space after cleanup:" + df -h \ No newline at end of file diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 8e19a5d033c5a..ff5ce81f0d187 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -323,24 +323,10 @@ jobs: fail-fast: false steps: - - name: Maximize build space (disk space limitations) - run: | - echo "Before" - df -h - sudo apt-get remove -y 'php.*' - sudo apt-get remove -y '^mongodb-.*' - sudo apt-get remove -y '^mysql-.*' - sudo apt-get autoremove -y - sudo apt-get clean - - sudo rm -rf /usr/share/dotnet - sudo rm -rf /usr/local/lib/android - sudo rm -rf /opt/ghc - sudo rm -rf /opt/hostedtoolcache/CodeQL - echo "After" - df -h - name: Checkout uses: actions/checkout@v4 + - name: Maximize build space + uses: ./.github/actions/maximize-build-space - name: Install Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: @@ -535,24 +521,10 @@ jobs: fail-fast: false steps: - - name: Maximize build space (disk space limitations) - run: | - echo "Before" - df -h - sudo apt-get remove -y 'php.*' - sudo apt-get remove -y '^mongodb-.*' - sudo apt-get remove -y '^mysql-.*' - sudo apt-get autoremove -y - sudo apt-get clean - - sudo rm -rf /usr/share/dotnet - sudo rm -rf /usr/local/lib/android - sudo rm -rf /opt/ghc - sudo rm -rf /opt/hostedtoolcache/CodeQL - echo "After" - df -h - name: Checkout uses: actions/checkout@v4 + - name: Maximize build space + uses: ./.github/actions/maximize-build-space - name: Download backend-native artifact uses: actions/download-artifact@v4 with: @@ -668,24 +640,10 @@ jobs: tag: tmp-dev fail-fast: false steps: - - name: Maximize build space (disk space limitations) - run: | - echo "Before" - df -h - sudo apt-get remove -y 'php.*' - sudo apt-get remove -y '^mongodb-.*' - sudo apt-get remove -y '^mysql-.*' - sudo apt-get autoremove -y - sudo apt-get clean - - sudo rm -rf /usr/share/dotnet - sudo rm -rf /usr/local/lib/android - sudo rm -rf /opt/ghc - sudo rm -rf /opt/hostedtoolcache/CodeQL - echo "After" - df -h - name: Checkout uses: actions/checkout@v4 + - name: Maximize build space + uses: ./.github/actions/maximize-build-space - name: Download backend-native artifact uses: actions/download-artifact@v4 with: diff --git a/.github/workflows/rust-cubestore-master.yml b/.github/workflows/rust-cubestore-master.yml index 3bfa05dda82d8..dcfb4f9901734 100644 --- a/.github/workflows/rust-cubestore-master.yml +++ b/.github/workflows/rust-cubestore-master.yml @@ -25,24 +25,10 @@ jobs: env: RUST: ${{ matrix.rust }} steps: - - name: Maximize build space (disk space limitations) - run: | - echo "Before" - df -h - sudo apt-get remove -y 'php.*' - sudo apt-get remove -y '^mongodb-.*' - sudo apt-get remove -y '^mysql-.*' - sudo apt-get autoremove -y - sudo apt-get clean - - sudo rm -rf /usr/share/dotnet - sudo rm -rf /usr/local/lib/android - sudo rm -rf /opt/ghc - sudo rm -rf /opt/hostedtoolcache/CodeQL - echo "After" - df -h - name: Checkout uses: actions/checkout@v4 + - name: Maximize build space + uses: ./.github/actions/maximize-build-space - name: Install Rust uses: actions-rust-lang/setup-rust-toolchain@v1 with: