67 lines
2.9 KiB
YAML
67 lines
2.9 KiB
YAML
name: Build FreeBSD nightly package
|
|
|
|
concurrency:
|
|
group: "build-freebsd-nightly-${{ github.ref }}"
|
|
cancel-in-progress: true
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: '0 2 * * *'
|
|
timezone: America/New_York
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: freebsd-nightly
|
|
env:
|
|
PORTSDIR: ${{ forgejo.workspace }}/ports
|
|
|
|
steps:
|
|
- name: Clone
|
|
run: |
|
|
git clone --quiet --revision ${{ forgejo.sha }} ${{ forgejo.server_url }}/${{ forgejo.repository }}
|
|
rm continuwuity-bsd/freebsd/files/patch-continuwuity_vendor_*
|
|
|
|
- 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: Get dist version
|
|
id: distversion
|
|
working-directory: continuwuity-bsd/freebsd
|
|
run: |
|
|
make -f Makefile.nightly extract
|
|
cd work/continuwuity-nightly-/continuwuity/
|
|
echo "version=$(cargo metadata --frozen --no-deps --format-version 1 | jq -r ' .packages[] | select(.name=="conduwuit") | .version')" | tee $FORGEJO_OUTPUT
|
|
|
|
- name: Compute package version
|
|
id: pkgversion
|
|
working-directory: continuwuity-bsd/freebsd
|
|
env:
|
|
DISTVERSION: ${{ steps.distversion.outputs.version }}
|
|
run: |
|
|
echo "version=$(PORTEPOCH=$(date +%Y%m%d%H%M) make -f Makefile.nightly -VPKGVERSION)" | tee $FORGEJO_OUTPUT
|
|
echo "version_safe=$(PORTEPOCH=$(date +%Y%m%d%H%M) make -f Makefile.nightly -VPKGVERSION)" | sed s/,/-/ | tee -a $FORGEJO_OUTPUT
|
|
echo "epoch=$(date +%Y%m%d%H%M)" | tee -a $FORGEJO_OUTPUT
|
|
|
|
- name: Build
|
|
working-directory: continuwuity-bsd/freebsd
|
|
env:
|
|
DISTVERSION: ${{ steps.distversion.outputs.version }}
|
|
PORTEPOCH: ${{ steps.pkgversion.outputs.epoch }}
|
|
CPUTYPE: haswell
|
|
run: |
|
|
mv work/continuwuity-nightly- work/continuwuity-nightly-${{ steps.distversion.outputs.version }}
|
|
make -f Makefile.nightly package
|
|
|
|
- name: Upload package
|
|
run: |
|
|
curl --fail-with-body --upload-file continuwuity-bsd/freebsd/work/pkg/continuwuity-nightly-${{ steps.pkgversion.outputs.version }}.pkg --header "Authorization: Bearer ${{ secrets.PUSH_TOKEN }}" ${{ forgejo.server_url }}/api/packages/katie/generic/continuwuity-freebsd-nightly/${{ forgejo.ref_name }}-${{ forgejo.run_number }}/continuwuity-nightly-${{ steps.pkgversion.outputs.version_safe }}-amd64-haswell.pkg
|
|
|
|
- name: Copy package to repo
|
|
run: |
|
|
echo "${{ secrets.DEPLOY_KEY }}" > deploy.key
|
|
chmod 600 deploy.key
|
|
rsync -P -e "ssh -i deploy.key -o StrictHostKeyChecking=no" continuwuity-bsd/freebsd/work/pkg/continuwuity-nightly-${{ steps.pkgversion.outputs.version }}.pkg deploy@lernie.hq.kat5.dev:/usr/local/www/pkg.kat5.dev/continuwuity-nightly/FreeBSD:15:amd64
|