From 6b4dd37feeaf0254574224061af4765ef0e64f53 Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Fri, 20 Oct 2023 16:00:40 +0200 Subject: [PATCH] [CI] Forgejo Actions based CI for PR & branches (squash) use node:20-bookworm No longer use the custom test-env image, it is unecessary technical debt. Also upgrade to bitnami/minio:2023.8.31 to align with what Gitea tests (cherry picked from commit d9b77fd2735a52043b4f8f1baaaa2e15073db621) Conflicts: .forgejo/workflows/testing.yml mysql was mysql-8 in v1.21 and below (cherry picked from commit 04846c6a7855d7275b4abdd90a56b22113944297) (cherry picked from commit 261026f15447013975822bbcec40bd4c661a641f) (cherry picked from commit 777ae8f3d9efd30bfc0fb071242c5b8442a2b1fc) (cherry picked from commit 540522b5e3f4df95a4d34f3364acacfbdebfc0d5) --- .forgejo/workflows/testing.yml | 80 ++++++++++++++++++++++------------ 1 file changed, 53 insertions(+), 27 deletions(-) diff --git a/.forgejo/workflows/testing.yml b/.forgejo/workflows/testing.yml index fcba3ee681..3f01109ee7 100644 --- a/.forgejo/workflows/testing.yml +++ b/.forgejo/workflows/testing.yml @@ -10,6 +10,8 @@ on: jobs: lint-backend: runs-on: docker + container: + image: 'docker.io/node:20-bookworm' steps: - uses: https://code.forgejo.org/actions/checkout@v3 - uses: https://code.forgejo.org/actions/setup-go@v4 @@ -22,6 +24,8 @@ jobs: TAGS: bindata sqlite sqlite_unlock_notify checks-backend: runs-on: docker + container: + image: 'docker.io/node:20-bookworm' steps: - uses: https://code.forgejo.org/actions/checkout@v3 - uses: https://code.forgejo.org/actions/setup-go@v4 @@ -34,13 +38,13 @@ jobs: runs-on: docker needs: [lint-backend, checks-backend] container: - image: codeberg.org/forgejo/test_env:main + image: 'docker.io/node:20-bookworm' services: minio: - image: bitnami/minio:2021.3.17 + image: 'docker.io/bitnami/minio:2023.8.31' env: - MINIO_ACCESS_KEY: 123456 - MINIO_SECRET_KEY: 12345678 + MINIO_ROOT_USER: 123456 + MINIO_ROOT_PASSWORD: 12345678 steps: - uses: https://code.forgejo.org/actions/checkout@v3 - uses: https://code.forgejo.org/actions/setup-go@v4 @@ -48,15 +52,16 @@ jobs: go-version: "1.21" - run: | git config --add safe.directory '*' - chown -R gitea:gitea . /go + adduser --quiet --comment forgejo --disabled-password forgejo + chown -R forgejo:forgejo . - run: | - su gitea -c 'make deps-backend' + su forgejo -c 'make deps-backend' - run: | - su gitea -c 'make backend' + su forgejo -c 'make backend' env: TAGS: bindata - run: | - su gitea -c 'make unit-test-coverage test-check' + su forgejo -c 'make unit-test-coverage test-check' timeout-minutes: 50 env: RACE_ENABLED: 'true' @@ -65,7 +70,7 @@ jobs: runs-on: docker needs: [lint-backend, checks-backend] container: - image: codeberg.org/forgejo/test_env:main + image: 'docker.io/node:20-bookworm' services: mysql8: image: mysql:8-debian @@ -81,17 +86,24 @@ jobs: - uses: https://code.forgejo.org/actions/setup-go@v4 with: go-version: "1.21" - - run: | + - name: install dependencies + run: | + export DEBIAN_FRONTEND=noninteractive + apt-get update -qq + apt-get install --no-install-recommends -qq -y git-lfs + - name: setup user and permissions + run: | git config --add safe.directory '*' - chown -R gitea:gitea . /go + adduser --quiet --comment forgejo --disabled-password forgejo + chown -R forgejo:forgejo . - run: | - su gitea -c 'make deps-backend' + su forgejo -c 'make deps-backend' - run: | - su gitea -c 'make backend' + su forgejo -c 'make backend' env: TAGS: bindata - run: | - su gitea -c 'make test-mysql8-migration test-mysql8' + su forgejo -c 'make test-mysql8-migration test-mysql8' timeout-minutes: 50 env: TAGS: bindata @@ -100,7 +112,7 @@ jobs: runs-on: docker needs: [lint-backend, checks-backend] container: - image: codeberg.org/forgejo/test_env:main + image: 'docker.io/node:20-bookworm' services: minio: image: bitnami/minio:2021.3.17 @@ -108,7 +120,7 @@ jobs: MINIO_ACCESS_KEY: 123456 MINIO_SECRET_KEY: 12345678 pgsql: - image: postgres:15 + image: 'docker.io/postgres:15' env: POSTGRES_DB: test POSTGRES_PASSWORD: postgres @@ -117,17 +129,24 @@ jobs: - uses: https://code.forgejo.org/actions/setup-go@v4 with: go-version: "1.21" - - run: | + - name: install dependencies + run: | + export DEBIAN_FRONTEND=noninteractive + apt-get update -qq + apt-get install --no-install-recommends -qq -y git-lfs + - name: setup user and permissions + run: | git config --add safe.directory '*' - chown -R gitea:gitea . /go + adduser --quiet --comment forgejo --disabled-password forgejo + chown -R forgejo:forgejo . - run: | - su gitea -c 'make deps-backend' + su forgejo -c 'make deps-backend' - run: | - su gitea -c 'make backend' + su forgejo -c 'make backend' env: TAGS: bindata - run: | - su gitea -c 'make test-pgsql-migration test-pgsql' + su forgejo -c 'make test-pgsql-migration test-pgsql' timeout-minutes: 50 env: TAGS: bindata gogit @@ -138,23 +157,30 @@ jobs: runs-on: docker needs: [lint-backend, checks-backend] container: - image: codeberg.org/forgejo/test_env:main + image: 'docker.io/node:20-bookworm' steps: - uses: https://code.forgejo.org/actions/checkout@v3 - uses: https://code.forgejo.org/actions/setup-go@v4 with: go-version: "1.21" - - run: | + - name: install dependencies + run: | + export DEBIAN_FRONTEND=noninteractive + apt-get update -qq + apt-get install --no-install-recommends -qq -y git-lfs + - name: setup user and permissions + run: | git config --add safe.directory '*' - chown -R gitea:gitea . /go + adduser --quiet --comment forgejo --disabled-password forgejo + chown -R forgejo:forgejo . - run: | - su gitea -c 'make deps-backend' + su forgejo -c 'make deps-backend' - run: | - su gitea -c 'make backend' + su forgejo -c 'make backend' env: TAGS: bindata gogit sqlite sqlite_unlock_notify - run: | - su gitea -c 'make test-sqlite-migration test-sqlite' + su forgejo -c 'make test-sqlite-migration test-sqlite' timeout-minutes: 50 env: TAGS: bindata gogit sqlite sqlite_unlock_notify