forgejo-deb/.forgejo/workflows/forgejo-deb.yml
Alex Janka c9e6827093
Some checks are pending
/ build-forgejo-deb (push) Waiting to run
/ installtest-bookworm-sqlite (push) Waiting to run
/ installtest-bookworm-user (push) Waiting to run
/ testsuite-repo-upgrade-sqlite (push) Waiting to run
/ installtest-buster-bin (push) Waiting to run
/ publish-release-repo (push) Waiting to run
fix workflow for me
2024-06-15 12:11:46 +10:00

183 lines
5.1 KiB
YAML

on: [push, pull_request]
jobs:
build-forgejo-deb:
runs-on: docker://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 update-ref refs/heads/tag_test $(git rev-parse --verify HEAD)
- 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
- name: Build Forgejo (with SQLite) for arm64
run: ./.ci-make.sh submodule-build forgejo forgejo-sqlite-bin
env:
TAGS: bindata sqlite sqlite_unlock_notify
- 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: build repo package
run: |
cd repo-deb
./build.sh actions
- name: generate sha256
run: |
./.ci-make.sh pkg-gen-sha256
./.ci-make.sh preview-sha256
- run: ./.ci-make.sh install-run-test ./forgejo-sqlite_*_arm64.deb
- uses: actions/upload-artifact@v3
with:
name: forgejo-deb-${{ steps.ciprep.outputs.artifactlabel }}
path: |
*.deb
*.deb.sha256
repo-deb/*.deb
installtest-bookworm-sqlite:
runs-on: docker://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 install-run-test ./forgejo-sqlite_*_arm64.deb
installtest-bookworm-user:
runs-on: docker://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
testsuite-repo-upgrade-sqlite:
runs-on: docker://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 install-repo-test ./repo-deb/forgejo-deb-repo_0-0_all.deb forgejo-sqlite
- run: ./.ci-make.sh force-clean-forgejo
- run: ./.ci-make.sh install-run-test ./forgejo-sqlite_*_arm64.deb
- run: ./.ci-make.sh verify-data-dir-chmod
installtest-buster-bin:
runs-on: docker://buster
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 install-run-test ./forgejo-bin_*_arm64.deb
publish-release-repo:
runs-on: docker://bookworm
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
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@v1
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 ..