diff options
Diffstat (limited to '.forgejo/workflows')
| -rw-r--r-- | .forgejo/workflows/forgejo-deb.yml | 215 |
1 files changed, 215 insertions, 0 deletions
diff --git a/.forgejo/workflows/forgejo-deb.yml b/.forgejo/workflows/forgejo-deb.yml new file mode 100644 index 0000000..5b5ba99 --- /dev/null +++ b/.forgejo/workflows/forgejo-deb.yml @@ -0,0 +1,215 @@ +on: [push] +jobs: + build-forgejo-deb: + runs-on: bullseye + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - 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 + + - name: fetch tags + run: | + git config --add safe.directory '*' + git fetch --tags --force + git submodule foreach 'git fetch --tags --force' + + - 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/') + 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 + + - 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 .. |
