Build Full iso (hacking tools included) #14
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
name: Build Full iso (hacking tools included) | |
on: | |
workflow_dispatch: | |
# schedule: | |
# - cron: '30 2 * * *' | |
jobs: | |
prepare-release: | |
runs-on: self-hosted | |
steps: | |
- name: Allow workflow to be cancelled | |
uses: styfle/cancel-workflow-action@0.9.0 | |
build-release: | |
runs-on: self-hosted | |
needs: [prepare-release] | |
permissions: | |
contents: write | |
container: | |
image: ghcr.io/evangelospro/archbase:latest | |
options: --privileged | |
steps: | |
- name: Cleanup | |
uses: rtCamp/action-cleanup@master | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Timezone and locales | |
run: | | |
# Set timezone and locale | |
sudo ln -sf /usr/share/zoneinfo/Europe/Athens /etc/localtime | |
# echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen | |
- name: Check dependencies | |
run: | | |
# Speedup package building with some custom options | |
cp dot_config/pacman/makepkg.conf /etc/makepkg.conf | |
# Only do this in a container not when building locally, building with root is DANGEROUS!!!(I removed ther root check on this copy) | |
cp iso/makepkg /usr/bin/makepkg | |
cd iso | |
# MUST RUN ./setup.sh on new systems to add chaotic-aur and multilib already done in the used docker container no need to redo | |
# Install necessary packages | |
sudo pacman -Syu go archiso gcc pkg-config zip cargo scdoc wlroots meson ninja cmake --needed --noconfirm | |
- name: Build ISO | |
run: | | |
cd iso | |
./elarch-repo.sh enable | |
./aur.sh enable | |
./build.sh full | |
- name: Get release tag | |
run: echo "release-tag"="ELARCH_FULL_$(date +'%d/%m/%Y-%H-%M-%S')" >> $GITHUB_ENV | |
- name: Upload Releases only if build was successful | |
uses: softprops/action-gh-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ env.release-tag }} | |
files: | | |
iso/isoOUT/*.iso.sha256 | |
iso/isoOUT/*.part* | |
iso/archiso/packages.x86_64 | |
fail_on_unmatched_files: true | |
generate_release_notes: true |