mirror of
https://github.com/kairos-io/packages.git
synced 2025-09-19 01:10:53 +00:00
72 lines
2.3 KiB
YAML
72 lines
2.3 KiB
YAML
name: Build just one package and push it to repo
|
|
concurrency:
|
|
group: "one-build"
|
|
#cancel-in-progress: true
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
package:
|
|
description: 'Package to build'
|
|
required: true
|
|
arch:
|
|
required: false
|
|
default: "amd64"
|
|
description: 'Arch to build for'
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
ARCH: ${{ github.event.inputs.arch }}
|
|
steps:
|
|
- name: Set final repo
|
|
run: |
|
|
FINAL_REPO=quay.io/kairos/packages
|
|
if [[ "${{ github.event.inputs.arch }}" == "arm64" ]]; then
|
|
FINAL_REPO=quay.io/kairos/packages-arm64
|
|
fi
|
|
|
|
echo "FINAL_REPO=$FINAL_REPO" >> "$GITHUB_ENV"
|
|
echo "Setting final repo to $FINAL_REPO"
|
|
- uses: actions/checkout@v4
|
|
- run: |
|
|
git fetch --prune --unshallow
|
|
mkdir build
|
|
- name: Download meta 🔧
|
|
uses: luet-lab/luet-github-action@master
|
|
with:
|
|
FINAL_REPO: ${{ env.action_state }}
|
|
REPOSITORY_TYPE: docker
|
|
downloadAllMeta: true
|
|
downloadFromList: true
|
|
downloadMeta: true
|
|
- name: Release space from worker
|
|
run: |
|
|
sudo rm -rf /usr/local/lib/android # will release about 10 GB if you don't need Android
|
|
sudo rm -rf /usr/share/dotnet # will release about 20GB if you don't need .NET
|
|
- name: Build packages 🔧
|
|
uses: luet-lab/luet-github-action@master
|
|
with:
|
|
build: true
|
|
fromIndex: false
|
|
onlyMissing: false
|
|
CURRENT_PACKAGE: ${{ github.event.inputs.package }}
|
|
FINAL_REPO: ${{ env.action_state }}
|
|
DOCKER_USERNAME: ${{ secrets.QUAY_USERNAME }}
|
|
DOCKER_PASSWORD: ${{ secrets.QUAY_PASSWORD }}
|
|
DOCKER_ENDPOINT: quay.io
|
|
REPOSITORY_TYPE: docker
|
|
pushFinalImages: true
|
|
pushCache: true
|
|
values: values/${{ github.event.inputs.arch }}.yaml
|
|
- name: Create repo 🔧
|
|
uses: luet-lab/luet-github-action@master
|
|
with:
|
|
FINAL_REPO: ${{ env.action_state }}
|
|
DOCKER_USERNAME: ${{ secrets.QUAY_USERNAME }}
|
|
DOCKER_PASSWORD: ${{ secrets.QUAY_PASSWORD }}
|
|
DOCKER_ENDPOINT: quay.io
|
|
REPOSITORY_TYPE: docker
|
|
createRepo: true
|
|
pushCache: true
|