continuwuity-bsd/.forgejo/workflows/release.yml

81 lines
2.5 KiB
YAML

on:
push:
tags:
- 'v*'
jobs:
freebsd:
uses: ./.forgejo/workflows/build-freebsd.yml
secrets: inherit
openbsd:
uses: ./.forgejo/workflows/build-openbsd.yml
secrets: inherit
netbsd:
uses: ./.forgejo/workflows/build-netbsd.yml
secrets: inherit
freebsd-repo:
needs: [freebsd]
runs-on: freebsd
steps:
- name: Download packages
uses: https://data.forgejo.org/forgejo/download-artifact@v4
with:
path: packages
- name: Reorganize
run: |
mkdir -p repo/FreeBSD:15:amd64 repo/FreeBSD:15:aarch64 repo/FreeBSD:14:amd64 repo/FreeBSD:14:aarch64
find packages -type f | sed -E 'p;s/packages\/freebsd([0-9]+)-([^-]+)-[^/]+\/(.+)-freebsd.+\.pkg/repo\/FreeBSD:\1:\2\/\3.pkg/' | xargs -n2 mv -v
- name: Copy packages to repo
run: |
echo "${{ secrets.DEPLOY_KEY }}" > deploy.key
chmod 600 deploy.key
rsync -rP -e "ssh -i deploy.key -o StrictHostKeyChecking=no" repo/* deploy@lernie.hq.kat5.dev:/usr/local/www/pkg.kat5.dev/continuwuity
openbsd-repo:
needs: [openbsd]
runs-on: freebsd
steps:
- name: Download packages
uses: https://data.forgejo.org/forgejo/download-artifact@v4
with:
path: packages
- name: Reorganize
run: |
mkdir -p repo/OpenBSD/7.9/amd64
find packages -type f | sed -E 'p;s/packages\/openbsd-(.+)\/(.+)-openbsd[0-9]+-([^-]+)-.+\.tgz/repo\/OpenBSD\/7.9\/\3\/\2-\1.tgz/' | xargs -n2 mv -v
- name: Copy to repo
run: |
echo "${{ secrets.DEPLOY_KEY }}" > deploy.key
chmod 600 deploy.key
rsync -rP -e "ssh -i deploy.key -o StrictHostKeyChecking=no" repo/* deploy@lernie.hq.kat5.dev:/usr/local/www/pkg.kat5.dev/continuwuity
create-release:
needs: [freebsd, openbsd, netbsd]
runs-on: freebsd
steps:
- name: Download packages
uses: https://data.forgejo.org/forgejo/download-artifact@v4
with:
path: packages
merge-multiple: true
- name: Reorganize
run: |
find packages -name "*.pkg" -type f | sed -E 'p;s/packages\/continuwuity-[^-]+/packages\/continuwuity/' | xargs -n2 mv -v
- name: Publish release
uses: https://github.com/softprops/action-gh-release@718ea10b132b3b2eba29c1007bb80653f286566b
with:
files: all/*
- name: Create artifact for mirror
uses: https://data.forgejo.org/forgejo/upload-artifact@v4
with:
name: all
path: packages/*
compression-level: 0