name: Build and Release Hal on: push: tags: - "*" jobs: build: runs-on: ubuntu-latest timeout-minutes: 120 steps: - name: Free Disk Space run: | sudo apt-get clean sudo rm -rf /usr/share/dotnet sudo rm -rf /opt/ghc sudo rm -rf "/usr/local/share/boost" sudo rm -rf "$AGENT_TOOLSDIRECTORY" mkdir -p "$RUNNER_TEMP/hostedtoolcache" echo "RUNNER_TOOL_CACHE=$RUNNER_TEMP/hostedtoolcache" >> "$GITHUB_ENV" echo "AGENT_TOOLSDIRECTORY=$RUNNER_TEMP/hostedtoolcache" >> "$GITHUB_ENV" df -h - name: Update Ubuntu run: | sudo apt-get update sudo apt-get upgrade -y sudo apt-get clean sudo apt-get autoremove -y df -h - name: Maximize build space uses: easimon/maximize-build-space@master with: root-reserve-mb: 35000 swap-size-mb: 1024 remove-dotnet: "true" remove-android: "true" - name: Check free space run: | echo "Free space:" df -h - name: Checkout cocos uses: actions/checkout@v4 with: path: cocos - name: Install Go uses: actions/setup-go@v5 with: go-version: 1.26.x cache-dependency-path: "cocos/go.sum" - name: Checkout buildroot uses: actions/checkout@v4 with: repository: "buildroot/buildroot" path: buildroot ref: 2025.08-rc3 - name: Build hal run: | cd buildroot make BR2_EXTERNAL=../cocos/hal/linux cocos_defconfig make - name: Build cocos run: | cd cocos make - name: Release uses: softprops/action-gh-release@v2 with: files: | buildroot/output/images/bzImage buildroot/output/images/rootfs.cpio.gz cocos/build/cocos-agent cocos/build/cocos-cli cocos/build/cocos-manager cocos/build/cocos-attestation-service cocos/build/cocos-log-forwarder cocos/build/cocos-computation-runner cocos/build/cocos-egress-proxy cocos/build/cocos-ingress-proxy cocos/build/igvmmeasure