From ef8f099f9ea03d216324ceff348fe643240341dc 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) --- .forgejo/workflows/testing.yml | 82 ++++++++++++++++++++++------------ 1 file changed, 54 insertions(+), 28 deletions(-) diff --git a/.forgejo/workflows/testing.yml b/.forgejo/workflows/testing.yml index 8ccf896d8b..549be8f87f 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,10 +70,10 @@ jobs: runs-on: docker needs: [lint-backend, checks-backend] container: - image: codeberg.org/forgejo/test_env:main + image: 'docker.io/node:20-bookworm' services: mysql: - image: mysql:8-debian + image: 'docker.io/mysql:8-debian' env: MYSQL_ALLOW_EMPTY_PASSWORD: yes MYSQL_DATABASE: testgitea @@ -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-mysql-migration test-mysql' + su forgejo -c 'make test-mysql-migration test-mysql' 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