From 5276a3d2791aca4155dccdd6341aa122467454f8 Mon Sep 17 00:00:00 2001 From: Alsey Coleman Miller Date: Thu, 26 Dec 2024 08:21:26 -0500 Subject: [PATCH] Update GitHub CI --- .github/workflows/buildroot-experimental.yml | 4 +- .github/workflows/buildroot-host.yml | 19 +++---- .github/workflows/docker.yml | 58 ++++++++++---------- 3 files changed, 39 insertions(+), 42 deletions(-) diff --git a/.github/workflows/buildroot-experimental.yml b/.github/workflows/buildroot-experimental.yml index fa1f174..8ddee08 100644 --- a/.github/workflows/buildroot-experimental.yml +++ b/.github/workflows/buildroot-experimental.yml @@ -1,5 +1,7 @@ name: Buildroot experimental -on: [workflow_dispatch] +on: + push: + jobs: build-riscv64: diff --git a/.github/workflows/buildroot-host.yml b/.github/workflows/buildroot-host.yml index 8921c5d..f8e747f 100644 --- a/.github/workflows/buildroot-host.yml +++ b/.github/workflows/buildroot-host.yml @@ -1,12 +1,14 @@ -name: Buildroot Host -on: [workflow_dispatch] +name: Buildroot Self-Host +on: + push: + jobs: - build-toolchain: - name: Build Toolchain for Buildroot + build: + name: Build from scratch strategy: matrix: config: ["arm64", "armv7", "armv6", "armv5", "x86_64", "i386", "ppc64le"] - runs-on: [linux, x64] + runs-on: [self-hosted, linux, x64] container: colemancda/buildroot-swift steps: - name: Checkout @@ -17,13 +19,8 @@ jobs: run: | export SWIFT_BUILDROOT=$GITHUB_WORKSPACE export SWIFT_TARGET_ARCH=${{ matrix.config }} - tar -xvf ./host-tools.tar.gz $SWIFT_BUILDROOT/.devcontainer/build-scripts/download-buildroot.sh - $SWIFT_BUILDROOT/.devcontainer/build-scripts/configure.sh - $SWIFT_BUILDROOT/.devcontainer/build-scripts/fetch-sources.sh - $SWIFT_BUILDROOT/.devcontainer/build-scripts/build-host-tools.sh - $SWIFT_BUILDROOT/.devcontainer/build-scripts/build-host-swift.sh - $SWIFT_BUILDROOT/.devcontainer/build-scripts/build-toolchain.sh + $SWIFT_BUILDROOT/.devcontainer/build-scripts/build.sh - name: Archive Build artifacts uses: actions/upload-artifact@v3 with: diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index cf5edce..1228dc8 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,31 +1,29 @@ -name: Publish Docker image - -on: [workflow_dispatch] - +name: Docker +on: + push: + jobs: - push_to_registry: - name: Push Docker image to Docker Hub - runs-on: ubuntu-latest - permissions: - packages: write - contents: read - attestations: write - id-token: write - steps: - - name: Check out the repo - uses: actions/checkout@v4 - - - name: Log in to Docker Hub - uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Build and push Docker image - id: push - uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671 - with: - context: .devcontainer - file: ./.devcontainer/Dockerfile - push: true - tags: latest + publish: + name: Build and Publish Docker image + strategy: + matrix: + arch: ["arm64", "armv7", "armv6", "armv5", "x86_64", "i386", "ppc64le"] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Authenticate Docker + uses: docker/login-action@v3.0.0 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Build + run: | + export SWIFT_BUILDROOT=$GITHUB_WORKSPACE + export SWIFT_TARGET_ARCH=${{ matrix.arch }} + $SWIFT_BUILDROOT/.devcontainer/build-scripts/build-docker.sh + - name: Archive Build artifacts + uses: actions/upload-artifact@v3 + with: + name: build-${{ matrix.arch }} + path: ./output/${{ matrix.arch }}/images