78 lines
2.1 KiB
YAML
78 lines
2.1 KiB
YAML
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- 'main'
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: docker
|
|
container:
|
|
image: 'docker.io/node:20-bookworm'
|
|
steps:
|
|
- uses: https://code.forgejo.org/actions/checkout@v4
|
|
- uses: https://code.forgejo.org/actions/setup-go@v4
|
|
with:
|
|
go-version: "1.21"
|
|
- name: lib/build.sh
|
|
run: |
|
|
set -x
|
|
|
|
#
|
|
# SQLite needs gcc to be compiled
|
|
#
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
apt-get update -qq
|
|
apt-get -q install -y -qq build-essential
|
|
|
|
d=/tmp/forgejo-binaries
|
|
mkdir $d /tmp/forgejo-upload
|
|
|
|
for version in $(ls forgejo/sources) ; do
|
|
forgejo=$d/forgejo-$version-dev
|
|
lib/build.sh $version $d
|
|
$forgejo --version
|
|
mv $forgejo /tmp/forgejo-upload
|
|
done
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
name: forgejo-dev
|
|
path: /tmp/forgejo-upload
|
|
|
|
packages:
|
|
needs: [build]
|
|
runs-on: lxc-bookworm
|
|
steps:
|
|
- uses: https://code.forgejo.org/actions/checkout@v4
|
|
- uses: ./.forgejo/prepare-end-to-end
|
|
- run: su forgejo -c "./end-to-end.sh test_packages"
|
|
- name: full logs
|
|
if: always()
|
|
run: su forgejo -c "./end-to-end.sh show_logs"
|
|
|
|
upgrade:
|
|
name: upgrade and storage
|
|
needs: [build]
|
|
runs-on: lxc-bookworm
|
|
steps:
|
|
- name: cache S3 binaries
|
|
id: S3
|
|
uses: https://code.forgejo.org/actions/cache@v3
|
|
with:
|
|
path: |
|
|
/usr/local/bin/minio
|
|
/usr/local/bin/mc
|
|
/usr/local/bin/garage
|
|
key: S3
|
|
|
|
- name: skip if S3 cache hit
|
|
if: steps.S3.outputs.cache-hit != 'true'
|
|
run: echo no hit
|
|
|
|
- uses: https://code.forgejo.org/actions/checkout@v4
|
|
- uses: ./.forgejo/prepare-end-to-end
|
|
- run: su forgejo -c "./end-to-end.sh test_upgrades"
|
|
- run: su forgejo -c "./end-to-end.sh test_storage"
|
|
- name: full logs
|
|
if: always()
|
|
run: su forgejo -c "./end-to-end.sh show_logs"
|