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 - 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 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 ..