continuwuity-bsd/.forgejo/workflows/build-freebsd-core.yml

58 lines
2 KiB
YAML

on:
workflow_call:
inputs:
freebsd:
required: true
type: string
cpu:
required: true
type: string
arch:
required: true
type: string
flavor:
required: true
type: string
jobs:
build-freebsd-${{ inputs.freebsd }}-${{ inputs.arch }}-${{ inputs.cpu }}:
name: FreeBSD ${{ inputs.freebsd }} ${{ inputs.arch }} ${{ inputs.cpu }}
runs-on: freebsd-${{ inputs.freebsd }}-${{ inputs.arch }}
env:
PORTSDIR: ${{ forgejo.workspace }}/ports
DISTDIR: ${{ forgejo.workspace }}/distfiles
CPUTYPE: ${{ inputs.cpu }}
steps:
- name: Clone
run: |
git clone --quiet -c http.extraHeader="Authorization: token ${{ forgejo.token }}" --revision ${{ forgejo.sha }} ${{ forgejo.server_url }}/${{ forgejo.repository }} continuwuity-bsd
- name: Clone ports tree
run: |
git clone --quiet --depth 1 --filter blob:none --sparse https://code.kat5.dev/mirrors/freebsd-ports ports
cd ports
git sparse-checkout set Mk/ Templates/ Keywords/ Tools/
- name: Compute package version
id: version
run: |
cd continuwuity-bsd/freebsd
echo "pkgversion=$(make -VPKGVERSION)" | tee $FORGEJO_OUTPUT
- name: Build
run: |
cd continuwuity-bsd/freebsd
make package
mv work-${{ inputs.flavor }}/pkg/continuwuity-${{ inputs.flavor }}-${{ steps.version.outputs.pkgversion }}.pkg continuwuity-${{ inputs.flavor }}-${{ steps.version.outputs.pkgversion }}-freebsd${{ inputs.freebsd}}-${{ inputs.arch }}-${{ inputs.cpu}}.pkg
env:
FLAVORS: ${{ inputs.flavor }}
FLAVOR: ${{ inputs.flavor }}
PKGNAMESUFFIX: -${{ inputs.flavor }}
- name: Upload package
uses: https://data.forgejo.org/forgejo/upload-artifact@v4
with:
name: freebsd${{ inputs.freebsd }}-${{ inputs.arch }}-${{ inputs.cpu }}
path: "continuwuity-bsd/freebsd/**/*.pkg"
compression-level: 0