mirror of
https://code.forgejo.org/actions/cascading-pr
synced 2025-03-15 06:46:59 +01:00
run.sh also runs in the CI
This commit is contained in:
parent
84c728fdc5
commit
63ccad04bc
2 changed files with 20 additions and 6 deletions
|
@ -9,11 +9,16 @@ The test environment consists of the following
|
||||||
* The repository user1/originrepo
|
* The repository user1/originrepo
|
||||||
* contains a pull_request workflow using cascading-pr that targets user2/destinationrepo
|
* contains a pull_request workflow using cascading-pr that targets user2/destinationrepo
|
||||||
* contains a script that will modify user2/destinationrepo
|
* contains a script that will modify user2/destinationrepo
|
||||||
* a PR from branch1 to main
|
* a branch1 at the same commit as main
|
||||||
* The repository user1/cascading-pr with the action under test
|
* The repository user1/cascading-pr with the action under test
|
||||||
* An unprivileged user user2
|
* An unprivileged user user2
|
||||||
* The repository user2/destinationrepo
|
* The repository user2/destinationrepo
|
||||||
|
|
||||||
|
The test for a successful run of the cascading-pr action consists of:
|
||||||
|
|
||||||
|
* creating a PR from branch1 to main
|
||||||
|
* wait for the commit status until it is successful
|
||||||
|
|
||||||
## testing an update on the action
|
## testing an update on the action
|
||||||
|
|
||||||
* run `tests/run.sh --debug` once so all is in place
|
* run `tests/run.sh --debug` once so all is in place
|
||||||
|
|
19
tests/run.sh
19
tests/run.sh
|
@ -67,6 +67,17 @@ function create_pull_request() {
|
||||||
forgejo-curl.sh api_json --data-raw '{"title":"PR","base":"main","head":"branch1"}' ${options[url]}/api/v1/repos/user1/originrepo/pulls
|
forgejo-curl.sh api_json --data-raw '{"title":"PR","base":"main","head":"branch1"}' ${options[url]}/api/v1/repos/user1/originrepo/pulls
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function finalize_options() {
|
||||||
|
if test -f forgejo-ip; then
|
||||||
|
: ${options[host_port]:=$(cat forgejo-ip):3000}
|
||||||
|
fi
|
||||||
|
options[url]=http://${options[host_port]}
|
||||||
|
if test -f forgejo-token; then
|
||||||
|
: ${options[token]:=$(cat forgejo-token)}
|
||||||
|
fi
|
||||||
|
options[password]=admin1234
|
||||||
|
}
|
||||||
|
|
||||||
function run() {
|
function run() {
|
||||||
user_create user2 user2@example.com
|
user_create user2 user2@example.com
|
||||||
forgejo-test-helper.sh push tests/destinationrepo http://user2:admin1234@${options[host_port]} user2 destinationrepo
|
forgejo-test-helper.sh push tests/destinationrepo http://user2:admin1234@${options[host_port]} user2 destinationrepo
|
||||||
|
@ -76,19 +87,16 @@ function run() {
|
||||||
user_secret user1 ORIGIN_TOKEN $(user_token user1 ORIGIN_TOKEN)
|
user_secret user1 ORIGIN_TOKEN $(user_token user1 ORIGIN_TOKEN)
|
||||||
user_secret user1 DESTINATION_TOKEN $(user_token user2 DESTINATION_TOKEN)
|
user_secret user1 DESTINATION_TOKEN $(user_token user2 DESTINATION_TOKEN)
|
||||||
|
|
||||||
|
push_self
|
||||||
|
|
||||||
create_pull_request
|
create_pull_request
|
||||||
|
|
||||||
push_self
|
|
||||||
|
|
||||||
echo do something
|
echo do something
|
||||||
}
|
}
|
||||||
|
|
||||||
function main() {
|
function main() {
|
||||||
local command=run
|
local command=run
|
||||||
options[host_port]=$(cat forgejo-ip):3000
|
|
||||||
options[url]=http://${options[host_port]}
|
|
||||||
options[token]=$(cat forgejo-token)
|
|
||||||
options[password]=admin1234
|
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
@ -113,6 +121,7 @@ function main() {
|
||||||
options[token]=$1
|
options[token]=$1
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
finalize_options
|
||||||
"${1:-run}"
|
"${1:-run}"
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Add table
Reference in a new issue