mirror of
https://gitea.com/gitea/act_runner.git
synced 2026-04-25 21:30:23 +08:00
Merges the `gitea.com/gitea/act` fork into this repository as the `act/` directory and consumes it as a local package. The `replace github.com/nektos/act => gitea.com/gitea/act` directive is removed; act's dependencies are merged into the root `go.mod`. - Imports rewritten: `github.com/nektos/act/pkg/...` → `gitea.com/gitea/act_runner/act/...` (flattened — `pkg/` boundary dropped to match the layout forgejo-runner adopted). - Dropped act's CLI (`cmd/`, `main.go`) and all upstream project files; kept the library tree + `LICENSE`. - Added `// Copyright <year> The Gitea Authors ...` / `// Copyright <year> nektos` headers to 104 `.go` files. - Pre-existing act lint violations annotated inline with `//nolint:<linter> // pre-existing issue from nektos/act`. `.golangci.yml` is unchanged vs `main`. - Makefile test target: `-race -short` (matches forgejo-runner). - Pre-existing integration test failures fixed: race in parallel executor (atomic counters); TestSetupEnv / command_test / expression_test / run_context_test updated to match gitea fork runtime; TestJobExecutor and TestActionCache gated on `testing.Short()`. Full `gitea/act` commit history is reachable via the second parent. Co-Authored-By: Claude (Opus 4.7) <noreply@anthropic.com>
80 lines
2.5 KiB
YAML
80 lines
2.5 KiB
YAML
name: env-and-path
|
|
on: push
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: "Append to $GITHUB_PATH"
|
|
run: |
|
|
echo "$HOME/someFolder" >> $GITHUB_PATH
|
|
- name: "Append some more to $GITHUB_PATH"
|
|
run: |
|
|
echo "$HOME/someOtherFolder" >> $GITHUB_PATH
|
|
- name: "Check PATH"
|
|
run: |
|
|
echo "${PATH}"
|
|
if [[ ! "${PATH}" =~ .*"$HOME/"someOtherFolder.*"$HOME/"someFolder.* ]]; then
|
|
echo "${PATH} doesn't match .*someOtherFolder.*someFolder.*"
|
|
exit 1
|
|
fi
|
|
- name: "Prepend"
|
|
run: |
|
|
if ls | grep -q 'called ls' ; then
|
|
echo 'ls was overridden already?'
|
|
exit 2
|
|
fi
|
|
path_add=$(mktemp -d)
|
|
cat > $path_add/ls <<LS
|
|
#!/bin/sh
|
|
echo 'called ls'
|
|
LS
|
|
chmod +x $path_add/ls
|
|
echo $path_add >> $GITHUB_PATH
|
|
- name: "Verify prepend"
|
|
run: |
|
|
if ! ls | grep -q 'called ls' ; then
|
|
echo 'ls was not overridden'
|
|
exit 2
|
|
fi
|
|
- name: "Write single line env to $GITHUB_ENV"
|
|
run: |
|
|
echo "KEY=value" >> $GITHUB_ENV
|
|
- name: "Check single line env"
|
|
run: |
|
|
if [[ "${KEY}" != "value" ]]; then
|
|
echo "${KEY} doesn't == 'value'"
|
|
exit 1
|
|
fi
|
|
- name: "Write single line env with more than one 'equals' signs to $GITHUB_ENV"
|
|
run: |
|
|
echo "KEY=value=anothervalue" >> $GITHUB_ENV
|
|
- name: "Check single line env"
|
|
run: |
|
|
if [[ "${KEY}" != "value=anothervalue" ]]; then
|
|
echo "${KEY} doesn't == 'value=anothervalue'"
|
|
exit 1
|
|
fi
|
|
- name: "Write multiline env to $GITHUB_ENV"
|
|
run: |
|
|
echo 'KEY2<<EOF' >> $GITHUB_ENV
|
|
echo value2 >> $GITHUB_ENV
|
|
echo 'EOF' >> $GITHUB_ENV
|
|
- name: "Check multiline line env"
|
|
run: |
|
|
if [[ "${KEY2}" != "value2" ]]; then
|
|
echo "${KEY2} doesn't == 'value'"
|
|
exit 1
|
|
fi
|
|
- name: "Write multiline env with UUID to $GITHUB_ENV"
|
|
run: |
|
|
echo 'KEY3<<ghadelimiter_b8273c6d-d535-419a-a010-b0aaac240e36' >> $GITHUB_ENV
|
|
echo value3 >> $GITHUB_ENV
|
|
echo 'ghadelimiter_b8273c6d-d535-419a-a010-b0aaac240e36' >> $GITHUB_ENV
|
|
- name: "Check multiline env with UUID to $GITHUB_ENV"
|
|
run: |
|
|
if [[ "${KEY3}" != "value3" ]]; then
|
|
echo "${KEY3} doesn't == 'value3'"
|
|
exit 1
|
|
fi
|