This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
System image build #67
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: System image build | |
env: | |
REGISTRY: ghcr.io | |
IMAGE_NAME: ${{ github.repository }} | |
on: | |
push: | |
branches: | |
- master | |
workflow_dispatch: | |
jobs: | |
build-docker-image: | |
name: Build and publish docker container | |
uses: ./.github/workflows/build-builder.yml | |
list-pkgbuilds: | |
name: List Packages | |
runs-on: ubuntu-latest | |
outputs: | |
aur-pkgs: ${{ steps.set-aur-pkgs.outputs.matrix }} | |
pkgs: ${{ steps.set-pkgs.outputs.matrix }} | |
steps: | |
- uses: actions/checkout@v3 | |
- id: set-aur-pkgs | |
run: source ./manifest ; echo "matrix=$(echo ${AUR_PACKAGES} | jq -R -s -c 'split(" ")')" >> $GITHUB_OUTPUT | |
shell: bash | |
- id: set-pkgs | |
run: echo "matrix=$(ls -d pkgs/*/ | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT | |
shell: bash | |
aur-pkgbuild: | |
needs: | |
- build-docker-image | |
- list-pkgbuilds | |
name: Build AUR package | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
package: ${{ fromJson(needs.list-pkgbuilds.outputs.aur-pkgs) }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@v4 | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
- name: Build packages | |
run: | | |
docker pull ${{ steps.meta.outputs.tags }} | |
docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/aur-pkgs/build-aur-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} | |
- name: Upload Package Archives | |
uses: actions/upload-artifact@v3 | |
with: | |
name: AUR-packages | |
path: aur-pkgs/*.pkg.tar* | |
pkgbuild: | |
needs: | |
- build-docker-image | |
- list-pkgbuilds | |
name: Build package | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
package: ${{ fromJson(needs.list-pkgbuilds.outputs.pkgs) }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@v4 | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
- name: Build packages | |
run: | | |
docker pull ${{ steps.meta.outputs.tags }} | |
docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/pkgs/build-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} | |
- name: Upload Package Archives | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Packages | |
path: pkgs/*.pkg.tar* | |
build: | |
needs: | |
- build-docker-image | |
- aur-pkgbuild | |
- pkgbuild | |
name: Build KhimeraOS UNSTABLE image | |
uses: ./.github/workflows/build-system-image.yml | |
with: | |
postfix: "[UNSTABLE]" |