Merge pull request #267 from fosslinux/gh-actions

Github actions
This commit is contained in:
Andrius Štikonas 2023-03-18 19:04:44 +00:00 committed by GitHub
commit c5905d5f05
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 97 additions and 85 deletions

View File

@ -1,15 +0,0 @@
#!/usr/bin/expect
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
set timeout -1
spawn python3 rootfs.py --qemu-cmd qemu-system-x86_64 --qemu-ram 3500
expect {
"not syncing: Attempted to kill init" {}
"Bootstrapping completed." {}
}
send -- "\x01"
send -- "x"

View File

@ -1,70 +0,0 @@
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
pylint_task:
container:
image: debian:bullseye
deps_script:
- apt-get -y update
- apt-get -y dist-upgrade
- apt-get -y install python3-pip python3-requests
- apt-get -y clean
- pip3 install pylint
check_script:
- pylint rootfs.py sysa.py sysc.py lib/utils.py lib/sysgeneral.py lib/tmpdir.py --disable=duplicate-code
shell_lint_task:
container:
image: debian:stable
deps_script:
- apt-get -y update
- apt-get -y dist-upgrade
- apt-get -y install shellcheck
- apt-get -y clean
check_script:
- shellcheck sysa/run.sh sysa/run2.sh sysb/init sysb/run.sh sysc/init sysc/run.sh sysa/helpers.sh download-distfiles.sh
reuse_lint_task:
container:
image: debian:stable
deps_script:
- apt-get -y update
- apt-get -y dist-upgrade
- apt-get -y install python3-pip git
- apt-get -y clean
- pip3 install reuse
check_script:
- reuse lint
# XXX: Takes too long right now
#run_task:
# timeout_in: 180m
# container:
# image: potyarkin/molecule:host-kvm
# kvm: true
# cpu: 2
# memory: 4G
# # Required background services
# dbus_background_script:
# - mkdir -p /var/run/dbus
# - /usr/bin/dbus-daemon --system --nofork --nopidfile
# virtlogd_background_script:
# - /usr/sbin/virtlogd
# libvirtd_background_script:
# - sleep 2 && /usr/sbin/libvirtd
# iptables_legacy_script:
# - update-alternatives --set iptables /usr/sbin/iptables-legacy
# deps_script:
# - apt-get -y update
# - apt-get -y dist-upgrade
# - apt-get -y install sudo git cpio linux-image-4.19.0-16-amd64 expect wget
# - apt-get -y clean
# submodule_script:
# - git submodule update --init --recursive
# kernel_script:
# - cp /boot/vmlinuz-4.19.0-16-amd64 ./kernel
# run_script:
# - ./.cirrus.expect | tee -a /tmp/run.log
# - grep -q 'Bootstrapping completed.' /tmp/run.log

52
.github/workflows/bwrap.yml vendored Normal file
View File

@ -0,0 +1,52 @@
# SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
name: Run under bubblewrap
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
jobs:
run:
name: Run under bubblewrap
runs-on: ubuntu-latest
steps:
- name: Install bubblewrap
run: sudo apt install bubblewrap
- name: Checkout repo
uses: actions/checkout@v3
with:
submodules: recursive
- name: Query cache for sources
id: cache
uses: actions/cache/restore@v3
with:
path: |
sysa/distfiles
sysc/distfiles
key: cache-${{ hashFiles('sys*/*/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: |
sysa/distfiles
sysc/distfiles
key: cache-${{ hashFiles('sys*/*/sources') }}
- name: Run bootstrap
id: bootstrap
run: ./rootfs.py --bwrap --external-sources --preserve
- name: Archive created packages
if: steps.bootstrap.conclusion == 'success'
uses: actions/upload-artifact@v3
with:
name: packages
path: tmp/sysa/sysc_image/usr/src/repo/**

44
.github/workflows/lint.yml vendored Normal file
View File

@ -0,0 +1,44 @@
# SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
name: Linters
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
jobs:
pylint:
name: Lint Python files
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Install pylint
run: sudo pip3 install pylint
- name: pylint
run: pylint rootfs.py sysa.py sysc.py lib/utils.py lib/sysgeneral.py lib/tmpdir.py --disable=duplicate-code
shellcheck:
name: Lint shell files
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: shellcheck
run: shellcheck sysa/run.sh sysa/run2.sh sysb/init sysb/run.sh sysc/init sysc/run.sh sysa/helpers.sh download-distfiles.sh
reuse:
name: Lint reuse information
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Install reuse
run: sudo pip3 install reuse
- name: reuse
run: reuse lint

View File

@ -7,6 +7,7 @@
# SPDX-FileCopyrightText: 2021-23 fosslinux <fosslinux@aussies.space>
import os
# pylint: disable=deprecated-module
from distutils.dir_util import copy_tree
import shutil
import tarfile