b5914277d3
instead of building the packaged binaries with the `bindata` tag, this introduces a new forgejo-common package which contains common assets and architecture independent files. This is the first of a handful of PRs that will ultimately enable building packages for multiple architectures.
232 lines
6.5 KiB
YAML
232 lines
6.5 KiB
YAML
on: [push, pull_request]
|
|
jobs:
|
|
mirror:
|
|
runs-on: bookworm
|
|
if: github.event_name == 'push' && github.repository == 'forgejo-contrib/forgejo-deb'
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: "mirror repo: code.forgejo.org"
|
|
env:
|
|
FORGEJO_DEST: code.forgejo.org
|
|
FORGEJO_KEY: ${{ secrets.cfo_api_key }}
|
|
run: ./.action-forgejo-mirror.sh
|
|
|
|
build-forgejo-deb:
|
|
runs-on: bullseye
|
|
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 amd64
|
|
run: ./.ci-make.sh submodule-build forgejo forgejo-bin
|
|
|
|
- name: Build Forgejo (with SQLite) for amd64
|
|
run: ./.ci-make.sh submodule-build forgejo forgejo-sqlite-bin
|
|
env:
|
|
TAGS: 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_*_amd64.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: 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_*_amd64.deb
|
|
|
|
installtest-bullseye-sqlite:
|
|
runs-on: bullseye
|
|
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_*_amd64.deb
|
|
|
|
installtest-buster-sqlite:
|
|
runs-on: 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-sqlite_*_amd64.deb
|
|
|
|
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_*_amd64.deb
|
|
|
|
testsuite-repo-upgrade-sqlite:
|
|
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 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_*_amd64.deb
|
|
- run: ./.ci-make.sh verify-data-dir-chmod
|
|
|
|
installtest-buster-bin:
|
|
runs-on: 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_*_amd64.deb
|
|
|
|
publish-release-repo:
|
|
runs-on: bookworm
|
|
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') && github.repository == 'forgejo-contrib/forgejo-deb'
|
|
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://codeberg.org
|
|
token: ${{ secrets.codeberg_api_key }}
|
|
release-dir: forgejo-release
|
|
|
|
- uses: actions/forgejo-release@v1
|
|
with:
|
|
direction: upload
|
|
url: https://code.forgejo.org
|
|
token: ${{ secrets.cfo_api_key }}
|
|
release-dir: forgejo-release
|
|
|
|
- name: Debian package registry publish
|
|
env:
|
|
FORGEJO_SITE: https://code.forgejo.org
|
|
FORGEJO_OWNER: forgejo-contrib
|
|
DEBIAN_DIST: bullseye
|
|
DEBIAN_COMPONENT: forgejo-lts
|
|
FORGEJO_KEY: ${{ secrets.cfo_api_key }}
|
|
run: |
|
|
cd forgejo-release
|
|
../.ci-forgejo-apt.sh *.deb
|
|
cd ..
|