diff options
| -rw-r--r-- | .github/workflows/release.yaml | 32 | ||||
| -rw-r--r-- | .goreleaser.yaml | 100 | ||||
| -rw-r--r-- | docs/getting-started/installation.md | 2 | ||||
| -rw-r--r-- | docs/readme.md | 16 |
4 files changed, 125 insertions, 25 deletions
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 3b95fba..19b0e7c 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,6 +8,11 @@ on: permissions: contents: write +env: + GO_VERSION: '1.21.4' + PKG_NAME: 'github.com/philippta/flyscrape' + DOCKER_IMG: ghcr.io/goreleaser/goreleaser-cross + jobs: release: name: Release @@ -17,16 +22,19 @@ jobs: with: fetch-depth: 0 - - run: git fetch --force --tags - - - uses: actions/setup-go@v4 - with: - go-version: "1.21.3" + - name: Fetch Git tags + run: git fetch --force --tags - - uses: goreleaser/goreleaser-action@v5 - with: - distribution: goreleaser - version: latest - args: release --clean - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Build and Release + run: | + docker run \ + --rm \ + --privileged \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v $(pwd)/sysroot:/sysroot \ + -v $(pwd):/go/src/${PKG_NAME} \ + -w /go/src/${PKG_NAME} \ + -e CGO_ENABLED=1 \ + -e GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} \ + ghcr.io/goreleaser/goreleaser-cross:v${GO_VERSION} \ + release --clean diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 6556f68..0f7bc18 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -1,24 +1,116 @@ before: hooks: - go mod tidy + - go test ./... builds: - - main: ./cmd/flyscrape + # Linux amd64 + - id: linux-amd64 + main: ./cmd/flyscrape env: - - CGO_ENABLED=0 + - CGO_ENABLED=1 + - CC=x86_64-linux-gnu-gcc + - CXX=x86_64-linux-gnu-g++ + ldflags: + - -s -w + flags: + - -mod=readonly + tags: + - osusergo + - netgo + - sqlite_omit_load_extension goos: - linux - - windows + goarch: + - amd64 + + # Linux arm64 + - id: linux-arm64 + main: ./cmd/flyscrape + env: + - CGO_ENABLED=1 + - CC=aarch64-linux-gnu-gcc + - CXX=aarch64-linux-gnu-g++ + ldflags: + - -s -w + flags: + - -mod=readonly + tags: + - osusergo + - netgo + - sqlite_omit_load_extension + goos: + - linux + goarch: + - arm64 + goarm: + - 7 + + # MacOS amd64 + - id: macos-amd64 + main: ./cmd/flyscrape + env: + - CGO_ENABLED=1 + - CC=o64-clang + - CXX=o64-clang++ + ldflags: + - -s -w + flags: + - -mod=readonly + tags: + - osusergo + - netgo + - sqlite_omit_load_extension + goos: - darwin goarch: - amd64 + + # MacOS arm64 + - id: macos-arm64 + main: ./cmd/flyscrape + env: + - CGO_ENABLED=1 + - CC=oa64-clang + - CXX=oa64-clang++ + ldflags: + - -s -w + flags: + - -mod=readonly + tags: + - osusergo + - netgo + - sqlite_omit_load_extension + goos: + - darwin + goarch: - arm64 + # Window amd64 + - id: windows-amd64 + main: ./cmd/flyscrape + env: + - CGO_ENABLED=1 + - CC=x86_64-w64-mingw32-gcc + - CXX=x86_64-w64-mingw32-g++ + ldflags: + - -s -w + flags: + - -mod=readonly + tags: + - osusergo + - netgo + - sqlite_omit_load_extension + goos: + - windows + goarch: + - amd64 + archives: - format: tar.gz name_template: >- {{ .ProjectName }}_ - {{- if eq .Os "darwin" }}mac{{else}}{{ .Os }}{{ end }}_ + {{- if eq .Os "darwin" }}macos{{else}}{{ .Os }}{{ end }}_ {{- .Arch }} format_overrides: - goos: windows diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 2d14b7d..d10e99c 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -30,7 +30,7 @@ Once you have Go installed, you can proceed with installing flyscrape. Follow th If the installation was successful, this command will display the help text of flyscrape. -## Updating flyscrape abc +## Updating flyscrape To keep your flyscrape installation up to date, you can use the following command: diff --git a/docs/readme.md b/docs/readme.md index cb9eb5b..507ff8a 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -12,11 +12,11 @@ - [Start Scraping](using-flyscrape/start-scraping.md) #### Configuration -- [Starting URL](config/starting-url.md) -- [Depth](config/depth.md) -- [Link Following](config/link-following.md) -- [Domain Filter](config/domain-filter.md) -- [URL Filter](config/url-filter.md) -- [Rate Limiting](config/rate-limiting.md) -- [Caching](config/caching.md) -- [Proxies](config/proxies.md) +- [Starting URL](configuration/starting-url.md) +- [Depth](configuration/depth.md) +- [Link Following](configuration/link-following.md) +- [Domain Filter](configuration/domain-filter.md) +- [URL Filter](configuration/url-filter.md) +- [Rate Limiting](configuration/rate-limiting.md) +- [Caching](configuration/caching.md) +- [Proxies](configuration/proxies.md) |