summaryrefslogtreecommitdiffstats
path: root/.forgejo
diff options
context:
space:
mode:
Diffstat (limited to '.forgejo')
-rwxr-xr-x.forgejo/cascading-pr-runner18
-rw-r--r--.forgejo/workflows/cascade-runner.yml30
-rw-r--r--.forgejo/workflows/test.yml48
3 files changed, 96 insertions, 0 deletions
diff --git a/.forgejo/cascading-pr-runner b/.forgejo/cascading-pr-runner
new file mode 100755
index 0000000..bcb29c6
--- /dev/null
+++ b/.forgejo/cascading-pr-runner
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+set -ex
+
+runner=$1
+runner_pr=$2
+act=$3
+act_pr=$4
+
+url=$(jq --raw-output .head.repo.html_url < $act_pr)
+test "$url" != null
+url=${url##http*://}
+branch=$(jq --raw-output .head.ref < $act_pr)
+test "$branch" != null
+cd $runner
+sed -i -e "s|^replace github.com/nektos/act.*|replace github.com/nektos/act => $url $branch|" go.mod
+GOPROXY=direct go mod tidy
+date > last-upgrade
diff --git a/.forgejo/workflows/cascade-runner.yml b/.forgejo/workflows/cascade-runner.yml
new file mode 100644
index 0000000..6ee43ca
--- /dev/null
+++ b/.forgejo/workflows/cascade-runner.yml
@@ -0,0 +1,30 @@
+# SPDX-License-Identifier: MIT
+on:
+ pull_request_target:
+ types:
+ - opened
+ - synchronize
+ - closed
+jobs:
+ cascade:
+ runs-on: docker
+ if: vars.CASCADE != 'no'
+ container:
+ image: 'docker.io/node:20-bookworm'
+ steps:
+ - uses: https://code.forgejo.org/actions/setup-go@v4
+ with:
+ go-version: "1.21"
+ - uses: actions/cascading-pr@v1
+ with:
+ origin-url: ${{ env.GITHUB_SERVER_URL }}
+ origin-repo: forgejo/act
+ origin-token: ${{ secrets.CASCADING_PR_ORIGIN }}
+ origin-pr: ${{ github.event.pull_request.number }}
+ destination-url: ${{ env.GITHUB_SERVER_URL }}
+ destination-repo: forgejo/runner
+ destination-fork-repo: cascading-pr/runner
+ destination-branch: main
+ destination-token: ${{ secrets.CASCADING_PR_DESTINATION }}
+ close-merge: true
+ update: .forgejo/cascading-pr-runner
diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml
new file mode 100644
index 0000000..59516f3
--- /dev/null
+++ b/.forgejo/workflows/test.yml
@@ -0,0 +1,48 @@
+name: checks
+on:
+ push:
+ branches:
+ - 'main'
+ pull_request:
+
+env:
+ GOPROXY: https://goproxy.io,direct
+ GOPATH: /go_path
+ GOCACHE: /go_cache
+
+jobs:
+ lint:
+ name: check and test
+ runs-on: docker
+ steps:
+ - name: cache go path
+ id: cache-go-path
+ uses: https://github.com/actions/cache@v3
+ with:
+ path: /go_path
+ key: go_path-${{ github.repository }}-${{ github.ref_name }}
+ restore-keys: |
+ go_path-${{ github.repository }}-
+ go_path-
+ - name: cache go cache
+ id: cache-go-cache
+ uses: https://github.com/actions/cache@v3
+ with:
+ path: /go_cache
+ key: go_cache-${{ github.repository }}-${{ github.ref_name }}
+ restore-keys: |
+ go_cache-${{ github.repository }}-
+ go_cache-
+ - uses: actions/setup-go@v3
+ with:
+ go-version: 1.21
+ - uses: actions/checkout@v3
+ - name: vet checks
+ run: go vet -v ./...
+ - name: build
+ run: go build -v ./...
+ - name: build without docker
+ run: go build -tags WITHOUT_DOCKER -v ./...
+ - name: test
+ run: go test -v ./pkg/jobparser ./pkg/model
+ # TODO test more packages