Skip to content

Commit

Permalink
[infra/github] Introduce workflow for rootfs generation
Browse files Browse the repository at this point in the history
This commit introduces a GitHub Actions workflow to generate the rootfs

ONE-DCO-1.0-Signed-off-by: Hyeongseok Oh <[email protected]>
  • Loading branch information
hseok-oh committed Jan 10, 2025
1 parent 17453b5 commit fba88cd
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/generate-rootfs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Generate root file system for CI/CD cross build
name: 'Generate RootFS'

on:
pull_request:
branches:
- master
- release/*
paths:
- '.github/workflows/generate-rootfs.yml'
- 'tools/cross/**'
push:
branches:
- master
- release/*
paths:
- '.github/workflows/generate-rootfs.yml'
- 'tools/cross/**'
schedule:
# Every 1st day of the month at midnight (korean time zone, UTC+9:00)
- cron: '0 15 1 * *'
workflow_dispatch:

jobs:
gen-rootfs:
if: github.repository_owner == 'Samsung'
runs-on: ubuntu-22.04
strategy:
matrix:
os: [ focal, jammy, noble ]
arch: [ arm, aarch64 ]
fail-fast: false

steps:
- name: Install qemu
uses: docker/setup-qemu-action@v3

- name: Install debootstrap
run: sudo apt-get update && sudo apt-get install -y debootstrap

- name: Checkout
uses: actions/checkout@v4

- name: Generate RootFS
run: |
pushd tools/cross
sudo ./install_rootfs.sh ${{ matrix.arch }} ${{ matrix.os }} --skipunmount
sudo umount --recursive rootfs || true
sudo chown -R $(id -u):$(id -g) rootfs/${{ matrix.arch }}
popd
- name: Archive RootFS for PR
uses: actions/upload-artifact@v4
with:
name: rootfs_${{ matrix.arch }}_${{ matrix.os }}
# Set short-lived artifacts for PRs only to avoid cluttering the storage.
retention-days: ${{ github.event_name == 'pull_request' && '3' || '60' }}
path: |
tools/cross/rootfs/${{ matrix.arch }}/usr/
tools/cross/rootfs/${{ matrix.arch }}/etc/

0 comments on commit fba88cd

Please sign in to comment.