f985489b70
in addition to using the checkout action for all the fetches, this will make sure we get a deep clone of the repository that can be used to resolve tags for pull requests if the submodule is ahead of the latest tag in the main origin
234 lines
6.6 KiB
YAML
234 lines
6.6 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
|
|
env:
|
|
TAGS: bindata
|
|
|
|
- name: Build Forgejo (with SQLite) for amd64
|
|
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_*_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 ..
|