setup-forgejo/.forgejo/workflows/integration-scripts.yml
Michael Kriese 834d6ebe2a
ci: proper matrix job names (#310)
show better job names for easier targeting in branch protections

Reviewed-on: https://code.forgejo.org/actions/setup-forgejo/pulls/310
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Co-committed-by: Michael Kriese <michael.kriese@visualon.de>
2025-01-30 12:27:19 +00:00

75 lines
2.8 KiB
YAML

on:
push:
branches:
- 'main'
- 'v*'
pull_request:
jobs:
integration:
runs-on: lxc-bookworm
name: integration (${{ matrix.info.image }}:${{ matrix.info.version }})
strategy:
matrix:
info:
- version: "7.0"
image: codeberg.org/forgejo/forgejo
- version: "9.0"
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
name: binary (${{ matrix.binary.version }})
strategy:
matrix:
binary:
- version: 1.21.2-1
file: https://codeberg.org/forgejo/forgejo/releases/download/v1.21.2-1/forgejo-1.21.2-1-linux-amd64
- version: 1.20.6-1
file: 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.file }}" 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