Allow the user to use wrap as part of the bootstrap process #3
Workflow file for this run
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
# SPDX-FileCopyrightText: 2023 fosslinux <[email protected]> | |
# SPDX-FileCopyrightText: 2024 Max Hearnden <[email protected]> | |
# | |
# SPDX-License-Identifier: GPL-3.0-or-later | |
name: Run under wrap | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: | |
- master | |
jobs: | |
pass1: | |
name: Run up to Linux build under wrap | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
# There is a strange bug(?) in nongnu, when you clone a git repository | |
# against a commit != HEAD with depth=1, it errors out. | |
fetch-depth: 0 | |
- name: Query cache for sources | |
id: cache | |
uses: actions/cache/restore@v3 | |
with: | |
path: | | |
distfiles | |
key: cache-${{ hashFiles('steps/*/sources') }} | |
- name: Get sources | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: ./download-distfiles.sh | |
- name: Cache sources | |
if: steps.cache.outputs.cache-hit != 'true' | |
uses: actions/cache/save@v3 | |
with: | |
path: | | |
distfiles | |
key: cache-${{ hashFiles('steps/*/sources') }} | |
- name: Run bootstrap | |
run: ./rootfs.py --wrap --external-sources --build-kernels --cores 2 --internal-ci pass1 | |
- name: Archive created packages | |
if: failure() # archive failed builds progress | |
uses: actions/upload-artifact@v3 | |
with: | |
name: packages | |
path: target/external/repo/** | |
- name: Tar pass1 image | |
run: tar -cf pass1_image.tar target | |
- name: Archive pass1_image | |
uses: actions/upload-artifact@v3 | |
with: | |
name: internal_pass1_image | |
path: pass1_image.tar | |
pass2: | |
name: Run up to Python bootstrap under wrap | |
needs: pass1 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
# There is a strange bug(?) in nongnu, when you clone a git repository | |
# against a commit != HEAD with depth=1, it errors out. | |
fetch-depth: 0 | |
- name: Get pass1_image | |
uses: actions/download-artifact@v3 | |
with: | |
name: internal_pass1_image | |
- name: Extract pass1_image | |
run: tar -xf pass1_image.tar | |
- name: Query cache for sources | |
id: cache | |
uses: actions/cache/restore@v3 | |
with: | |
path: | | |
distfiles | |
key: cache-${{ hashFiles('steps/*/sources') }} | |
- name: Get sources | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: ./download-distfiles.sh | |
- name: Cache sources | |
if: steps.cache.outputs.cache-hit != 'true' | |
uses: actions/cache/save@v3 | |
with: | |
path: | | |
distfiles | |
key: cache-${{ hashFiles('steps/*/sources') }} | |
- name: Run bootstrap | |
run: ./rootfs.py --wrap --external-sources --build-kernels --cores 2 --internal-ci pass2 | |
- name: Archive created packages | |
if: failure() # archive failed builds progress | |
uses: actions/upload-artifact@v3 | |
with: | |
name: internal_packages_pass2 | |
path: target/external/repo/** | |
- name: Tar pass2 image | |
run: tar -cf pass2_image.tar target | |
- name: Archive pass2_image | |
uses: actions/upload-artifact@v3 | |
with: | |
name: internal_pass2_image | |
path: pass2_image.tar | |
pass3: | |
name: Run remaining builds under wrap | |
needs: pass2 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
# There is a strange bug(?) in nongnu, when you clone a git repository | |
# against a commit != HEAD with depth=1, it errors out. | |
fetch-depth: 0 | |
- name: Get pass2_image | |
uses: actions/download-artifact@v3 | |
with: | |
name: internal_pass2_image | |
- name: Extract pass2_image | |
run: tar -xf pass2_image.tar | |
- name: Query cache for sources | |
id: cache | |
uses: actions/cache/restore@v3 | |
with: | |
path: | | |
distfiles | |
key: cache-${{ hashFiles('steps/*/sources') }} | |
- name: Get sources | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: ./download-distfiles.sh | |
- name: Cache sources | |
if: steps.cache.outputs.cache-hit != 'true' | |
uses: actions/cache/save@v3 | |
with: | |
path: | | |
distfiles | |
key: cache-${{ hashFiles('steps/*/sources') }} | |
- name: Run bootstrap | |
run: ./rootfs.py --wrap --external-sources --build-kernels --cores 2 --internal-ci pass3 | |
- name: Archive created packages | |
if: always() # archive both failed and successful builds | |
uses: actions/upload-artifact@v3 | |
with: | |
name: packages | |
path: target/external/repo/** |