setup-forgejo/.forgejo/workflows/integration-scripts.yml
2024-12-06 17:11:41 +00:00

70 lines
2.6 KiB
YAML

on:
push:
branches:
- 'main'
- 'v*'
pull_request:
jobs:
integration:
runs-on: lxc-bookworm
strategy:
matrix:
info:
- version: "1.21"
image: codeberg.org/forgejo/forgejo
- version: "1.20"
image: codeberg.org/forgejo/forgejo
steps:
- uses: actions/checkout@v4
- shell: bash
run: |
LXC_IP_PREFIX=10.0.10 ./forgejo-dependencies.sh
export PATH=$(pwd):$PATH
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)
echo "============================ demo ==================="
forgejo-test-helper.sh run_workflow testdata/demo $url root demo setup-forgejo $token
echo "============================ IPv6 ==================="
forgejo-test-helper.sh run_workflow testdata/ipv6 $url root ipv6 setup-forgejo $token
binary:
runs-on: lxc-bookworm
strategy:
matrix:
- binary: https://codeberg.org/forgejo/forgejo/releases/download/v1.21.2-1/forgejo-1.21.2-1-linux-amd64
- binary: https://codeberg.org/forgejo/forgejo/releases/download/v1.20.6-1/forgejo-1.20.6-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
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