setup-forgejo/.forgejo/workflows/integration.yml

70 lines
2.5 KiB
YAML
Raw Normal View History

on:
push:
branches:
- 'main'
- 'v*'
pull_request:
2023-07-08 08:06:13 -04:00
2023-03-24 10:59:04 -04:00
jobs:
integration:
runs-on: self-hosted
2023-09-24 14:32:40 -04:00
strategy:
matrix:
info:
2023-12-02 15:37:56 -05:00
- version: "1.21"
image: codeberg.org/forgejo/forgejo
2023-09-24 14:32:40 -04:00
- version: "1.20"
image: codeberg.org/forgejo/forgejo
2023-03-24 10:59:04 -04:00
steps:
2023-10-28 18:37:25 -04:00
- uses: actions/checkout@v4
- shell: bash
2023-09-29 14:19:00 -04:00
run: |
LXC_IP_PREFIX=10.0.10 ./forgejo-dependencies.sh
2023-09-24 10:54:52 -04:00
export PATH=$(pwd):$PATH
2023-09-24 14:32:40 -04:00
forgejo.sh setup root admin1234 ${{ matrix.info.image }} ${{ matrix.info.version }}
forgejo-runner.sh setup
export FORGEJO_RUNNER_LOGS=forgejo-runner.log
url=http://root:admin1234@$(cat forgejo-ip):3000
token=$(cat forgejo-token)
2023-10-04 12:11:42 -04:00
echo "============================ demo ==================="
forgejo-test-helper.sh run_workflow testdata/demo $url root demo setup-forgejo $token
2023-12-02 15:37:56 -05:00
echo "============================ IPv6 ==================="
forgejo-test-helper.sh run_workflow testdata/ipv6 $url root ipv6 setup-forgejo $token
binary:
runs-on: self-hosted
strategy:
matrix:
- binary: https://codeberg.org/forgejo/forgejo/releases/download/v1.21.2-1/forgejo-1.21.2-1-linux-amd64
steps:
- uses: actions/checkout@v4
- shell: bash
run: |
set -x
export DIR=$(mktemp -d)
export PATH=$(pwd):$PATH
LXC_IP_PREFIX=10.0.10 forgejo-dependencies.sh
forgejo-binary.sh ensure_user forgejo
chown forgejo $DIR /usr/local/bin
su -c "DIR=$DIR bash -x forgejo-binary.sh setup root admin1234 ${{ matrix.binary }}" forgejo
su -c "DIR=$DIR bash -x forgejo-runner.sh setup" forgejo
export FORGEJO_RUNNER_LOGS=$DIR/forgejo-runner.log
url=$(cat $DIR/forgejo-auth-url)
token=$(cat $DIR/forgejo-token)
echo "============================ demo ==================="
FORGEJO_RUNNER_DIR=$DIR forgejo-test-helper.sh run_workflow testdata/demo $url root demo setup-forgejo $token
su -c "DIR=$DIR forgejo-binary.sh teardown" forgejo
echo "============================ verify zip downloading ==================="
export DEBIAN_FRONTEND=noninteractive
apt -q install -qq -y zip
mv $DIR/forgejo /tmp/forgejo
( cd /tmp ; zip forgejo.zip forgejo )
forgejo-binary.sh download file:///tmp/forgejo.zip
cmp --quiet /tmp/forgejo $DIR/forgejo