From 3e6a3a4baacbdeb6075dfc0cdd5d11169d3856f8 Mon Sep 17 00:00:00 2001 From: NucciTheBoss Date: Wed, 27 Jul 2022 09:53:37 -0400 Subject: [PATCH 1/6] Drop travis pipeline --- .travis.yml | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2bfef53..0000000 --- a/.travis.yml +++ /dev/null @@ -1,47 +0,0 @@ -dist: bionic - -language: bash # same as minimal -cache: - directories: - - $HOME/build/$TRAVIS_REPO_SLUG/../ccache - - $HOME/build/$TRAVIS_REPO_SLUG/../download - -install: - - bin/system-setup - -addons: - apt: - packages: - - cloud-utils - - qemu-system - - openbios-ppc - -jobs: - fast_finish: true # fail once any job fail - -env: - - ARCHES=aarch64 - - ARCHES=arm - - ARCHES=i386 - - ARCHES=x86_64 - - ARCHES=powerpc - - ARCHES=ppc64 - - ARCHES=ppc64le - -script: - # we want to test does image boots after build - - "BOOTTEST=true QUIET=1 bin/build-release ${TRAVIS_TAG:-daily}" - -deploy: - provider: releases - api_key: - secure: lDNfsHVkj+b9/Q4b71t/VHVvjRA2zPZX/1EKibvv/rrlgqwcplUO81RteV7ibA2u0GY0XzHNb9YnKdb9AxAbnzOzrymo6WQu2TQe6OetlTmFO1tD49nkoS42cqornUTQXpB62HL8sOmCBzUTUyvLv4tKxaEPJbaSuEib31ktlpJBp06/GOTp2HwOyY0YoNtKAn28IJVAr0tQWb6E1v/OFPQMNd6K9jWsXEHiolyPcr+PW4tlmMfMEydZ9GvYg4uxhgIn4JHpEIAlu+b1Qsr6TV5cNyykZUOz97893bOFpmYA3fEVpzgowzsu2exFEiTPSv8ls89GGmplCTxfvKLDwKp02Zt5VGR7+m/0ajFLs/9pZ9t47Kpz40BuJ+s40Mr2JNE8tNbmADmUq4FNT2xR6kEz8HFRGqKEvnEbgBe3X51dC20NQ3/kUbUISo1qH58rDr+RVaSOJvGXDhkMEUPWwEJCSE3k/LJPTaBWPQyDMVGhFU0/7jYI4o5bW/yuMjKQz0/bz6elUBdbmviv5gYNSeYz6+YqatcfgoWJAOFuXTsxLh9W7JZ9mlwQ2lOuWmevNyHEB6Ry5oEpBbhgZpYcqi03BCmEUhKgIC83XVGuMRicVb2kkIY2sWuPJWpR1ViSt3p2slb95YbOKHo6LqROv7Dp+Lm1h7WalhvhK3qLpn0= - file: "$HOME/build/$TRAVIS_REPO_SLUG/../build-*/release/cirros-*" - file_glob: true - skip_cleanup: true # we want build artifacts - on: - tags: true - repo: cirros-dev/cirros - -notifications: - irc: "chat.freenode.net#cirros" From 5b0ba633a07c7807a84f63c8c9c0429f6c81b7c9 Mon Sep 17 00:00:00 2001 From: NucciTheBoss Date: Wed, 27 Jul 2022 16:33:43 -0400 Subject: [PATCH 2/6] Add CI pipeline for building CirrOS to fix #76 --- .github/workflows/build-cirros-bionic.yaml | 189 +++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 .github/workflows/build-cirros-bionic.yaml diff --git a/.github/workflows/build-cirros-bionic.yaml b/.github/workflows/build-cirros-bionic.yaml new file mode 100644 index 0000000..bf32910 --- /dev/null +++ b/.github/workflows/build-cirros-bionic.yaml @@ -0,0 +1,189 @@ +name: CirrOS image builder + +on: + push: + branches: + - master + +jobs: + build-cirros-aarch64: + name: aarch64 + runs-on: ubuntu-18.04 + env: + ARCHES: aarch64 + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-aarch64 + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/stage ../build-*/tmp + tar -cJf cirros-aarch64.tar.xz ../build-* + + - name: Upload cirros-aarch64 build artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-aarch64 + path: cirros-aarch64.tar.xz + + build-cirros-arm: + name: arm + runs-on: ubuntu-18.04 + env: + ARCHES: arm + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-arm + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/stage ../build-*/tmp + tar -cJf cirros-arm.tar.xz ../build-* + + - name: Upload cirros-arm build artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-arm + path: cirros-arm.tar.xz + + build-cirros-i386: + name: i386 + runs-on: ubuntu-18.04 + env: + ARCHES: i386 + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-i386 + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/stage ../build-*/tmp + tar -cJf cirros-i386.tar.xz ../build-* + + - name: Upload cirros-i386 build artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-i386 + path: cirros-i386.tar.xz + + build-cirros-x64_64: + name: x86_64 + runs-on: ubuntu-18.04 + env: + ARCHES: x86_64 + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-x86_64 + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/stage ../build-*/tmp + tar -cJf cirros-x86_64.tar.xz ../build-* + + - name: Upload cirros-x86_64 build artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-x86_64 + path: cirros-x86_64.tar.xz + + build-cirros-powerpc: + name: powerpc + runs-on: ubuntu-18.04 + env: + ARCHES: powerpc + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-powerpc + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/stage ../build-*/tmp + tar -cJf cirros-powerpc.tar.xz ../build-* + + - name: Upload cirros-powerpc build artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-powerpc + path: cirros-powerpc.tar.xz + + build-cirros-ppc64: + name: ppc64 + runs-on: ubuntu-18.04 + env: + ARCHES: ppc64 + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-ppc64 + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/stage ../build-*/tmp + tar -cJf cirros-ppc64.tar.xz ../build-* + + - name: Upload cirros-ppc64 build artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-ppc64 + path: cirros-ppc64.tar.xz + + build-cirros-ppc64le: + name: ppc64le + runs-on: ubuntu-18.04 + env: + ARCHES: ppc64le + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-ppc64le + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/stage ../build-*/tmp + tar -cJf cirros-ppc64le.tar.xz ../build-* + + - name: Upload cirros-ppc64le build artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-ppc64le + path: cirros-ppc64le.tar.xz From 24bc263f0a4703955d766941ccf6075e09396c4d Mon Sep 17 00:00:00 2001 From: NucciTheBoss Date: Wed, 27 Jul 2022 16:35:43 -0400 Subject: [PATCH 3/6] Add CI pipeline to lint new pull requests --- .github/workflows/test-cirros-bionic.yaml | 191 ++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 .github/workflows/test-cirros-bionic.yaml diff --git a/.github/workflows/test-cirros-bionic.yaml b/.github/workflows/test-cirros-bionic.yaml new file mode 100644 index 0000000..e49b8c6 --- /dev/null +++ b/.github/workflows/test-cirros-bionic.yaml @@ -0,0 +1,191 @@ +name: Test CirrOS build + +on: + pull_request: + types: + - opened + branches: + - master + +jobs: + test-cirros-aarch64: + name: aarch64 + runs-on: ubuntu-18.04 + env: + ARCHES: aarch64 + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-aarch64 + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp + tar -cJf cirros-aarch64-build-logs.tar.xz ../build-* + + - name: Upload cirros-aarch64 build log artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-aarch64-build-logs + path: cirros-aarch64-build-logs.tar.xz + + test-cirros-arm: + name: arm + runs-on: ubuntu-18.04 + env: + ARCHES: arm + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-arm + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp + tar -cJf cirros-arm-build-logs.tar.xz ../build-* + + - name: Upload cirros-arm build log artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-arm-build-logs + path: cirros-arm-build-logs.tar.xz + + test-cirros-i386: + name: i386 + runs-on: ubuntu-18.04 + env: + ARCHES: i386 + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-i386 + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp + tar -cJf cirros-i386-build-logs.tar.xz ../build-* + + - name: Upload cirros-i386 build log artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-i386-build-logs + path: cirros-i386-build-logs.tar.xz + + test-cirros-x64_64: + name: x86_64 + runs-on: ubuntu-18.04 + env: + ARCHES: x86_64 + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-x86_64 + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp + tar -cJf cirros-x86_64-build-logs.tar.xz ../build-* + + - name: Upload cirros-x86_64 build log artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-x86_64-build-logs + path: cirros-x86_64-build-logs.tar.xz + + test-cirros-powerpc: + name: powerpc + runs-on: ubuntu-18.04 + env: + ARCHES: powerpc + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-powerpc + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp + tar -cJf cirros-powerpc-build-logs.tar.xz ../build-* + + - name: Upload cirros-powerpc build log artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-powerpc-build-logs + path: cirros-powerpc-build-logs.tar.xz + + test-cirros-ppc64: + name: ppc64 + runs-on: ubuntu-18.04 + env: + ARCHES: ppc64 + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-ppc64 + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp + tar -cJf cirros-ppc64-build-logs.tar.xz ../build-* + + - name: Upload cirros-ppc64 build log artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-ppc64-build-logs + path: cirros-ppc64-build-logs.tar.xz + + test-cirros-ppc64le: + name: ppc64le + runs-on: ubuntu-18.04 + env: + ARCHES: ppc64le + BOOTTEST: "true" + QUIET: 1 + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Build cirros-ppc64le + shell: bash + run: | + sudo apt-get install -y cloud-utils qemu-system openbios-ppc + ./bin/system-setup + ./bin/build-release daily + rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp + tar -cJf cirros-ppc64le-build-logs.tar.xz ../build-* + + - name: Upload cirros-ppc64le build log artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-ppc64le-build-logs + path: cirros-ppc64le-build-logs.tar.xz From 5d2fceb96d3fc64e6488e5ce98d81f56777ac268 Mon Sep 17 00:00:00 2001 From: NucciTheBoss Date: Thu, 28 Jul 2022 14:42:02 -0400 Subject: [PATCH 4/6] Add caching to parallel builds --- .github/workflows/build-cirros-bionic.yaml | 56 ++++++++++++++++++++++ .github/workflows/test-cirros-bionic.yaml | 56 ++++++++++++++++++++++ 2 files changed, 112 insertions(+) diff --git a/.github/workflows/build-cirros-bionic.yaml b/.github/workflows/build-cirros-bionic.yaml index bf32910..7b9668e 100644 --- a/.github/workflows/build-cirros-bionic.yaml +++ b/.github/workflows/build-cirros-bionic.yaml @@ -17,6 +17,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-aarch64-build-cache + - name: Build cirros-aarch64 shell: bash run: | @@ -43,6 +51,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-arm-build-cache + - name: Build cirros-arm shell: bash run: | @@ -69,6 +85,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-i386-build-cache + - name: Build cirros-i386 shell: bash run: | @@ -95,6 +119,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-x86_64-build-cache + - name: Build cirros-x86_64 shell: bash run: | @@ -121,6 +153,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-powerpc-build-cache + - name: Build cirros-powerpc shell: bash run: | @@ -147,6 +187,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-ppc64-build-cache + - name: Build cirros-ppc64 shell: bash run: | @@ -173,6 +221,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-ppc64le-build-cache + - name: Build cirros-ppc64le shell: bash run: | diff --git a/.github/workflows/test-cirros-bionic.yaml b/.github/workflows/test-cirros-bionic.yaml index e49b8c6..42e4769 100644 --- a/.github/workflows/test-cirros-bionic.yaml +++ b/.github/workflows/test-cirros-bionic.yaml @@ -19,6 +19,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-aarch64-test-cache + - name: Build cirros-aarch64 shell: bash run: | @@ -45,6 +53,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-arm-test-cache + - name: Build cirros-arm shell: bash run: | @@ -71,6 +87,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-i386-test-cache + - name: Build cirros-i386 shell: bash run: | @@ -97,6 +121,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-x86_64-test-cache + - name: Build cirros-x86_64 shell: bash run: | @@ -123,6 +155,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-powerpc-test-cache + - name: Build cirros-powerpc shell: bash run: | @@ -149,6 +189,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-ppc64-test-cache + - name: Build cirros-ppc64 shell: bash run: | @@ -175,6 +223,14 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 + - name: Cache ccache and download + uses: actions/cache@v3 + with: + path: | + ../ccache + ../download + key: cirros-ppc64le-test-cache + - name: Build cirros-ppc64le shell: bash run: | From 88d2b6a21f5bdacbb1b124c8ae77e8ddfac1e3af Mon Sep 17 00:00:00 2001 From: NucciTheBoss Date: Mon, 1 Aug 2022 09:43:03 -0400 Subject: [PATCH 5/6] Drop caching until flat file can be added --- .github/workflows/build-cirros-bionic.yaml | 56 ---------------------- .github/workflows/test-cirros-bionic.yaml | 48 ------------------- 2 files changed, 104 deletions(-) diff --git a/.github/workflows/build-cirros-bionic.yaml b/.github/workflows/build-cirros-bionic.yaml index 7b9668e..bf32910 100644 --- a/.github/workflows/build-cirros-bionic.yaml +++ b/.github/workflows/build-cirros-bionic.yaml @@ -17,14 +17,6 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-aarch64-build-cache - - name: Build cirros-aarch64 shell: bash run: | @@ -51,14 +43,6 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-arm-build-cache - - name: Build cirros-arm shell: bash run: | @@ -85,14 +69,6 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-i386-build-cache - - name: Build cirros-i386 shell: bash run: | @@ -119,14 +95,6 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-x86_64-build-cache - - name: Build cirros-x86_64 shell: bash run: | @@ -153,14 +121,6 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-powerpc-build-cache - - name: Build cirros-powerpc shell: bash run: | @@ -187,14 +147,6 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-ppc64-build-cache - - name: Build cirros-ppc64 shell: bash run: | @@ -221,14 +173,6 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-ppc64le-build-cache - - name: Build cirros-ppc64le shell: bash run: | diff --git a/.github/workflows/test-cirros-bionic.yaml b/.github/workflows/test-cirros-bionic.yaml index 42e4769..f7e287b 100644 --- a/.github/workflows/test-cirros-bionic.yaml +++ b/.github/workflows/test-cirros-bionic.yaml @@ -19,14 +19,6 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-aarch64-test-cache - - name: Build cirros-aarch64 shell: bash run: | @@ -53,14 +45,6 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-arm-test-cache - - name: Build cirros-arm shell: bash run: | @@ -87,14 +71,6 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-i386-test-cache - - name: Build cirros-i386 shell: bash run: | @@ -121,14 +97,6 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-x86_64-test-cache - - name: Build cirros-x86_64 shell: bash run: | @@ -155,14 +123,6 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-powerpc-test-cache - - name: Build cirros-powerpc shell: bash run: | @@ -189,14 +149,6 @@ jobs: - name: Pull cirros source artifacts uses: actions/checkout@v3 - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-ppc64-test-cache - - name: Build cirros-ppc64 shell: bash run: | From eca4589c771a2f4014099368264c5e31790c571d Mon Sep 17 00:00:00 2001 From: NucciTheBoss Date: Tue, 2 Aug 2022 12:57:26 -0400 Subject: [PATCH 6/6] Update build workflow to use matrix --- .github/workflows/build-cirros-bionic.yaml | 189 ------------------- .github/workflows/build-cirros.yaml | 54 ++++++ .github/workflows/test-cirros-bionic.yaml | 199 --------------------- 3 files changed, 54 insertions(+), 388 deletions(-) delete mode 100644 .github/workflows/build-cirros-bionic.yaml create mode 100644 .github/workflows/build-cirros.yaml delete mode 100644 .github/workflows/test-cirros-bionic.yaml diff --git a/.github/workflows/build-cirros-bionic.yaml b/.github/workflows/build-cirros-bionic.yaml deleted file mode 100644 index bf32910..0000000 --- a/.github/workflows/build-cirros-bionic.yaml +++ /dev/null @@ -1,189 +0,0 @@ -name: CirrOS image builder - -on: - push: - branches: - - master - -jobs: - build-cirros-aarch64: - name: aarch64 - runs-on: ubuntu-18.04 - env: - ARCHES: aarch64 - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Build cirros-aarch64 - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/stage ../build-*/tmp - tar -cJf cirros-aarch64.tar.xz ../build-* - - - name: Upload cirros-aarch64 build artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-aarch64 - path: cirros-aarch64.tar.xz - - build-cirros-arm: - name: arm - runs-on: ubuntu-18.04 - env: - ARCHES: arm - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Build cirros-arm - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/stage ../build-*/tmp - tar -cJf cirros-arm.tar.xz ../build-* - - - name: Upload cirros-arm build artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-arm - path: cirros-arm.tar.xz - - build-cirros-i386: - name: i386 - runs-on: ubuntu-18.04 - env: - ARCHES: i386 - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Build cirros-i386 - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/stage ../build-*/tmp - tar -cJf cirros-i386.tar.xz ../build-* - - - name: Upload cirros-i386 build artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-i386 - path: cirros-i386.tar.xz - - build-cirros-x64_64: - name: x86_64 - runs-on: ubuntu-18.04 - env: - ARCHES: x86_64 - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Build cirros-x86_64 - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/stage ../build-*/tmp - tar -cJf cirros-x86_64.tar.xz ../build-* - - - name: Upload cirros-x86_64 build artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-x86_64 - path: cirros-x86_64.tar.xz - - build-cirros-powerpc: - name: powerpc - runs-on: ubuntu-18.04 - env: - ARCHES: powerpc - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Build cirros-powerpc - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/stage ../build-*/tmp - tar -cJf cirros-powerpc.tar.xz ../build-* - - - name: Upload cirros-powerpc build artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-powerpc - path: cirros-powerpc.tar.xz - - build-cirros-ppc64: - name: ppc64 - runs-on: ubuntu-18.04 - env: - ARCHES: ppc64 - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Build cirros-ppc64 - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/stage ../build-*/tmp - tar -cJf cirros-ppc64.tar.xz ../build-* - - - name: Upload cirros-ppc64 build artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-ppc64 - path: cirros-ppc64.tar.xz - - build-cirros-ppc64le: - name: ppc64le - runs-on: ubuntu-18.04 - env: - ARCHES: ppc64le - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Build cirros-ppc64le - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/stage ../build-*/tmp - tar -cJf cirros-ppc64le.tar.xz ../build-* - - - name: Upload cirros-ppc64le build artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-ppc64le - path: cirros-ppc64le.tar.xz diff --git a/.github/workflows/build-cirros.yaml b/.github/workflows/build-cirros.yaml new file mode 100644 index 0000000..c542e2c --- /dev/null +++ b/.github/workflows/build-cirros.yaml @@ -0,0 +1,54 @@ +name: CirrOS image builder + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + cirros-build-matrix: + strategy: + matrix: + # i386, powerpc, and ppc64 will be dropped in CirrOS 0.6.x + arch: [aarch64, arm, i386, x86_64, powerpc, ppc64, ppc64le] + + runs-on: ubuntu-20.04 + + env: + ARCHES: ${{ matrix.arch }} + BOOTTEST: "true" + QUIET: 1 + + steps: + - name: Pull cirros source artifacts + uses: actions/checkout@v3 + + - name: Cache download + uses: actions/cache@v3 + with: + key: downloads-${{ matrix.arch }}-${{ hashFiles('bin/build-release') }} + path: download/ + + - name: Cache ccache + uses: actions/cache@v3 + with: + key: ccache-${{ matrix.arch }}-${{ hashFiles('bin/build-release') }} + path: ccache/ + + - name: Prepare job environment + run: bin/system-setup + + - name: Install job dependencies + run: sudo apt-get install cloud-utils qemu-system openbios-ppc + + - name: Build cirros image + run: bin/build-release daily + + - name: Upload build artifacts + uses: actions/upload-artifact@v3 + with: + name: cirros-${{ matrix.arch }} + path: release/ diff --git a/.github/workflows/test-cirros-bionic.yaml b/.github/workflows/test-cirros-bionic.yaml deleted file mode 100644 index f7e287b..0000000 --- a/.github/workflows/test-cirros-bionic.yaml +++ /dev/null @@ -1,199 +0,0 @@ -name: Test CirrOS build - -on: - pull_request: - types: - - opened - branches: - - master - -jobs: - test-cirros-aarch64: - name: aarch64 - runs-on: ubuntu-18.04 - env: - ARCHES: aarch64 - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Build cirros-aarch64 - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp - tar -cJf cirros-aarch64-build-logs.tar.xz ../build-* - - - name: Upload cirros-aarch64 build log artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-aarch64-build-logs - path: cirros-aarch64-build-logs.tar.xz - - test-cirros-arm: - name: arm - runs-on: ubuntu-18.04 - env: - ARCHES: arm - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Build cirros-arm - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp - tar -cJf cirros-arm-build-logs.tar.xz ../build-* - - - name: Upload cirros-arm build log artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-arm-build-logs - path: cirros-arm-build-logs.tar.xz - - test-cirros-i386: - name: i386 - runs-on: ubuntu-18.04 - env: - ARCHES: i386 - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Build cirros-i386 - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp - tar -cJf cirros-i386-build-logs.tar.xz ../build-* - - - name: Upload cirros-i386 build log artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-i386-build-logs - path: cirros-i386-build-logs.tar.xz - - test-cirros-x64_64: - name: x86_64 - runs-on: ubuntu-18.04 - env: - ARCHES: x86_64 - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Build cirros-x86_64 - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp - tar -cJf cirros-x86_64-build-logs.tar.xz ../build-* - - - name: Upload cirros-x86_64 build log artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-x86_64-build-logs - path: cirros-x86_64-build-logs.tar.xz - - test-cirros-powerpc: - name: powerpc - runs-on: ubuntu-18.04 - env: - ARCHES: powerpc - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Build cirros-powerpc - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp - tar -cJf cirros-powerpc-build-logs.tar.xz ../build-* - - - name: Upload cirros-powerpc build log artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-powerpc-build-logs - path: cirros-powerpc-build-logs.tar.xz - - test-cirros-ppc64: - name: ppc64 - runs-on: ubuntu-18.04 - env: - ARCHES: ppc64 - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Build cirros-ppc64 - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp - tar -cJf cirros-ppc64-build-logs.tar.xz ../build-* - - - name: Upload cirros-ppc64 build log artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-ppc64-build-logs - path: cirros-ppc64-build-logs.tar.xz - - test-cirros-ppc64le: - name: ppc64le - runs-on: ubuntu-18.04 - env: - ARCHES: ppc64le - BOOTTEST: "true" - QUIET: 1 - steps: - - name: Pull cirros source artifacts - uses: actions/checkout@v3 - - - name: Cache ccache and download - uses: actions/cache@v3 - with: - path: | - ../ccache - ../download - key: cirros-ppc64le-test-cache - - - name: Build cirros-ppc64le - shell: bash - run: | - sudo apt-get install -y cloud-utils qemu-system openbios-ppc - ./bin/system-setup - ./bin/build-release daily - rm -rf ../build-*/build ../build-*/release ../build-*/stage ../build-*/tmp - tar -cJf cirros-ppc64le-build-logs.tar.xz ../build-* - - - name: Upload cirros-ppc64le build log artifacts - uses: actions/upload-artifact@v3 - with: - name: cirros-ppc64le-build-logs - path: cirros-ppc64le-build-logs.tar.xz