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 arm64 run: ./.ci-make.sh submodule-build forgejo forgejo-bin - name: Build Forgejo (with SQLite) for arm64 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_*_arm64.deb - uses: actions/upload-artifact@v3 with: name: forgejo-deb-${{ steps.ciprep.outputs.artifactlabel }} path: | *.deb *.deb.sha256 repo-deb/*.deb multitest-bookworm-lxc: runs-on: lxc-bookworm needs: [build-forgejo-deb] 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 - run: ./.ci-make.sh full-instance-clean - run: ./.ci-make.sh install-run-test ./forgejo_*_arm64.deb - run: ./.ci-make.sh full-instance-clean - run: ./.ci-make.sh install-run-test ./forgejo-bin_*_arm64.deb - run: ./.ci-make.sh full-instance-clean - run: ./.ci-make.sh test-userinst-prep - run: ./.ci-make.sh install-run-test ./forgejo-sqlite_*_arm64.deb - run: ./.ci-make.sh full-instance-clean userinst - run: ./.ci-make.sh test-userinst-prep - run: ./.ci-make.sh install-run-test ./forgejo_*_arm64.deb - run: ./.ci-make.sh full-instance-clean userinst - run: ./.ci-make.sh test-userinst-prep - run: ./.ci-make.sh install-run-test ./forgejo-bin_*_arm64.deb - run: ./.ci-make.sh full-instance-clean userinst - run: ./.ci-make.sh install-repo-test ./repo-deb/forgejo-deb-repo_0-0_all.deb forgejo-sqlite - run: ./.ci-make.sh install-run-test ./forgejo-sqlite_*_arm64.deb - run: ./.ci-make.sh verify-data-dir-chmod - run: ./.ci-make.sh full-instance-clean - run: ./.ci-make.sh install-repo-test ./repo-deb/forgejo-deb-repo_0-0_all.deb forgejo - run: ./.ci-make.sh install-run-test ./forgejo_*_arm64.deb - run: ./.ci-make.sh verify-data-dir-chmod - run: ./.ci-make.sh full-instance-clean - run: ./.ci-make.sh install-repo-test ./repo-deb/forgejo-deb-repo_0-0_all.deb forgejo-bin - run: ./.ci-make.sh install-run-test ./forgejo-bin_*_arm64.deb - run: ./.ci-make.sh verify-data-dir-chmod - run: ./.ci-make.sh full-instance-clean - run: ./.ci-make.sh complex-test split-deb-upgrade -sqlite - run: ./.ci-make.sh full-instance-clean - run: ./.ci-make.sh complex-test split-deb-upgrade - run: ./.ci-make.sh full-instance-clean multitest-bullseye-docker: runs-on: bullseye needs: [build-forgejo-deb] 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 - run: ./.ci-make.sh force-clean-forgejo - run: ./.ci-make.sh full-instance-clean - run: ./.ci-make.sh install-run-test ./forgejo_*_arm64.deb - run: ./.ci-make.sh force-clean-forgejo - run: ./.ci-make.sh full-instance-clean - run: ./.ci-make.sh install-run-test ./forgejo-bin_*_arm64.deb - run: ./.ci-make.sh force-clean-forgejo - run: ./.ci-make.sh full-instance-clean multitest-buster-docker: runs-on: buster needs: [build-forgejo-deb] env: TEST_DEBIAN_BUSTER: 1 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 - run: ./.ci-make.sh force-clean-forgejo - run: ./.ci-make.sh full-instance-clean - run: ./.ci-make.sh install-run-test ./forgejo_*_arm64.deb - run: ./.ci-make.sh force-clean-forgejo - run: ./.ci-make.sh full-instance-clean - run: ./.ci-make.sh install-run-test ./forgejo-bin_*_arm64.deb - run: ./.ci-make.sh force-clean-forgejo - run: ./.ci-make.sh full-instance-clean publish: 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/ - name: Debian package registry publish env: FORGEJO_SITE: https://git.alexjanka.com FORGEJO_OWNER: alex DEBIAN_DIST: testing DEBIAN_COMPONENT: main FORGEJO_KEY: ${{ secrets.cfo_api_key }} run: | cd forgejo-release ../.ci-forgejo-apt.sh *.deb cd ..