diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml deleted file mode 100644 index 6973ddc..0000000 --- a/.gitea/workflows/test.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: checks -on: - - push - - pull_request - -env: - GOPROXY: https://goproxy.io,direct - GOPATH: /go_path - GOCACHE: /go_cache - -jobs: - lint: - name: check and test - runs-on: ubuntu-latest - 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.20 - - uses: actions/checkout@v3 - - name: vet checks - run: go vet -v ./... - - name: build - run: go build -v ./... - - name: test - run: go test -v ./pkg/jobparser - # TODO test more packages diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 83d46d9..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -github: cplee diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index b7ce83f..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,88 +0,0 @@ -name: Bug report -description: Use this template for reporting bugs/issues. -labels: - - 'kind/bug' -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to fill out this bug report! - - type: textarea - id: act-debug - attributes: - label: Bug report info - render: plain text - description: | - Output of `act --bug-report` - placeholder: | - act --bug-report - validations: - required: true - - type: textarea - id: act-command - attributes: - label: Command used with act - description: | - Please paste your whole command - placeholder: | - act -P ubuntu-latest=node:12 -v -d ... - render: sh - validations: - required: true - - type: textarea - id: what-happened - attributes: - label: Describe issue - description: | - Also tell us what did you expect to happen? - placeholder: | - Describe issue - validations: - required: true - - type: input - id: repo - attributes: - label: Link to GitHub repository - description: | - Provide link to GitHub repository, you can skip it if the repository is private or you don't have it on GitHub, otherwise please provide it as it might help us troubleshoot problem - placeholder: | - https://github.com/nektos/act - validations: - required: false - - type: textarea - id: workflow - attributes: - label: Workflow content - description: | - Please paste your **whole** workflow here - placeholder: | - name: My workflow - on: ['push', 'schedule'] - jobs: - test: - runs-on: ubuntu-latest - env: - KEY: VAL - [...] - render: yml - validations: - required: true - - type: textarea - id: logs - attributes: - label: Relevant log output - description: | - Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. Please verify that the log output doesn't contain any sensitive data. - render: sh - placeholder: | - Use `act -v` for verbose output - validations: - required: true - - type: textarea - id: additional-info - attributes: - label: Additional information - placeholder: | - Additional information that doesn't fit elsewhere - validations: - required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 8a074fd..0000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,14 +0,0 @@ -blank_issues_enabled: true -contact_links: - - name: Start a discussion - url: https://github.com/nektos/act/discussions/new - about: You can ask for help here! - - name: Ask on Gitter - url: https://gitter.im/nektos/act - about: You can ask for help here! - - name: Ask on Gitter (via Matrix) - url: https://matrix.to/#/#nektos_act:gitter.im?via=gitter.im&via=matrix.org - about: If you prefer Matrix over Gitter - - name: Want to contribute to act? - url: https://github.com/nektos/act/blob/master/CONTRIBUTING.md - about: Be sure to read contributing guidelines! diff --git a/.github/ISSUE_TEMPLATE/feature_template.yml b/.github/ISSUE_TEMPLATE/feature_template.yml deleted file mode 100644 index 25ff56e..0000000 --- a/.github/ISSUE_TEMPLATE/feature_template.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Feature request -description: Use this template for requesting a feature/enhancement. -labels: - - 'kind/feature-request' -body: - - type: markdown - attributes: - value: | - Please note that incompatibility with GitHub Actions should be opened as a bug report, not a new feature. - - type: input - id: act-version - attributes: - label: Act version - description: | - What version of `act` are you using? Version can be obtained via `act --version` - If you've built it from source, please provide commit hash - placeholder: | - act --version - validations: - required: true - - type: textarea - id: feature - attributes: - label: Feature description - description: Describe feature that you would like to see - placeholder: ... - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/wiki_issue.yml b/.github/ISSUE_TEMPLATE/wiki_issue.yml deleted file mode 100644 index 673628d..0000000 --- a/.github/ISSUE_TEMPLATE/wiki_issue.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Wiki issue -description: Report issue/improvement ragarding documentation (wiki) -labels: - - 'kind/discussion' - - 'area/docs' -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to fill out this issue! - - type: textarea - id: details - attributes: - label: Details - description: | - Describe issue - validations: - required: true diff --git a/.github/actions/choco/Dockerfile b/.github/actions/choco/Dockerfile deleted file mode 100644 index aabcb3a..0000000 --- a/.github/actions/choco/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM alpine:3.17 - -ARG CHOCOVERSION=1.1.0 - -RUN apk add --no-cache bash ca-certificates git \ - && apk --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing add mono mono-dev \ - && cert-sync /etc/ssl/certs/ca-certificates.crt \ - && wget "https://github.com/chocolatey/choco/archive/${CHOCOVERSION}.tar.gz" -O- | tar -xzf - \ - && cd choco-"${CHOCOVERSION}" \ - && chmod +x build.sh zip.sh \ - && ./build.sh -v \ - && mv ./code_drop/chocolatey/console /opt/chocolatey \ - && mkdir -p /opt/chocolatey/lib \ - && rm -rf /choco-"${CHOCOVERSION}" \ - && apk del mono-dev \ - && rm -rf /var/cache/apk/* - -ENV ChocolateyInstall=/opt/chocolatey -COPY entrypoint.sh /entrypoint.sh -ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/actions/choco/action.yml b/.github/actions/choco/action.yml deleted file mode 100644 index 28756f9..0000000 --- a/.github/actions/choco/action.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: 'Chocolatey Packager' -description: 'Create the choco package and push it' -inputs: - version: - description: 'Version of package' - required: false - apiKey: - description: 'API Key for chocolately' - required: false - push: - description: 'Option for if package is going to be pushed' - required: false - default: 'false' -runs: - using: 'docker' - image: 'Dockerfile' diff --git a/.github/actions/choco/entrypoint.sh b/.github/actions/choco/entrypoint.sh deleted file mode 100755 index 58a518b..0000000 --- a/.github/actions/choco/entrypoint.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -set -e - -function choco { - mono /opt/chocolatey/choco.exe "$@" --allow-unofficial --nocolor -} - -function get_version { - local version=${INPUT_VERSION:-$(git describe --tags)} - version=(${version//[!0-9.-]/}) - local version_parts=(${version//-/ }) - version=${version_parts[0]} - if [ ${#version_parts[@]} -gt 1 ]; then - version=${version_parts}.${version_parts[1]} - fi - echo "$version" -} - -## Determine the version to pack -VERSION=$(get_version) -echo "Packing version ${VERSION} of act" -rm -f act-cli.*.nupkg -mkdir -p tools -cp LICENSE tools/LICENSE.txt -cp VERIFICATION tools/VERIFICATION.txt -cp dist/act_windows_amd64_v1/act.exe tools/ -choco pack act-cli.nuspec --version ${VERSION} -if [[ "$INPUT_PUSH" == "true" ]]; then - choco push act-cli.${VERSION}.nupkg --api-key ${INPUT_APIKEY} -s https://push.chocolatey.org/ --timeout 180 -fi diff --git a/.github/actions/run-tests/action.yml b/.github/actions/run-tests/action.yml deleted file mode 100644 index f548c0a..0000000 --- a/.github/actions/run-tests/action.yml +++ /dev/null @@ -1,77 +0,0 @@ -name: 'run-tests' -description: 'Runs go test and upload a step summary' -inputs: - filter: - description: 'The go test pattern for the tests to run' - required: false - default: '' - upload-logs-name: - description: 'Choose the name of the log artifact' - required: false - default: logs-${{ github.job }}-${{ strategy.job-index }} - upload-logs: - description: 'If true uploads logs of each tests as an artifact' - required: false - default: 'true' -runs: - using: composite - steps: - - uses: actions/github-script@v6 - with: - github-token: none # No reason to grant access to the GITHUB_TOKEN - script: | - let myOutput = ''; - var fs = require('fs'); - var uploadLogs = process.env.UPLOAD_LOGS === 'true'; - if(uploadLogs) { - await io.mkdirP('logs'); - } - var filename = null; - const options = {}; - options.ignoreReturnCode = true; - options.env = Object.assign({}, process.env); - delete options.env.ACTIONS_RUNTIME_URL; - delete options.env.ACTIONS_RUNTIME_TOKEN; - delete options.env.ACTIONS_CACHE_URL; - options.listeners = { - stdout: (data) => { - for(line of data.toString().split('\n')) { - if(/^\s*(===\s[^\s]+\s|---\s[^\s]+:\s)/.test(line)) { - if(uploadLogs) { - var runprefix = "=== RUN "; - if(line.startsWith(runprefix)) { - filename = "logs/" + line.substring(runprefix.length).replace(/[^A-Za-z0-9]/g, '-') + ".txt"; - fs.writeFileSync(filename, line + "\n"); - } else if(filename) { - fs.appendFileSync(filename, line + "\n"); - filename = null; - } - } - myOutput += line + "\n"; - } else if(filename) { - fs.appendFileSync(filename, line + "\n"); - } - } - } - }; - var args = ['test', '-v', '-cover', '-coverprofile=coverage.txt', '-covermode=atomic', '-timeout', '20m']; - var filter = process.env.FILTER; - if(filter) { - args.push('-run'); - args.push(filter); - } - args.push('./...'); - var exitcode = await exec.exec('go', args, options); - if(process.env.GITHUB_STEP_SUMMARY) { - core.summary.addCodeBlock(myOutput); - await core.summary.write(); - } - process.exit(exitcode); - env: - FILTER: ${{ inputs.filter }} - UPLOAD_LOGS: ${{ inputs.upload-logs }} - - uses: actions/upload-artifact@v3 - if: always() && inputs.upload-logs == 'true' && !env.ACT - with: - name: ${{ inputs.upload-logs-name }} - path: logs diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index c15de11..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,15 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: 'github-actions' - directory: '/' - schedule: - interval: 'weekly' - - package-ecosystem: 'gomod' - directory: '/' - schedule: - interval: 'weekly' diff --git a/.github/workflows/.gitignore b/.github/workflows/.gitignore deleted file mode 100644 index d145310..0000000 --- a/.github/workflows/.gitignore +++ /dev/null @@ -1 +0,0 @@ -test-*.yml diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml deleted file mode 100644 index 0a8c034..0000000 --- a/.github/workflows/checks.yml +++ /dev/null @@ -1,181 +0,0 @@ -name: checks -on: [pull_request, workflow_dispatch] - -concurrency: - cancel-in-progress: true - group: ${{ github.workflow }}-${{ github.ref }} - -env: - ACT_OWNER: ${{ github.repository_owner }} - ACT_REPOSITORY: ${{ github.repository }} - CGO_ENABLED: 0 - -jobs: - lint: - name: lint - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - uses: golangci/golangci-lint-action@v3.7.0 - with: - version: v1.53 - only-new-issues: true - - uses: megalinter/megalinter/flavors/go@v7.8.0 - env: - DEFAULT_BRANCH: master - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - VALIDATE_ALL_CODEBASE: false - GITHUB_STATUS_REPORTER: ${{ !env.ACT }} - GITHUB_COMMENT_REPORTER: ${{ !env.ACT }} - - test-linux: - name: test-linux - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 2 - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - uses: actions/cache@v3 - if: ${{ !env.ACT }} - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-go- - - name: Run Tests - uses: ./.github/actions/run-tests - with: - upload-logs-name: logs-linux - - name: Run act from cli - run: go run main.go -P ubuntu-latest=node:16-buster-slim -C ./pkg/runner/testdata/ -W ./basic/push.yml - - name: Upload Codecov report - uses: codecov/codecov-action@v3.1.5 - with: - files: coverage.txt - fail_ci_if_error: true # optional (default = false) - - test-host: - strategy: - matrix: - os: - - windows-latest - - macos-latest - name: test-${{matrix.os}} - runs-on: ${{matrix.os}} - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 2 - - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - name: Run Tests - uses: ./.github/actions/run-tests - with: - filter: '^TestRunEventHostEnvironment$' - upload-logs-name: logs-${{ matrix.os }} - - snapshot: - name: snapshot - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - uses: actions/cache@v3 - if: ${{ !env.ACT }} - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-go- - - name: GoReleaser - uses: goreleaser/goreleaser-action@v5 - with: - version: latest - args: release --snapshot --clean - - name: Capture x86_64 (64-bit) Linux binary - if: ${{ !env.ACT }} - uses: actions/upload-artifact@v4 - with: - name: act-linux-amd64 - path: dist/act_linux_amd64_v1/act - - name: Capture i386 (32-bit) Linux binary - if: ${{ !env.ACT }} - uses: actions/upload-artifact@v4 - with: - name: act-linux-i386 - path: dist/act_linux_386/act - - name: Capture arm64 (64-bit) Linux binary - if: ${{ !env.ACT }} - uses: actions/upload-artifact@v4 - with: - name: act-linux-arm64 - path: dist/act_linux_arm64/act - - name: Capture armv6 (32-bit) Linux binary - if: ${{ !env.ACT }} - uses: actions/upload-artifact@v4 - with: - name: act-linux-armv6 - path: dist/act_linux_arm_6/act - - name: Capture armv7 (32-bit) Linux binary - if: ${{ !env.ACT }} - uses: actions/upload-artifact@v4 - with: - name: act-linux-armv7 - path: dist/act_linux_arm_7/act - - name: Capture x86_64 (64-bit) Windows binary - if: ${{ !env.ACT }} - uses: actions/upload-artifact@v4 - with: - name: act-windows-amd64 - path: dist/act_windows_amd64_v1/act.exe - - name: Capture i386 (32-bit) Windows binary - if: ${{ !env.ACT }} - uses: actions/upload-artifact@v4 - with: - name: act-windows-i386 - path: dist/act_windows_386/act.exe - - name: Capture arm64 (64-bit) Windows binary - if: ${{ !env.ACT }} - uses: actions/upload-artifact@v4 - with: - name: act-windows-arm64 - path: dist/act_windows_arm64/act.exe - - name: Capture armv7 (32-bit) Windows binary - if: ${{ !env.ACT }} - uses: actions/upload-artifact@v4 - with: - name: act-windows-armv7 - path: dist/act_windows_arm_7/act.exe - - name: Capture x86_64 (64-bit) MacOS binary - if: ${{ !env.ACT }} - uses: actions/upload-artifact@v4 - with: - name: act-macos-amd64 - path: dist/act_darwin_amd64_v1/act - - name: Capture arm64 (64-bit) MacOS binary - if: ${{ !env.ACT }} - uses: actions/upload-artifact@v4 - with: - name: act-macos-arm64 - path: dist/act_darwin_arm64/act - - name: Chocolatey - uses: ./.github/actions/choco - with: - version: v0.0.0-pr diff --git a/.github/workflows/promote.yml b/.github/workflows/promote.yml deleted file mode 100644 index 536afe8..0000000 --- a/.github/workflows/promote.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: promote -on: - schedule: - - cron: '0 2 1 * *' - workflow_dispatch: {} - -jobs: - release: - name: promote - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - ref: master - token: ${{ secrets.GORELEASER_GITHUB_TOKEN }} - - uses: fregante/setup-git-user@v2 - - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - uses: actions/cache@v3 - if: ${{ !env.ACT }} - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-go- - - run: make promote diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index afdf3f5..0000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: release -on: - push: - tags: - - v* - -jobs: - release: - name: release - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - uses: actions/cache@v3 - if: ${{ !env.ACT }} - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-go- - - name: GoReleaser - uses: goreleaser/goreleaser-action@v5 - with: - version: latest - args: release --clean - env: - GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }} - - name: Winget - uses: vedantmgoyal2009/winget-releaser@v2 - with: - identifier: nektos.act - installers-regex: '_Windows_\w+\.zip$' - token: ${{ secrets.WINGET_TOKEN }} - - name: Chocolatey - uses: ./.github/actions/choco - with: - version: ${{ github.ref }} - apiKey: ${{ secrets.CHOCO_APIKEY }} - push: true - - name: GitHub CLI extension - uses: actions/github-script@v7 - with: - github-token: ${{ secrets.GORELEASER_GITHUB_TOKEN }} - script: | - const mainRef = (await github.rest.git.getRef({ - owner: 'nektos', - repo: 'gh-act', - ref: 'heads/main', - })).data; - console.log(mainRef); - github.rest.git.createRef({ - owner: 'nektos', - repo: 'gh-act', - ref: context.ref, - sha: mainRef.object.sha, - }); diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index 87948a2..0000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: 'Close stale issues' -on: - schedule: - - cron: '0 0 * * *' - -jobs: - stale: - name: Stale - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v9 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - stale-issue-message: 'Issue is stale and will be closed in 14 days unless there is new activity' - stale-pr-message: 'PR is stale and will be closed in 14 days unless there is new activity' - stale-issue-label: 'stale' - exempt-issue-labels: 'stale-exempt,kind/feature-request' - stale-pr-label: 'stale' - exempt-pr-labels: 'stale-exempt' - remove-stale-when-updated: 'True' - operations-per-run: 500 - days-before-stale: 180 - days-before-close: 14