forgejo-deb/.forgejo/workflows/forgejo-deb.yml

125 lines
3.2 KiB
YAML

on:
push:
tags:
- "*"
jobs:
build-forgejo-deb:
runs-on: bookworm
steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
fetch-tags: true
filter: tree:0
- uses: actions/setup-node@v3
with:
node-version: 20
- uses: actions/setup-go@v4
with:
go-version: "1.22"
check-latest: true
- name: "actions prep: build-forgejo-deb"
id: ciprep
run: ./.ci-make.sh actions-prep build-forgejo-deb
- uses: crystal/install-jq-action@v2.1.0
- run: ./.ci-make.sh ci-verify forgejo
- run: ./.ci-make.sh submodule-make forgejo deps-frontend
- run: ./.ci-make.sh submodule-make forgejo deps-backend
- name: tag pre-condition
run: |
cd forgejo
git checkout ${{ env.GITHUB_REF_NAME }}
# - run: ./.ci-make.sh submodule-make forgejo security-check
- run: ./.ci-make.sh submodule-make forgejo frontend
# - run: ./.ci-make.sh submodule-make forgejo checks-backend
- name: Download Forgejo binary
run: ./.ci-make.sh download-binary forgejo-bin-dl
- name: Build Forgejo for arm64
run: ./.ci-make.sh submodule-build forgejo forgejo-bin
env:
TAGS: bindata
- run: ./.ci-make.sh package-prep
- run: ./.ci-make.sh package-build-deps
- run: ./.ci-make.sh package-build actions
- run: ./.ci-make.sh package-clean
- name: generate sha256
run: |
./.ci-make.sh pkg-gen-sha256
./.ci-make.sh preview-sha256
- uses: actions/upload-artifact@v3
with:
name: forgejo-deb-${{ steps.ciprep.outputs.artifactlabel }}
path: |
*.deb
*.deb.sha256
installtest-bookworm-user:
runs-on: bookworm
steps:
- uses: actions/checkout@v4
- name: "actions prep: installtest"
id: ciprep
run: ./.ci-make.sh actions-prep installtest
- uses: actions/download-artifact@v3
with:
name: forgejo-deb-${{ steps.ciprep.outputs.artifactlabel }}
- run: ./.ci-make.sh test-userinst-prep
- run: ./.ci-make.sh install-run-test ./forgejo_*_arm64.deb
publish-release-repo:
runs-on: bookworm
steps:
- uses: actions/checkout@v4
- name: actions prep
id: ciprep
run: ./.ci-make.sh actions-prep
- uses: actions/download-artifact@v3
with:
name: forgejo-deb-${{ steps.ciprep.outputs.artifactlabel }}
- uses: crystal/install-jq-action@v2.1.0
- run: mkdir forgejo-release
- run: mv *.deb *.deb.sha256 forgejo-release/
- uses: actions/forgejo-release@main
with:
direction: upload
url: https://git.alexjanka.com
token: ${{ secrets.PACKAGING_TOKEN }}
release-dir: forgejo-release
- name: Debian package registry publish
env:
FORGEJO_SITE: https://git.alexjanka.com
FORGEJO_OWNER: alex
DEBIAN_DIST: testing
DEBIAN_COMPONENT: forgejo
FORGEJO_KEY: ${{ secrets.PACKAGING_TOKEN }}
run: |
cd forgejo-release
../.ci-forgejo-apt.sh *.deb
cd ..